고급 마크다운
학술적 논문은 단순 텍스트보다 많은 정보가 담긴다. 이번 학습에서 참고문헌, 표, 그림, 수식을 추가하는 방법을 다룬다. 기억할 한가지 중요한 점은 LaTeX
명령어가 다른 형식으로 변환할 때 (최소한 pandoc
을 사용할 때 그런데, pandoc
은 가장 일반적인 프로그램이다), 그대로 먹힌다는 사실이다. 이런 점이 수식 사용을 상당히 단순화시킨다.
수식
수식을 LaTeX
구문으로 작성할 수 있다. 예를 들어, 아래 코드 덩어리는 적법한 마크다운
구문이다:
The equation for a polynomial function is $y(x) = ax^2 + bx +c$.
그리고 다음도 적법하다:
The sum of a vector of numbers ($\mathbf{v}$) is noted
\begin{equation}
\sum_{x=1}^n\mathbf{v}_i
\end{equation}
표
마크다운이 갖는 이슈중 하나는 표에 대한 지원이 미약하다는 점이다. (하지만, LaTeX
구문을 사용하는 것은 가능) 그럼에도 불구하고, 상대적으로 간단한 표를 작성하는 방법은 있다.
| 교과목 | 담당자 | 선수 교과목 |
|:---------|:-----------|------------------:|
| 마크다운 | xwMOOC | 쉘, Git, Makefiles |
상기 구문을 적용하면 다음에 나온 표가 작성된다.
교과목 | 담당자 | 선수 교과목 |
---|---|---|
마크다운 | xwMOOC | 쉘, Git, Makefiles |
표를 구성하는 요소가 몇개 있다. 첫번째 줄은 헤더 로 표제목, 두번째 줄은 정렬, 그 다음 줄이 표에 기술되는 내용물 이 된다.
칼럼은 파이프(|
) 기호로 구분한다. 파이프를 수직방향으로 정렬할 필요는 없다. (하지만, 원문서를 읽을 때 가독성을 상당히 높힌다 – 편집기 대부분에는 이런 기능을 플러그인으로 지원한다)
기본디폴트 설정으로 칼럼은 좌측 정렬 된다. 정렬을 명세하려면, 두번째 행에 다음과 같이 :
세미콜론을 사용해서 지정한다.
| 좌측정렬 | 중앙정렬 | 우측정렬 | 기본 설정 (좌측) |
|:-------------|:--------:|--------------:|:---------------|
| `:---` | `:--:` | `---:` | `----` |
상기 구문을 적용하면 다음에 나온 표가 작성된다.
좌측정렬 | 중앙정렬 | 우측정렬 | 기본 설정 (좌측) |
---|---|---|---|
:--- |
:--: |
---: |
---- |
그림
그림은 마크다운에서 잘 지원되고 있다. 표기법은 링크에 사용된 표기법을 따르지만, 느낌표(!
)를 앞에 위치시킬 필요가 있다.
예를 들어,
![소프트웨어 카펜트리 로고 \label{f:swc}](./img/swc-logo-blue.png)
상기 구문을 적용하면 다음과 같이 그림이 삽입된다.
다른 방법으로 다음과 같이 그림 삽입 구문을 작성해도 된다.
![소프트웨어 카펜트리 로고 \label{f:swc}][swc]
[swc]: (./img/swc-logo-blue.png)
LaTeX
명령어, \label{f:swc}
라벨을 넣은 것에 주목한다. \autoref{f:swc}
를 사용해서 텍스트에 그림을 참조하게 한다. LaTeX
에 autoref
팩키지는 놀랍도록 유용한데, 참조하는 객체 유형을 식별해서, 사람이 관여하지 않고도 Fig. 1
, Tab. 2
, Eqn. 3
, 혹은 기타 필요한 것을 자동으로 완성시킨다.
참고문헌
학술논문에 있는 최종 요건은 참고문헌이다. pandoc
과 pandoc-citeproc
확장기능을 통해 마크다운이 참고문헌 기능을 매우 우아하게 처리한다. pandoc
서지관리 모듈은 다양한 형식으로부터 인용을 불러올 수 있다. 최초 CSL JSON
와 CSL YAML
로 설계되어, bibtex과 RIS를 수용할 수 있다.
참고문헌을 참조하는 방식은 인용키, @CitationKey
를 이용한다. 예를 들어, (bibtex) 라이브러리에 다음 참고문헌이 담겨 있다면:
@ARTICLE{thom99,
title = {The raw material for coevolution},
journal = {Oikos},
author = {Thompson, John N},
number = {1},
volume = {84},
year = {1999},
pages = {5--16},
}
텍스트에 @thom99
을 넣어 참조한다. 모든 참고문헌 관리 소프트웨어를 사용해서 pandoc
에서 지원되는 형식 중 하나로 내보내기 한다. 인용키가 보여주는 방식을 사용자 정의에 맞추면 된다.
참고문헌을 ([@John2012; @Jack2014]
)와 같이 결합할 수 있고, 인라인 으로 “저자-년도” 스타일을 지정해서 사용하고 있다면 @Doe2013
작성하게 되면 Doe (2013)
와 같이 표시되고, 괄호를 사용해서 [@Doe2013]
와 같이 사용하면 (Doe, 2013)
산출물을 얻게 된다. 또한, 텍스트를 추가하는 것도 가능하다: [검토를 위해 @Billy2015 참조]
와 같이 작성하면, (검토를 위해 Billy et al., 2015 참조)
와 같이 나타난다.
참고문헌이 문서 끝에 자동으로 삽입된다. 저널 요건에 맞춰 서식을 바꾼 수천가지 방법이 있다.