코드 셀: Observable JS

Observable JSMike Bostock(D3의 저자이기도 함)가 만든 순수 JavaScript 확장 집합입니다. Observable JS는 반응형 런타임으로 구분되며, 인터랙티브한 데이터 탐색과 분석에 במיוחד 적합합니다.

Quarto에서 Observable JS를 사용하는 방법은 Observable JS로 인터랙티브 문서 만들기 문서를 참고하세요.

개요

셀 옵션은 실행 가능한 코드 블록의 실행과 출력에 영향을 줍니다. 블록 상단의 주석에 지정합니다. 예:

```{ojs}
//| label: fig-polar
//| echo: false
//| fig-cap: "A line plot on a polar axis"
```

속성

label

코드 셀을 고유하게 식별하는 레이블입니다. 다른 코드가 해당 셀을 참조할 때 사용합니다(예: fig-samples, tbl-summary).

classes

셀 컨테이너에 적용할 클래스 목록입니다.

renderings

렌더링 이름 배열입니다(예: [light, dark]).

코드 출력

eval

코드 셀을 실행할지를 결정합니다(false이면 코드만 출력합니다).

  • true (기본값): 코드 셀을 실행합니다.
  • false: 코드 셀을 실행하지 않습니다.
  • [...]: 양수나 음수 숫자 리스트로 특정 표현식을 선택적으로 포함하거나 제외합니다. (표현식 선택/제외 기능은 knitr 엔진에서만 지원합니다)
echo

렌더링 결과에 셀 소스 코드를 포함할지를 지정합니다.

  • true (대부분 형식의 기본값): 소스 코드를 포함합니다.
  • false (beamer, revealjs, pptx 등의 프레젠테이션 형식 기본값): 소스 코드를 포함하지 않습니다.
  • fenced: 출력에 셀 구분자도 함께 포함합니다.
  • [...]: 양수 또는 음수 행 번호 리스트로 특정 행을 선택하거나 제외합니다. (행 선택/제외 기능은 knitr 엔진에서만 동작합니다)
code-fold

HTML <details> 태그로 코드를 접어 사용자가 필요할 때 펼칠 수 있도록 합니다.

  • true: 코드를 접습니다.
  • false (기본값): 코드를 접지 않습니다.
  • show: <details> 태그를 사용하되 초기에는 펼쳐진 상태로 표시합니다.
code-summary

code-fold로 접힌 코드 블록에 사용할 요약 텍스트입니다.

code-overflow

코드 줄이 컨테이너 너비를 벗어날 때 처리 방식을 지정합니다. 선택지는 다음과 같습니다:

  • scroll
  • wrap
code-line-numbers

코드 블록 출력에 행 번호를 포함할지를 정합니다(true 또는 false).

revealjs 출력에서는 문자열을 지정해 특정 행을 강조하거나 강조 집합 간에 애니메이션을 만들 수도 있습니다.

  • 쉼표로 행 집합을 구분합니다:
    • 3,4,5
    • 1,10,12
  • 대시와 쉼표를 조합해 범위를 표시할 수 있습니다:
    • 1-3,5
    • 5-10,12,14
  • 마지막으로 |로 애니메이션 단계를 구분합니다:
    • 1-3|1-3,5는 먼저 1-3, 다음에 1-3,5를 표시합니다.
    • |5|5-10,12는 처음에는 번호 없음, 다음에 5, 이어서 5-10과 12를 보여줍니다.
lst-label

코드 목록(리스팅)의 고유 레이블입니다(상호 참조용).

lst-cap

코드 목록 캡션입니다.

셀 출력

output

코드 실행 결과를 출력에 포함할지를 정합니다. 가능한 값은 다음과 같습니다:

  • true: 결과를 포함합니다.
  • false: 결과를 포함하지 않습니다.
  • asis: 출력 컨테이너 없이 원시 Markdown으로 처리합니다.
warning

렌더링 결과에 경고를 포함합니다.

error

출력에 오류를 포함합니다(이 옵션을 사용하면 코드 실행 중 오류가 발생해도 문서 처리가 중단되지 않습니다).

include

코드 또는 결과를 포함하여 어떤 출력도 렌더링 결과에 포함되지 않도록 합니다.

panel

셀 출력에 사용할 패널 유형입니다(tabset, input, sidebar, fill, center).

output-location

출력이 해당 코드를 기준으로 어디에 표시되는지를 뜻합니다. 가능한 값은 다음과 같습니다:

  • default: 코드 이후 일반 흐름
  • fragment: 프레젠테이션 조각(fragment) 안 (다음 진행 전까지 보이지 않음)
  • slide: 현재 슬라이드 뒤의 새 슬라이드에 나타남
  • column: 인접한 열에 나타남
  • column-fragment: 인접한 열에 있지만 다음 진행 전까지 보이지 않음

이 옵션은 revealjs 형식에서만 지원됩니다.

그림

fig-cap

그림 캡션입니다.

fig-subcap

그림 서브캡션입니다.

fig-link

그림의 하이퍼링크 대상입니다.

fig-align

그림의 수평 정렬을 지정합니다(default, left, right, center).

fig-alt

HTML 이미지 alt 속성에 들어갈 대체 텍스트입니다.

fig-env

그림 출력을 위한 LaTeX 환경을 지정합니다.

fig-pos

\begin{figure}[]에 사용할 LaTeX 위치 지정자입니다.

코드와 함께 출력되는 그림에는 기본값으로 fig-pos=\"H\"이 적용되어 코드와 그림이 지나치게 떨어지지 않도록 합니다.

fig-posfalse이면 위치 지정자를 사용하지 않으며, sidewaysfigure 같은 사용자 설정 환경과 함께 사용할 때 필요할 수 있습니다.

fig-scap

짧은 캡션으로 LaTeX의 \caption[]에 들어가며 보통 PDF의 그림 목록에 표시됩니다.

tbl-cap

표 캡션입니다.

tbl-subcap

표 서브캡션입니다.

html-table-processing

none을 지정하면 셀 출력에 있는 원시 HTML 테이블을 처리하지 않고 그대로 둡니다.

패널 레이아웃

layout

첫 번째 차원이 열을, 두 번째 차원이 행을 나타내는 너비의 2차원 배열입니다.

예를 들어 처음 두 출력 블록을 위에 나란히 배치하고 세 번째 블록을 아래쪽 전체 너비에 걸치게 하려면 [[3,3], [1]]을 사용하세요.

음수 값을 사용하면 여백을 만들 수 있습니다. 이전 예시의 상단 행 블록 사이에 공간을 두려면 [[3,-1, 3], [1]]을 사용하세요.

layout-ncol

출력 블록을 열 방향으로 배치합니다.

layout-nrow

출력 블록을 행 방향으로 배치합니다.

layout-align

레이아웃 콘텐츠의 수평 정렬(default, left, right, center)을 지정합니다.

layout-valign

레이아웃 콘텐츠의 수직 정렬(default, top, center, bottom)을 지정합니다.

페이지 열

column

출력에 사용할 페이지 열을 지정합니다.

fig-column

그림 출력에 사용할 페이지 열을 지정합니다.

tbl-column

표 출력에 사용할 페이지 열을 지정합니다.

cap-location

그림과 표의 캡션을 어디에 배치할지를 지정합니다(top, bottom, margin).

fig-cap-location

그림 캡션의 배치 위치를 지정합니다(top, bottom, margin).

tbl-cap-location

표 캡션의 배치 위치를 지정합니다(top, bottom, margin).