๋œฏ์–ด๋จน๋Š” Quarto โ‘ YAML

YAML Ainโ€™t Markup Language
R Markdown
Quarto
YAML
Author

chichead

Published

January 8, 2023

Quarto ๋œฏ์–ด๋ณด๊ธฐ

์ฐจ์„ธ๋Œ€ ํฌ๋งท Qaurto

Two penguins looking happily up at a Quarto logo "meteor" that is flying overhead.

R & stats illustrations by @allison_horst

์ง€๋‚œ ๊ฒŒ์‹œ๋ฌผ์—์„  R Markdown์˜ ์ฐจ์„ธ๋Œ€ ํฌ๋งท, Quarto์˜ ๋“ฑ์žฅ ๋ฐฐ๊ฒฝ์— ๋Œ€ํ•ด ์‚ดํŽด๋ดค์Šต๋‹ˆ๋‹ค. Quarto๋ฅผ ํ•œ ๋ฌธ์žฅ์œผ๋กœ ์ •๋ฆฌํ•ด ๋ณด๋ฉด ์ด๋ ‡๊ฒŒ ์ด์•ผ๊ธฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Quarto๋Š” โ€œ๋งˆํฌ๋‹ค์šด ๋“ฑ ์ผ๋ฐ˜ ํ…์ŠคํŠธ ํ˜•์‹(.qmd, .rmd, .md)๊ณผ ํ˜ผํ•ฉ ํ˜•์‹(.ipynb, jupyter notebook)์„ pandoc๊ณผ knitr ํŒจํ‚ค์ง€๋ฅผ ํ†ตํ•ด PDF/Word/HTML/์ฑ…/์›น์‚ฌ์ดํŠธ/ํ”„๋ ˆ์  ํ…Œ์ด์…˜ ๋“ฑ ๋‹ค์–‘ํ•œ ํ˜•ํƒœ๋กœ ๋ Œ๋”๋ง ํ•˜๋Š” ๋ช…๋ น์ค„ ์ธํ„ฐํŽ˜์ด์Šค(CLI)๋‹คโ€๋ผ๊ณ ์š”.

R Studio๋‚˜ VS code ๊ฐ™์€ IDE๋กœ Quarto๋ฅผ ์ด์šฉํ•˜๋ฉด Quarto์˜ CLI์˜ ๋ชจ์Šต์„ ์—ฟ๋ณด๊ธฐ ์–ด๋ ต์ง€๋งŒ ๋ช…๋ น ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ด์šฉํ•˜๋ฉด ๋ฐ”๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜ ์ด๋ฏธ์ง€๋Š” iTerm์—์„œ quarto --help๋ผ๋Š” ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๋‚˜์˜ค๋Š” Quarto์˜ ๊ฐœ๊ด„์ž…๋‹ˆ๋‹ค.

quarto --help

  Usage:   quarto 
  Version: 1.2.313

  Description:

    Quarto CLI

  Options:

    -h, --help     - Show this help.                            
    -V, --version  - Show the version number for this program.  

  Commands:

    render          [input] [args...]     - Render files or projects to various document types.        
    preview         [file] [args...]      - Render and preview a document or website project.          
    serve           [input]               - Serve a Shiny interactive document.                        
    create          [type] [commands...]  - Create a Quarto project or extension                       
    create-project  [dir]                 - Create a project for rendering multiple documents          
    convert         <input>               - Convert documents to alternate representations.            
    pandoc          [args...]             - Run the version of Pandoc embedded within Quarto.          
    run             [script] [args...]    - Run a TypeScript, R, Python, or Lua script.                
    add             <extension>           - Add an extension to this folder or project                 
    install         [target...]           - Installs an extension or global dependency.                
    publish         [provider] [path]     - Publish a document or project. Available providers include:
    check           [target]              - Verify correct functioning of Quarto installation.         
    help            [command]             - Show this help or the help of a sub-command.               


Quarto์˜ ๊ตฌ์กฐ

Quarto๋ผ๋Š” ๋…€์„์ด CLI๋ผ๋Š” ๊ฑด ๊ทธ๋ ‡๊ฒŒ ์ค‘์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์™œ๋ƒ๋ฉด ์šฐ๋ฆฌ๊ฐ€ Quarto๋ฅผ ์ด์šฉํ•ด์„œ ์–ป๊ณ ์ž ํ•˜๋Š” ๊ฑด ๊ธ€์„ ์“ฐ๊ณ , ๋ธ”๋กœ๊ทธ๋ฅผ ์“ฐ๊ณ , ์ฑ…์„ ์ถœ๊ฐ„ํ•˜๊ณ , ๋ฐœํ‘œ์ž๋ฃŒ๋ฅผ ๋งŒ๋“ค๋ ค๊ณ  ํ•˜๋Š” ๊ฑฐ๋‹ˆ๊นŒ์š”. ๊ทธ๋Ÿฌ๋ ค๋ฉด ์šฐ์„  Quarto ๋ฌธ์„œ(.qmd)๋ฅผ ์ž‘์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ฒŒ์‹œ๋ฌผ์—์„  Quarto ๋ฌธ์„œ, ๊ทธ ์ž์ฒด์— ์ง‘์ค‘ํ•ด์„œ ์ด์•ผ๊ธฐ๋ฅผ ๋‚˜๋ˆ ๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋จผ์ € Quarto ๋ฌธ์„œ๊ฐ€ ์–ด๋–ป๊ฒŒ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋Š”์ง€ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. Quarto ๋ฌธ์„œ๋Š” ํฌ๊ฒŒ 3๊ฐ€์ง€ ์š”์†Œ๋กœ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Metadata: YAML header

  • Text: Markdown

  • Code: knitr or jupyter

์ด ์„ธ ๊ฐ€์ง€ ์š”์†Œ๋ฅผ ์ž˜ ๋ฒ„๋ฌด๋ ค์„œ Quarto ๋ฌธ์„œ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด ๋‹ค์–‘ํ•œ ํ˜•ํƒœ์˜ ์ฝ˜ํ…์ธ ๋ฅผ ์ œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ง€๊ธˆ ์ด ๊ฒŒ์‹œ๋ฌผ ์—ญ์‹œ Metadata์™€ Text, Code ์ด๋ ‡๊ฒŒ 3๊ฐ€์ง€ ์š”์†Œ๋กœ ๋งŒ๋“  qmd ํŒŒ์ผ์„ html๋กœ ๋ Œ๋”๋ง ํ•œ ๊ฑฐ์ฃ .


1. Metadata

๋จผ์ € Metadata๊ฐ€ ๋‹ด๊ฒจ์žˆ๋Š” YAML header์ž…๋‹ˆ๋‹ค. ์ง€๊ธˆ ์ด ๊ฒŒ์‹œ๊ธ€์˜ YAML header๋Š” ์š”๋Ÿฐ ๋ชจ์Šต์ž…๋‹ˆ๋‹ค.

---
title: '๋œฏ์–ด๋จน๋Š” Quarto โ‘ YAML'
date: '2023-01-08'
categories: ['R Markdown', 'Quarto', 'YAML']
description: "YAML Ain't Markup Language"
execute: 
  message: false
  warning: false
editor_options: 
  chunk_output_type: console
---

YAML header์˜ ๋‚ด์šฉ์„ ๋ณด๋ฉด ๊ฝค๋‚˜ ์ง๊ด€์ ์ž…๋‹ˆ๋‹ค. title์—๋Š” ๊ฒŒ์‹œ๋ฌผ ์ œ๋ชฉ์ด, date์—๋Š” ์ž‘์„ฑ ์‹œ์ ์ด, cateogories์—๋Š” ์ด ๊ฒŒ์‹œ๋ฌผ์˜ ์นดํ…Œ๊ณ ๋ฆฌ๊ฐ€ ํ‘œ์‹œ๋˜์–ด ์žˆ์ฃ . YAML header์—๋Š” ์ด ๋ฌธ์„œ์˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ํ‘œ์‹œํ•ด ์ค๋‹ˆ๋‹ค. ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋Š” ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ๋ฅผ ์„ค๋ช…ํ•ด ์ฃผ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋œปํ•ฉ๋‹ˆ๋‹ค. ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ์˜ ๋ฉ”ํƒ€(Meta)๋Š” about(~์— ๊ด€ํ•˜์—ฌ)๊ณผ ๊ฐ™์€ ์˜๋ฏธ๋ฅผ ๊ฐ–๊ณ  ์žˆ์ฃ . ์ด๋ก ์„ ๋Œ€์ƒ์œผ๋กœ ํ•˜๋Š” ์ด๋ก ์„ ๋œปํ•˜๋Š” ๋ฉ”ํƒ€์ด๋ก (metatheory), ์ˆ˜ํ•™์œผ๋กœ ์ˆ˜ํ•™ ์ž์ฒด๋ฅผ ์—ฐ๊ตฌํ•˜๋Š” ๋ฉ”ํƒ€์ˆ˜ํ•™(Metamathematics)์˜ ๋ฉ”ํƒ€์™€ ๊ฐ™์•„์š”.


2. Text

๋‘ ๋ฒˆ์งธ๋Š” ํ…์ŠคํŠธ ํ•ญ๋ชฉ์ž…๋‹ˆ๋‹ค.

## Quarto ๋œฏ์–ด๋ณด๊ธฐ

์ง€๋‚œ ๊ฒŒ์‹œ๋ฌผ์—์„  R Markdown์˜ ์ฐจ์„ธ๋Œ€ ํฌ๋งท, Quarto์˜ ๋“ฑ์žฅ ๋ฐฐ๊ฒฝ์— ๋Œ€ํ•ด ์‚ดํŽด๋ดค์Šต๋‹ˆ๋‹ค. 

Quarto์—์„œ๋Š” ๋งˆํฌ์—… ์–ธ์–ด์˜ ์ผ์ข…์ธ ๋งˆํฌ๋‹ค์šด(Markdown)์„ ์ด์šฉํ•ด ํ…์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. HTML ๋ฌธ์„œ๋ฅผ ๋ฌด์ž‘์ • ์ž‘์„ฑํ•˜๋ ค๊ณ  ํ•˜๋ฉด ์˜จ๊ฐ– ๋‹ค์–‘ํ•œ ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋Š”๋ฐ ๊ทธ๊ฑธ ์ผ์ผ์ด ์ž‘์„ฑํ•˜๊ธด ์–ด๋ ค์šฐ๋‹ˆ๊นŒ์š”. ๋งˆํฌ๋‹ค์šด(Markdown)์„ ์ด์šฉํ•˜๋ฉด ํ›จ์”ฌ ์“ฐ๊ธฐ ์‰ฝ๊ณ , ์ฝ๊ธฐ ์‰ฌ์šด ํ˜•ํƒœ์˜ ๋ฌธ์„œ๋ฅผ ์“ธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


3. Code

๋งˆ์ง€๋ง‰์€ ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค. R์„ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์€ knitr ์—”์ง„์„, python์„ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์€ jupyter ์—”์ง„์„ ํ™œ์šฉํ•ด ์ธ๋ผ์ธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ , ์‹œ๊ฐํ™”๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฐ ์‹์œผ๋กœ ๋ง์ด์ฃ .

library(ggplot2)
ggplot(airquality, aes(Temp, Ozone)) + 
  geom_point() + 
  geom_smooth(method = "loess")


About YAML

YAML Ainโ€™t Markup Language

์„ธ ์š”์†Œ ์ค‘์—์„œ๋„ YAML์— ๋Œ€ํ•ด์„œ ์กฐ๊ธˆ ๋” ์ด์•ผ๊ธฐ๋ฅผ ๋‚˜๋ˆ ๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. YAML์€ Yet Another Markup Language๋ผ๋Š” ๋œป์„ ๊ฐ€์ง„ ๋งˆํฌ์—… ์–ธ์–ด์ž…๋‹ˆ๋‹ค. [์•ผ๋ฏˆ], [์•ผ๋ฉœ] ๋“ฑ์œผ๋กœ ์ฝ์„ ์ˆ˜ ์žˆ๊ฒ ์Šต๋‹ˆ๋‹ค. YAML์€ 2001๋…„ ํด๋ผํฌ ์—๋ฐ˜์Šค๊ฐ€ ๊ณ ์•ˆํ•œ ์–ธ์–ด๋กœ ๊ธฐ์กด์˜ JSON์ด ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋‹จ์ (์ฃผ์„์„ ๋‹ฌ ์ˆ˜ ์—†๋‹ค, ๋ฌธ๋ฒ•์ด ์œ ์—ฐํ•˜์ง€ ์•Š๋‹ค)๋“ค์„ ํ•ด์†Œํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์กŒ์Šต๋‹ˆ๋‹ค.

YAML์€ ๋งˆํฌ์—… ์–ธ์–ด์ง€๋งŒ ์Šค์Šค๋กœ ๋งˆํฌ์—… ์–ธ์–ด๊ฐ€ ์•„๋‹ˆ๋ผ๊ณ  ์ด์•ผ๊ธฐํ•ฉ๋‹ˆ๋‹ค. YAML์„ ๋˜ ๋‹ค๋ฅด๊ฒŒ ํ’€์–ด๋ณด๋ฉด YAML Ainโ€™t Markup Language๋ผ๊ณ ๋„ ํ•  ์ˆ˜ ์žˆ๊ฑฐ๋“ ์š”. โ€œYAML์€ ๋งˆํฌ์—… ๋ฌธ์„œ๊ฐ€ ์•„๋‹ˆ๋‹คโ€๋ผ๊ณ  ์ด์•ผ๊ธฐํ•˜๋Š” ์ด์œ ๋Š” ๋ฐ”๋กœ YAML์˜ ์ •์ฒด์„ฑ์„ ๋งˆํฌ์—…์ด ์•„๋‹Œ ๋ฐ์ดํ„ฐ์— ๋‘๊ฒ ๋‹ค๋Š” ๊ฑฐ์ฃ . ๋ฐ์ดํ„ฐ์— ๋ฐฉ์ ์„ ๋‘” YAML์€ JSON๊ณผ XML๊ณผ ๋น„๊ตํ•ด ์••๋„์ ์œผ๋กœ ๊ฐ„๊ฒฐํ•˜๊ณ  ๊ฐ€๋…์„ฑ ๋†’์€ ๊ตฌ์กฐ๋กœ ๋งŒ๋“ค์–ด์กŒ์Šต๋‹ˆ๋‹ค. ์ง์ ‘ ํ•œ ๋ฒˆ ๋น„๊ตํ•ด๋ณด์‹œ๋ฉด ๊ทธ ์ฐจ์ด๊ฐ€ ๋Š๊ปด์งˆ๊ฒ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ๊ฐ„๊ฒฐํ•œ ๊ตฌ์กฐ๋Š” YAML ๋ฌธ์„œ๊ฐ€ ์—ฌ๋Ÿฌ ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ ์„ค์ •ํŒŒ์ผ๋กœ ์ž๋ฆฌ์žก๋Š”๋ฐ ํฐ ํž˜์ด ๋˜์—ˆ์–ด์š”.

---
Server:
  name: Server1
  owner: John
  created: 123456
  status: active
...
{
  Server: [
    {
    name: Server1
    owner: John
    created: 123456
    status: active
    }
  ]
}
<Servers>
  <Server>
    <name>Server1</name>
    <owner>John</owner>
    <created>123456</created>
    <status>active</status>
  </Server>
</Servers>

Quarto๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค. ์„œ๋‘์—์„œ ์ด์•ผ๊ธฐํ•œ ๊ฒƒ์ฒ˜๋Ÿผ YAML header์—๋Š” ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๊ฐ€ ๋‹ด๊ฒจ์žˆ์Šต๋‹ˆ๋‹ค. Quarto ๋ฌธ์„œ์˜ ๋‹ค์–‘ํ•œ ์„ค์ •์„ YAML header์— ๋‹ด์•„๋‘๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๊ฐ„๋‹จํ•œ ๊ตฌ์กฐ์™€ ๊ฐ„๊ฒฐํ•œ ๋ฌธ๋ฒ•์„ ํ™œ์šฉํ•ด์„œ ๋ง์ด์ฃ . Quarto๋Š” ๋งค๋ฒˆ ๋ชจ๋“  ์˜ต์…˜์„ ์ˆ˜๋™์œผ๋กœ ์ž…๋ ฅํ•˜์ง€ ์•Š๋„๋ก ํ•˜๊ธฐ ์œ„ํ•ด YAML header๋ฅผ ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ž…๋ ฅ๋œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋“ค์€ ์ตœ์ข…์ ์œผ๋กœ ํผ๋ธ”๋ฆฌ์‹ฑ๋˜๋Š” ํฌ๋งท์— ์˜ํ–ฅ์„ ์ฃผ์ฃ . ํผ๋ธ”๋ฆฌ์‹ฑ, ๋ Œ๋”๋ง ๊ณผ์ •์— ์ฐธ์—ฌํ•˜๋Š” pandoc, quarto, knitr์ด YAML header์— ๋‹ด๊ธด ์ •๋ณด๋ฅผ ์ฝ๊ณ  ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.


Quarto with YAML

Two penguins in a room made of ice, looking out a window. One penguin is holding an icicle as a pointer, pointing at a Quarto logo "moon" in the sky, while the other penguin looks on.

R & stats illustrations by @allison_horst

์ง€๊ธˆ๋ถ€ํ„ฐ๋Š” YAML header์— ํฌํ•จ๋˜๋Š” Quarto์˜ ์˜ต์…˜๋“ค์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์šฐ์„  ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ Output Option์ž…๋‹ˆ๋‹ค. ๋ง ๊ทธ๋Œ€๋กœ ์–ด๋–ค ๊ฒฐ๊ณผ๋ฌผ์„ ๋งŒ๋“ค๊ณ  ์‹ถ์€์ง€๋ฅผ ์„ ํƒํ•˜๋Š” ์˜ต์…˜์ž…๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ qmd ๋ฌธ์„œ๋ฅผ HTML๋กœ, ํ˜น์€ PDF๋กœ, ์•„๋‹ˆ๋ฉด revealjs ํ˜•ํƒœ๋กœ ๋ฝ‘์•„๋‚ด๊ณ  ์‹ถ๋‹ค๋ฉด YAML header์˜ format ์ž๋ฆฌ์— ์ ์–ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค. format: html ์ด๋ ‡๊ฒŒ ๋ง์ด์ฃ . ์ฐธ๊ณ ๋กœ format: html์ฒ˜๋Ÿผ key๊ฐ’(์—ฌ๊ธฐ์„  format์ด ํ•ด๋‹นํ•˜๊ฒ ์ฃ )์— html์ด๋ผ๋Š” value๊ฐ’์„ ๋Œ€์‘์‹œํ‚ค๋Š” ๊ตฌ์กฐ๋ฅผ mapํ˜•์‹์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

---
format: html
---
---
format: revealjs
---

์ฐธ๊ณ ๋กœ ์›๋ž˜ YAML์—์„œ๋Š” ---๋กœ ์—ด๊ณ  ...์œผ๋กœ ๋‹ซ๋Š” ๊ฒŒ ์›์น™์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ Quarto์˜ YAML header์—์„  ๊ทธ๊ฒƒ๋งˆ์ €๋„ ๊ท€์ฐฎ์•˜๋Š”์ง€ --- ํ•˜๋‚˜๋กœ ์—ด๊ณ  ๋‹ซ์Šต๋‹ˆ๋‹ค.

์ถ”๊ฐ€ ์˜ต์…˜์„ ์ ์œผ๋ ค๋ฉด ์ ์–ด๋†“์€ ์˜ต์…˜ ๋ฐ‘์— ์ฃผ๋ฅด๋ฅต ์ ์œผ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๋‹ค๋งŒ ํ•˜์œ„ ์˜ต์…˜์„ ์ ์„ ๋•Œ์—๋Š” ์ƒ์œ„ ์˜ต์…˜์˜ ์•„๋žซ์ค„์— ์ ์–ด์•ผ ํ•˜๊ณ  ๋“ค์—ฌ ์“ฐ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. YAML์€ ๋“ค์—ฌ ์“ฐ๊ธฐ๋กœ ๊ณ„์ธต๊ตฌ์กฐ๋ฅผ ํ‘œํ˜„ํ•˜๊ฑฐ๋“ ์š”. YAML์—์„œ ๋“ค์—ฌ ์“ฐ๊ธฐ๋Š” 2n(2, 4, 6โ€ฆ) ์นธ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

---
format:
  html:
    toc: true  #ํ•˜์œ„ ์˜ต์…˜์€ ๋“ค์—ฌ ์“ฐ๊ธฐ๋กœ
    code-fold: true
---

๋˜ ํ•˜๋‚˜ ์ฃผ์˜ํ•ด์•ผํ•  ์ , ๋„์–ด์“ฐ๊ธฐ๊ธฐ๋‚˜ ์ค„๋ฐ”๊ฟˆ์„ ๋งž์ถ”์ง€ ์•Š์„ ๊ฒฝ์šฐ์—” ์˜ต์…˜์ด ์‹คํ–‰๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. YAML์€ ๋ฏผ๊ฐํ•œ ์นœ๊ตฌ๊ฑฐ๋“ ์š”.

---
format:html  # format๊ณผ html ์‚ฌ์ด์— ๋„์–ด์“ฐ๊ธฐ๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ž‘๋™ X
---
---
format:
html  # ๋“ค์—ฌ ์“ฐ๊ธฐ๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ž‘๋™ X 
---
---
format:
  html:  # ๋“ค์—ฌ ์“ฐ๊ธฐ๋Š” ํ–ˆ์ง€๋งŒ html: ์ดํ›„ value๊ฐ’์ด ์—†์–ด์„œ ์ž‘๋™ X
---


์ œ๋Œ€๋กœ ๋œ YAML ๊ตฌ์กฐ๋Š” ์ด๋ ‡์Šต๋‹ˆ๋‹ค.

---
format: html  # format๊ณผ html ์‚ฌ์ด์— ๋„์–ด์“ฐ๊ธฐ
---
---
format:
  html  # ๋“ค์—ฌ ์“ฐ๊ธฐ 2์นธ
---
---
format:
  html:
    toc: true
---

R studio๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค๋ฉด YAML ๋ฌธ๋ฒ•์„ ํ•˜๋‚˜ํ•˜๋‚˜ ์™ธ์šฐ๊ณ  ์žˆ์„ ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค. R studio์—์„  ๊ธฐ๋ณธ์ ์œผ๋กœ YAML intelligence ๊ธฐ๋Šฅ์ด ์žˆ๊ฑฐ๋“ ์š”. ์˜ต์…˜์„ ์ž๋™์™„์„ฑ ํ•ด์ฃผ๊ฑฐ๋‚˜, ์ž˜๋ชป๋œ ๋ฌธ๋ฒ•์ด ์žˆ์„ ๊ฒฝ์šฐ ๊ฐ•์กฐ ํ‘œ์‹œ๋กœ ์˜ค๋ฅ˜๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. YAML intelligence ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด Quarto CLI 0.9.44 ์ด์ƒ์˜ ๋ฒ„์ „์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ฐ„๋‹จํ•˜๊ฒŒ๋‚˜๋งˆ HTML format์˜ ์˜ต์…˜์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

Option ์„ค๋ช…
title ๋ฌธ์„œ ์ œ๋ชฉ
subtitle ๋ฌธ์„œ ๋ถ€์ œ
date ๋ฌธ์„œ ์ž‘์„ฑ ์‹œ์ 
date-modified ๋ฌธ์„œ ํŽธ์ง‘ ์‹œ์ 
author ๋ฌธ์„œ์˜ ์ž‘์„ฑ์ž
abstract ๋ฌธ์„œ ์š”์•ฝ
abstract-title ๋ฌธ์„œ ์š”์•ฝ๋ณธ์˜ ์ œ๋ชฉ
doi DOI(Digital Object Identifier, ๋””์ง€ํ„ธ๊ฐ์ฒด์‹๋ณ„์ž) ํ‘œ์‹œ
order ๋ฌธ์„œ์˜ ์ •๋ ฌ ์ˆœ์„œ

์œ„์˜ ํ‘œ๋Š” HTML format์—์„œ ์ œ๋ชฉ๊ณผ ์ž‘์„ฑ์ž์™€ ๊ด€๋ จ๋œ ์˜ต์…˜์„ ์ •๋ฆฌํ•œ ๊ฒ๋‹ˆ๋‹ค. ์˜ต์…˜์˜ ์ˆ˜๋Š” ๋„ˆ๋ฌด๋‚˜๋„ ๋งŽ์•„์„œ ์—ฌ๊ธฐ์—๋‹ค ์ •๋ฆฌํ•˜๊ธด ์–ด๋ ค์šธ ๊ฒƒ ๊ฐ™๊ณ ์š”. Quarto์˜ ๊ณต์‹ ํ™ˆํŽ˜์ด์ง€๋ฅผ ๋“ค์–ด๊ฐ€ ๋ณด๋ฉด HTML option๋“ค์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์„ ๊ฒ๋‹ˆ๋‹ค. ๊ณต์‹ ํ™ˆํŽ˜์ด์ง€์—๋Š” HTML๋ฟ ์•„๋‹ˆ๋ผ PDF, MS Word, OpenOffice, ePub, Presentations ๋“ฑ ๋‹ค์–‘ํ•œ ํฌ๋งท๋“ค์˜ option์„ ์ •๋ฆฌํ•ด๋‘๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ฃผ์š” ํฌ๋งท๋“ค์˜ option๊ณผ guide ๋งํฌ๋ฅผ ์†Œ๊ฐœํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ด๋ฒˆ ๊ฒŒ์‹œ๋ฌผ์€ ๋งˆ๋ฌด๋ฆฌํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.


YAML Options

Format Options Reference
HTML https://quarto.org/docs/reference/formats/html.html
PDF https://quarto.org/docs/reference/formats/pdf.html
MS Word https://quarto.org/docs/reference/formats/docx.html
OpenOffice https://quarto.org/docs/reference/formats/odt.html
ePub https://quarto.org/docs/reference/formats/epub.html
Presentation_revealjs https://quarto.org/docs/reference/formats/presentations/revealjs.html
Presentation_ppt https://quarto.org/docs/reference/formats/presentations/pptx.html
Presentation_beamer https://quarto.org/docs/reference/formats/presentations/beamer.html