논문이나 책에서는 참고한 문헌을 본문에서 “인용”하고, 끝에는 “참고문헌 목록”으로 모읍니다. LaTeX는 이 작업을 두 부분으로 나누어 지원합니다. 본문에 놓는 \cite가 목록의 해당 항목을 가리키고, 목록 쪽은 번호나 저자명을 자동으로 맞춥니다. 이 페이지에서는 인용 명령 \cite, \nocite와 손으로 작성하는 참고문헌 환경 thebibliography를 중심으로 인용의 기본을 살펴봅니다.
본문에서 인용하기 - \cite와 \nocite
인용의 중심은 \cite{key}입니다. key는 문헌에 붙인 인용 키로, 사용자가 정하는 짧은 이름입니다. 이 명령은 본문에 인용 표지를 출력하고, 표준 클래스에서는 [1] 같은 번호가 됩니다. 동시에 해당 문헌을 참고문헌 목록에 올립니다. 여러 문헌은 \cite{knuth,lamport}처럼 쉼표로 구분해 한 번에 인용할 수 있습니다.
선택 인수를 붙이면 페이지 같은 주석을 함께 넣을 수 있습니다. \cite[p.~5]{knuth}는 [1, p. 5] 같은 결과를 냅니다. 여기서 ~는 중간에 줄이 바뀌지 않도록 하는 비분리 공백입니다. 주석은 인용 표지 안에 함께 표시됩니다.
クヌースは \TeX{} の設計思想を詳述している~\cite{knuth}。
とくに行分割の議論は重要である~\cite[p.~94]{knuth}。
複数の文献をまとめて挙げることもできる~\cite{knuth,lamport}。본문에서는 인용하지 않지만 목록에는 넣고 싶은 문헌에는 \nocite{key}를 사용합니다. 인용 표지는 출력되지 않고, 목록 등록만 이루어집니다. 특수한 형태인 \nocite{*}는 .bib 파일의 모든 항목을 목록에 포함합니다. 문헌 데이터베이스 전체를 보여 주고 싶을 때 유용합니다.
손으로 쓰는 참고문헌 목록 - thebibliography
목록 자체를 LaTeX가 조판하게 하는 가장 기본적인 방법은 thebibliography 환경입니다. 그 안의 \bibitem{key} ... 하나가 문헌 한 건을 나타냅니다. key는 그 항목의 인용 키이고, 뒤따르는 본문은 목록에 표시될 문헌 정보입니다. \cite{key}는 여기서 정의한 같은 key를 가진 \bibitem과 대응되어, 그 항목의 번호를 인용 표지로 가져옵니다.
\begin{thebibliography}{99}
\bibitem{knuth}
Donald E. Knuth, \emph{The \TeX book}, Addison-Wesley, 1986.
\bibitem{lamport}
Leslie Lamport, \emph{\LaTeX: A Document Preparation System},
2nd ed., Addison-Wesley, 1994.
\end{thebibliography}\begin{thebibliography}{99}의 {99}는 가장 넓은 레이블을 나타내는 인수입니다. 번호의 자릿수에 맞춰 레이블 칸의 폭이 정해지므로, 항목이 10개 이상이면 {99}(두 자리), 9개 이하이면 {9}를 넘기는 것이 기준입니다. 잘못 지정하면 번호가 가지런히 맞지 않고 들여쓰기가 들쭉날쭉해집니다.
번호 대신 고유한 레이블을 쓰고 싶다면 \bibitem의 선택 인수를 사용합니다. \bibitem[KL94]{lamport}처럼 쓰면 자동 번호 대신 [KL94]가 레이블로 쓰이고, \cite{lamport}도 그 레이블을 출력합니다.
번호나 상호 참조와 마찬가지로, 인용은 두 번 컴파일해야 확정됩니다. 첫 번째 실행에서 각 \bibitem의 번호가 .aux 파일에 기록되고, 두 번째 실행에서 이를 읽어 각 \cite 위치에 올바른 번호를 넣습니다. 한 번만 실행하면 인용 표지는 [?]로 남습니다.
번호식과 저자-연도식
인용 형식은 크게 두 계열로 나뉩니다. [1]처럼 번호로 표시하는 번호식(numeric)과 (Knuth, 1986)처럼 저자명과 발행연도로 표시하는 저자-연도식(author-year)입니다. 기본 \cite는 번호식이지만, 분야에 따라 저자-연도식이 요구됩니다.
이런 형식 전환과 더 세밀한 인용 명령은 패키지가 제공합니다. 대표적인 것은 natbib과 biblatex이며, 괄호형 인용 \citep{key}(-> (Knuth, 1986))과 저자명을 문장 안의 주어처럼 녹여 쓰는 텍스트형 인용 \citet{key}(-> Knuth (1986))을 구분할 수 있습니다. 저자명만 출력하는 \citeauthor{key}, 연도만 출력하는 \citeyear{key}도 있습니다. natbib은 번호식과 저자-연도식을 모두 지원합니다. 자세한 내용은 각 패키지 페이지를 참조하세요.
| 명령 | 계열 | 출력 예 |
|---|---|---|
\cite | 표준(번호식) | [1], 주석 포함 시 [1, p. 5] |
\citep | natbib / biblatex(괄호형) | (Knuth, 1986) |
\citet | natbib / biblatex(텍스트형) | Knuth (1986) |
\citeauthor | natbib / biblatex(저자만) | Knuth |
\citeyear | natbib / biblatex(연도만) | 1986 |
번호식 인용 다듬기 - cite 패키지
번호식은 유지하되 모양만 정리하고 싶다면 Donald Arseneau의 cite 패키지가 간편합니다. \usepackage{cite}만 읽어도 표준 \cite의 동작이 개선됩니다. 여러 인용의 번호를 오름차순으로 정렬하고, 연속된 번호는 범위로 압축합니다. 예를 들어 \cite{c,a,b,d}가 [2,3,4,6]을 가리키면 출력은 자동으로 [2-4,6]이 됩니다.
번호를 위첨자로 출력하려면 \usepackage[superscript]{cite}를 사용합니다. super도 같은 뜻입니다. 정렬을 끄는 nosort, 범위 압축을 끄는 nocompress, 번호 사이의 공백을 줄이는 nospace, 줄바꿈을 억제하는 nobreak 같은 옵션도 있습니다. \cite의 주석 인수(\cite[p.~5]{knuth})는 그대로 사용할 수 있습니다.
실제 프로젝트에서는 BibTeX/biber 사용
thebibliography를 손으로 쓰는 방식은 항목이 적거나 형식을 완전히 직접 정하고 싶을 때 유효합니다. 하지만 실무에서는 문헌 정보를 .bib 파일에 서식 적용 전 데이터로 저장하고, BibTeX나 biber가 목록을 생성하게 하는 것이 일반적입니다. 번호 매기기, 정렬, 양식을 투고 규정에 맞춰 자동화할 수 있고, 같은 .bib를 여러 원고에서 재사용할 수 있습니다. \cite의 사용법 자체는 바뀌지 않습니다. 자세한 내용은 BibTeX 페이지에서 다룹니다.