부록 A: 문서 구성요소

노트부록 안내

이 부록에서는 쿼토 문서의 기본 구성요소들과 마크다운 문법을 참조용으로 정리했습니다. 문서 코드화 패러다임의 기초가 되는 내용들입니다.

마크다운 기본 문법

제목과 섹션

# 제목 1 (H1)
## 제목 2 (H2)
### 제목 3 (H3)
#### 제목 4 (H4)
##### 제목 5 (H5)
###### 제목 6 (H6)

텍스트 서식

**굵은 글씨** 또는 __굵은 글씨__
*기울임 글씨* 또는 _기울임 글씨_
***굵고 기울임*** 또는 ___굵고 기울림___
~~취소선~~
`인라인 코드`

> 인용문
> 여러 줄에 걸친
> 인용문

목록

순서 없는 목록

- 첫 번째 항목
- 두 번째 항목
  - 중첩된 항목
  - 또 다른 중첩 항목
- 세 번째 항목

순서 있는 목록

1. 첫 번째 항목
2. 두 번째 항목
   1. 중첩된 항목
   2. 또 다른 중첩 항목
3. 세 번째 항목

링크와 이미지

[링크 텍스트](https://example.com)
[참조 링크][ref-label]

![이미지 대체 텍스트](path/to/image.png)
![참조 이미지][img-ref]

[ref-label]: https://example.com
[img-ref]: path/to/image.png

| 열1    | 열2    | 열3    |
|--------|--------|--------|
| 내용1  | 내용2  | 내용3  |
| 내용4  | 내용5  | 내용6  |

정렬 지정:

| 왼쪽 정렬 | 가운데 정렬 | 오른쪽 정렬 |
|:----------|:----------:|------------:|
| 내용      |    내용    |        내용 |

쿼토 확장 문법

교차 참조

@fig-scatter 에서 보는 바와 같이...
@tbl-results 의 결과에 따르면...
@sec-methods 에서 설명한 방법론을...
@eq-regression 식을 사용하여...

콜아웃

::: {.callout-note}
참고 사항입니다.
:::

::: {.callout-tip title="팁"}
유용한 팁을 제공합니다.
:::

::: {.callout-warning}
## 주의사항
중요한 경고 내용입니다.
:::

::: {.callout-important}
## 중요
꼭 기억해야 할 내용입니다.
:::

::: {.callout-caution collapse="true"}
## 세부사항
접을 수 있는 콜아웃입니다.
:::

다이어그램

Mermaid

```{mermaid}
graph TD
    A[시작] --> B{조건}
    B -->|예| C[작업 A]
    B -->|아니오| D[작업 B]
    C --> E[종료]
    D --> E

#### DOT (Graphviz)

```markdown
```{dot}
digraph G {
    A -> B;
    B -> C;
    C -> A;
}

### 수식

#### 인라인 수식
```markdown
변수 $x$의 값은 $\alpha + \beta = \gamma$ 입니다.

블록 수식

$$
\hat{y} = \beta_0 + \beta_1 x_1 + \beta_2 x_2 + \epsilon
$$ {#eq-regression}

조건부 콘텐츠

::::: {.content-visible when-format="html"}
HTML 출력에서만 보이는 내용
:::::

::::: {.content-hidden when-format="pdf"}
PDF에서는 숨겨지는 내용
:::::

코드 청크 옵션

기본 옵션


::: {.cell}

```{.r .cell-code}
# R 코드
plot(cars)

:::


### 그림 옵션

```markdown

::: {.cell}

```{.r .cell-code}
plot(cars$speed, cars$dist,
     xlab = "속도", ylab = "제동거리",
     main = "자동차 제동 거리 분석")
그림 1: 속도와 제동 거리의 관계

:::


### 표 옵션

```markdown

::: {#tbl-summary .cell tbl-cap='기본 통계량'}

```{.r .cell-code}
library(knitr)
kable(summary(cars))

:::


## 멀티미디어 요소 {#sec-multimedia}

### 동영상

```markdown


오디오

{{< audio audio-file.mp3 >}}

PDF 임베딩

인터랙티브 요소

::: {.panel-tabset}

## 탭 1
첫 번째 탭의 내용입니다.

## 탭 2
두 번째 탭의 내용입니다.

## 탭 3
세 번째 탭의 내용입니다.

:::

접기/펼치기

<details>
<summary>클릭하여 펼치기</summary>

숨겨진 내용이 여기에 표시됩니다.
자세한 설명이나 부가 정보를 포함할 수 있습니다.

</details>

레이아웃

다단 레이아웃

:::: {.columns}

::: {.column width="40%"}
왼쪽 컬럼의 내용입니다.
:::

::: {.column width="60%"}
오른쪽 컬럼의 내용입니다.
더 넓은 공간을 차지합니다.
:::

::::

사이드바

::: {.column-margin}
여기는 여백 영역입니다.
주석이나 부가 설명을 넣을 수 있습니다.
:::

메타데이터와 YAML

기본 YAML 헤더

---
title: "문서 제목"
subtitle: "부제목"
author: 
  - name: "저자 이름"
    affiliation: "소속 기관"
    email: "author@example.com"
date: today
date-format: "YYYY년 MM월 DD일"
format: 
  html:
    theme: cosmo
    toc: true
    number-sections: true
  pdf:
    documentclass: article
    fontsize: 11pt
---

고급 메타데이터

---
title: "고급 문서 설정"
lang: ko-KR
bibliography: references.bib
csl: apa.csl
link-citations: true
crossref:
  fig-title: "그림"
  tbl-title: "표"
  eq-title: "식"
  sec-title: "절"
filters:
  - lightbox
  - include-code-files
lightbox: auto
code-annotations: hover
---

참고문헌

인용 방법

단일 저자: [@smith2020]
복수 저자: [@smith2020; @jones2021]  
페이지 포함: [@smith2020, pp. 15-20]
저자명 포함: @smith2020 은 다음과 같이 주장한다...
괄호 없이: -@smith2020 의 연구에 따르면...

BibTeX 예제

@article{smith2020,
  title = {Document as Code Paradigm},
  author = {Smith, John and Johnson, Alice},
  journal = {Journal of Digital Publishing},
  year = {2020},
  volume = {15},
  number = {3},
  pages = {123--145},
  doi = {10.1000/example}
}

최적화와 성능

캐싱


::: {.cell}

```{.r .cell-code}
# 시간이 오래 걸리는 계산
expensive_computation()

:::


### 조건부 실행

```markdown

::: {.cell}

```{.r .cell-code}
# 환경 변수가 설정된 경우에만 실행
full_analysis()

:::

```

이 부록의 내용들은 문서 코드화 패러다임의 핵심 구성요소들입니다. 필요할 때마다 참조하여 효율적인 문서 작성에 활용하세요.