고급 마크다운

학술적 논문은 단순 텍스트보다 많은 정보가 담긴다. 이번 학습에서 참고문헌, 표, 그림, 수식을 추가하는 방법을 다룬다. 기억할 한가지 중요한 점은 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}를 사용해서 텍스트에 그림을 참조하게 한다. LaTeXautoref 팩키지는 놀랍도록 유용한데, 참조하는 객체 유형을 식별해서, 사람이 관여하지 않고도 Fig. 1, Tab. 2, Eqn. 3, 혹은 기타 필요한 것을 자동으로 완성시킨다.

참고문헌

학술논문에 있는 최종 요건은 참고문헌이다. pandocpandoc-citeproc 확장기능을 통해 마크다운이 참고문헌 기능을 매우 우아하게 처리한다. pandoc 서지관리 모듈은 다양한 형식으로부터 인용을 불러올 수 있다. 최초 CSL JSONCSL 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 참조)와 같이 나타난다.

참고문헌이 문서 끝에 자동으로 삽입된다. 저널 요건에 맞춰 서식을 바꾼 수천가지 방법이 있다.