파이프 테이블 셀에는 문단, 목록 같은 블록 요소를 포함할 수 없으며, 여러 줄로 나뉠 수도 없습니다. 파이프 테이블에 columns 옵션으로 지정한 열 너비보다 긴 행이 있으면 표는 본문 폭 전체를 사용하고 셀 내용이 줄바꿈되며, 헤더와 본문을 구분하는 줄의 대시 개수 비율에 따라 상대적인 셀 너비가 결정됩니다.
예를 들어 ---|-는 첫 번째 열을 전체 폭의 3/4, 두 번째 열을 1/4로 만듭니다. 반면 모든 행이 열 너비보다 짧다면 셀 내용은 줄바꿈되지 않고 셀 크기는 내용에 맞춰집니다.
Bootstrap 클래스 사용
표 캡션 옆에 지정한 Bootstrap 표 클래스는 <table> 요소에 그대로 적용됩니다. 표 전체에 적용할 수 있는 클래스만 허용되며 다음과 같습니다. "primary", "secondary", "success", "danger", "warning", "info", "light", "dark", "striped", "hover", "active", "bordered", "borderless", "sm", "responsive", "responsive-sm", "responsive-md", "responsive-lg", "responsive-xl", "responsive-xxl".
다음 표는 행에 줄무늬를 적용하고 마우스를 올리면 강조되도록 렌더링됩니다.
| fruit | price ||--------|--------|| apple | 2.05 || pear | 1.37 || orange | 3.09 |: 과일 가격 {.striped .hover}
과일 가격
fruit
price
apple
2.05
pear
1.37
orange
3.09
작성 도구
셀 수가 적은 단순 표는 마크다운으로 직접 작성해도 간단합니다. 그러나 표가 커질수록 작성 도구를 사용하는 것이 좋습니다. 다음 도구를 참고하세요.
여러 개의 하위 표를 하나의 묶음으로 구성하려면, 기본 ID를 가진 div를 만들고 그 안에 있는 표마다 하위 ID(및 캡션)를 지정하세요. 예:
::: {#tbl-panel layout-ncol=2}| Col1 | Col2 | Col3 ||------|------|------|| A | B | C || E | F | G || A | G | G |: First Table {#tbl-first}| Col1 | Col2 | Col3 ||------|------|------|| A | B | C || E | F | G || A | G | G |: Second Table {#tbl-second}Main Caption:::See @tbl-panel for details, especially @tbl-second.
HTML 렌더링 결과:
표의 “Main Caption”은 div 안 마지막 블록으로 제공된다는 점을 기억하세요.
캡션 위치
기본적으로 표 캡션은 표 위에 표시됩니다. tbl-cap-location 옵션으로 위치를 바꿀 수 있습니다.
---tbl-cap-location: top---
여러 형식에서 공유할 수 있도록 최상위에서 지정했습니다. 특정 형식에만 적용하려면 해당 format 옵션 옆에 둘 수 있습니다.
Tables Generator의 Plain Text 모드(Use reStructuredText syntax 활성화)
HTML 표
Quarto는 htmlRawBlock 노드(예: {=html}) 내부의 HTML 표를 처리해 출력 형식과 관계없이 마크다운 표로 변환합니다. 즉, 문서에 HTML 표 구문을 사용해도 모든 형식에서 마크다운 표로 변환됩니다. 또한 HTML을 출력하는 계산형 표 라이브러리도 다른 형식에서 사용할 수 있습니다.
다음은 원시 HTML 블록 예시입니다.
```{=html}<table> <caption>위 섹션에서 설명했듯 Quarto 표는 매우 유용합니다.</caption> <thead> <tr> <th>Header 1</th> <th>Header 2</th> </tr> </thead> <tbody> <tr> <td><img src="https://upload.wikimedia.org/wikipedia/commons/thumb/3/37/African_Bush_Elephant.jpg/220px-African_Bush_Elephant.jpg" alt="African Bush Elephant" /></td> <td>일반 출력</td> </tr> </tbody></table>```
HTML과 PDF로 렌더링하면 다음과 같은 결과가 생성됩니다.
HTML 출력
위 섹션에서 설명했듯 Quarto 표는 매우 유용합니다.
Header 1
Header 2
일반 출력
PDF 출력
또한 Quarto는 표 안에 마크다운 콘텐츠를 포함하는 기능도 지원합니다. 이를 사용하려면 span 또는 div 노드에 qmd 혹은 qmd-base64 데이터 속성을 지정합니다. 이 노드는 헤더, 푸터, 셀, 캡션 등 해당 콘텐츠가 허용되는 어느 곳에나 사용할 수 있습니다.
예를 들어 다음 표에는 상호 참조, 마크다운 서식, 숏코드가 포함되어 있습니다.
## HTML 표 예제 {#sec-html-tables}```{=html}<table> <caption><span data-qmd="[섹션 -@sec-html-tables]에서 설명했듯 Quarto 표는 매우 유용합니다."></span></caption> <thead> <tr> <th><span data-qmd="_Header 1_"></span></th> <th><span data-qmd="_Header 2_"></span></th> </tr> </thead> <tbody> <tr> <td><span data-qmd="{{< video https://www.youtube.com/embed/wo9vZccmqwc >}}"></span></td> <td>일반 출력</td> </tr> </tbody></table>```
다만 마크다운에서는 그리드 표에 병합 셀을 그리기 어렵고, 파이프 테이블에서는 병합을 표현할 수 없습니다.
HTML에 익숙하거나 HTML을 생성하는 패키지를 사용한다면 colspan, rowspan 속성을 사용하는 것이 더 편리합니다.
I span two columns
C1
I span two rows
B2
C2
B3
C3
```{=html}<table><tr><td colspan="2">I span two columns</td><td>C1</td></tr><tr><td rowspan="2">I span two rows</td><td>B2</td><td>C2</td></tr><tr><td>B3</td><td>C3</td></tr></table>```
개별 셀 정렬
마크다운은 열 수준 정렬은 지원하지만 개별 셀 정렬은 지원하지 않습니다. text-align, vertical-align 같은 CSS 속성은 원시 HTML을 통해서만 사용할 수 있습니다(PDF/LaTeX, PPTX에서는 아직 지원되지 않고, DOCX는 text-align만 지원함).