원고에서 가장 위험한 그림은 세 번 수정하기 전에 손으로 만든 그림입니다. 분석은 바뀌었는데 PNG가 그대로라면 논문은 조용히 거짓말을 합니다. 해결책은 원고에 코드를 넣고, 컴파일할 때마다 데이터로 플롯을 다시 생성하게 하는 것입니다. 실행은 Quarto가, 지휘는 Folio Writer가 맡습니다.
Folio Writer 문서 어디에서든 이미지를 붙여 넣는 대신 실행 가능한 셀을 쓰세요.
```{python}
#| label: fig-eos
#| fig-cap: "Third-order Birch–Murnaghan fit to the P–V data."
import pandas as pd, matplotlib.pyplot as plt
d = pd.read_csv("Research/pv-data.csv")
plt.plot(d.V, d.P, "o"); plt.plot(d.V, fit(d.V))
plt.xlabel("V (ų)"); plt.ylabel("P (GPa)")
```
렌더러 = Quarto로 컴파일하면 셀이 실행됩니다. CSV를 읽고, 피팅 곡선을 그리고, 완성된 그림이 PDF에(또는 Word 파일이나 HTML에) 들어갑니다. 다른 그림과 똑같이 번호와 캡션이 붙고, @fig-eos로 참조됩니다. R도 똑같이 작동합니다.
```{r}
#| label: fig-spectra
#| fig-cap: "Raman spectra by pressure step."
library(ggplot2)
ggplot(read.csv("Research/spectra.csv"),
aes(shift, intensity, color = factor(P))) + geom_line()
```
데이터 파일을 업데이트하고 다시 컴파일하면 모든 그림이 최신 상태가 됩니다. 내보내기 단계도, “그림 3은 어느 스크립트로 만들었지?”도, 낡은 플롯도 없습니다. 원고가 곧 파이프라인입니다.
brew install quarto), 샌드박스 안의 App Store 앱이 로컬 도구 체인을 실행할 수 있게 해 주는 무료 Folio Helper도 설치하세요.pip install jupyter matplotlib pandas). Folio는 Quarto가 Jupyter를 쓸 수 있는 인터프리터를 자동으로 가리키게 하므로, 셀은 PATH에서 우연히 맨 앞에 있는 python3가 아니라 실제로 셀을 실행할 수 있는 Python에서 실행됩니다.knitr와 rmarkdown을 설치하세요.Quarto 셀 옵션은 #| 주석 줄로 함께 씁니다. 다섯 가지면 원고에 필요한 거의 모든 것을 다룹니다.
```{python}
#| label: fig-eos # cite it as @fig-eos
#| fig-cap: "Compression curve with third-order fit."
#| echo: false # figure in the paper, code not
#| fig-width: 6.5 # inches, match the journal column
#| warning: false # keep library chatter out of the PDF
...
```
원고 전체에서 코드가 절대 출력되지 않아야 한다면, 셀마다 설정하는 대신 메타데이터 문서에 한 번만 설정하세요.
execute: echo: false warning: false
#| cache: true를 추가하세요. Quarto는 셀의 코드가 바뀔 때만 다시 실행하므로, 문장만 고친 뒤 다시 컴파일해도 모델을 다시 피팅하지 않습니다.
거의 모든 경우가 세 가지 원인으로 설명됩니다. 잘못된 렌더러: 코드는 컴파일 시트의 렌더러가 Quarto일 때만 실행됩니다. pandoc이나 Typst에서는 셀이 문자 그대로의 코드 블록으로 통과합니다(의도된 동작입니다. 이 파이프라인들은 아무것도 실행하지 않습니다). 엔진 누락: 컴파일 ▸ 외부 도구 설정…에서 도구 체인을 확인하세요. Python 셀에는 인터프리터에 Jupyter가 있어야 하고(pip install
jupyter), R에는 knitr + rmarkdown이 필요합니다. 경로에 대한 가정: 셀은 프로젝트를 작업 디렉터리로 삼아 실행되므로, 다른 컴퓨터의 절대 경로가 아니라 Research/pv-data.csv처럼 데이터를 읽으세요. 경로를 프로젝트 기준 상대 경로로 유지하는 것은 공저자에게 원고의 재현성을 보장하는 방법이기도 합니다.
실행 가능한 셀과 일반 그림은 함께 쓸 수 있습니다. 사진이나 손으로 그린 도식은 평범한 Markdown 이미지로 남고, 데이터에서 나온 플롯은 셀이 됩니다. Folio의 원고 검사는 정적인 그림도 지켜보며, 그림을 그리는 스크립트보다 오래된 그림을 표시해 줍니다. 그래서 그림이 어떤 경로를 택하든 소리 없이 낡아 갈 수 없습니다.
Quarto 렌더러는 저널 형식을 구동하는 바로 그 렌더러이므로, 동적 그림은 출판사 템플릿에서도 작동합니다. 저널 확장(AGU, Elsevier, Copernicus…)을 추가하고 메타데이터에 quarto-to:를 설정하면, 컴파일된 제출본에는 실시간 분석으로 생성된 그림이 담깁니다. 프로젝트의 일반 파일만으로 누구든 명령 하나로 재현할 수 있습니다.