KTUGFaq

KTUG FAQ

로그인:
비밀번호:
가입
"It seems strange to meet computer geeks who're still primarily running Windows... as if they were still cooking on a wood stove or something." - mbp
FrontPage › 참고문헌인용
참고문헌 / 참고문헌인용

http://bibdesk.sourceforge.net/images/bibDeskIcon.png

이 페이지는 본문에서 참고문헌 목록에 있는 문헌 항목을 인용하는 방법에 관해 정리하기 위한 것이다.


목차

1 Bibitem과 Cite Key
1.1 Cite Key를 보여주는 showtags 패키지
1.2 Label과 Cite Key를 보여주는 showkeys 패키지
1.3 Author-Year vs. Numerical
2 Numerical의 예
2.1 LaTeX의 인용 명령
2.2 natbib Style
2.3 multi-entry
3 Author-Year의 예
3.1 한글 문헌의 인용
3.2 본문에서의 인용 명령 (citation command)
3.3 natbib Style
3.4 APA(미국심리학회)
3.5 Chicago Style
4 인용 표기 문제 Q & A
4.1 참고 문헌을 각주에 표기
4.2 인용 표시 묶음표 바꾸기
4.3 인용 표기를 위첨자로
4.4 문헌인용/Compression
4.5 본문에 인용되지는 않았지만 참고문헌에 나타내고 싶은 경우

1 Bibitem과 Cite Key

본문에서 참고문헌의 목록에 있는 문헌 항목(Bibitem)을 인용하려면 Citation Key(또는 Cite Key, 더욱 간단히 key라 함)를 이용하여 \cite{key}, \citep{key}, \citen{key}, \citet{key} 등(실제 명령어는 cls, sty, bst에 따라 약간의 차이가 있음)으로 Bibitem으로 불러와야 하는 데 이 Bibitem들은 bib 파일(문헌 Data Base[1])이나 thebibliography 환경(bbl 파일, tex 파일 등)에 각각 다른 형태로 들어 있다.
많은 Cite Key를 모두 외우는 것은 힘이 든다. showtags 패키지 또는 showkeys 패키지를 쓰면 출력 파일에서는 Cite Key가 Bibitem 바로 위 오른쪽 또는 바로 앞에 나타난다. 최종 출력에서 이들 패키지의 사용을 주석 처리하면 된다. 그리고 HLaTeX 의 경우 한글을 사용할 때도 이러한 기능을 쓸 수 있는 showhkeys, showhtags가 있다.

(./) 참고 문헌의 목록을 만드는 일은 참고문헌만들기 참조.

(./) WinEdt에서는 Active String이라하여 간단히 리스트를 열어 보고 복사하여 오는 기능이 있다. see WinEdtTip/문헌인용

----
  • [1] Bib 파일에서는 "엔트리"라고 부른다. See KTUGSetup:10621

1.1 Cite Key를 보여주는 showtags 패키지

showtags.png

그림 1: 그림의 오른쪽 어깨에서 보듯이 showtags 패키지와 natbib 패키지를 함께 썼을 때는 문헌의 인용이 제대로 나타나지 않는다. 제대로 나오게 하려면 showtags 패키지를 주석처리(%)하고 부수적인 파일(특히 aux 파일)을 지운 후 다시 컴파일하여야 한다.

예1: (From KTUGContrib:2988) 다음을 컴파일하면 그림 1과 같이 showtag이 나타난다.
\documentclass[draft]{article}
\usepackage{natbib}
   \bibpunct{[}{]}{,}{s}{}{,}
\usepackage{showtags}

\begin{document}
Several schemes have been proposed in the
literature\cite{ABS2002,bel2004,BCM2003}.

\begin{thebibliography}{99}
%%%%1
\bibitem{ABS2002}
Elena V. Anoshkina, Alexander G. Belyaev, Hans-Peter
Seidel, {\it Asymptotic  Analysis of Three-Point
Approximations of Vertex Normals and Curvatures},
Vision, Modeling, and Visualization 2002, 211-216,
Erlangen, Germany, November (2002)

%%%%2
\bibitem{bel2004}
A. Belyaev, {\it Plane and space curves. curvature,
curvature-based features}, Max-Planck-Institut f\"ur
Informatik  (2004)

%%%%3
\bibitem{BCM2003}
{V.\ Borrelli, F.\ Cazals \& J.\ -M.\ Morvan}:\, {On the angular
defect of triangulations and the pointwise approximation of
curvatures.}\, \emph{Computer Aided Geometric Design}\textbf{20},
(2003), no.\ 6, 319--341. %\quad \MR{2004k:65031}

\end{thebibliography}
\end{document}

1.2 Label과 Cite Key를 보여주는 showkeys 패키지

TeX 파일을 편집할 때 많은 Label과 Bibitem 을 일일이 기억하는 것은 매우 힘들다. 프리앰블에
 \usepackage{showkeys}
를 넣으면 명령 \label{}, \ref{}, \pageref{} 등의 묶음표 {} 속에 들어간 Label과 Bibitem 그리고 \cite{}, \citep{} 등의 묶음표 {} 속에 들어간 Cite Key를 모두 보여 준다. ->See 상호참조, 참고문헌인용

클래스 옵션 final[1]을 쓰면 showkeys 패키지가 작동하지 않거나 오류 메시지가 나타난다. 그래서 편집 도중에는 클래스 옵션 draft를 쓰고, 최종 컴파일에서는 \usepackage{showkeys}를 주석처리하여 %\usepackage{showkeys}로 하는 것이 안전하다.


그림 설명: CTAN:macros/latex/required/tools/showkeys.dtx를 컴파일하여 생긴 showkeys.pdf 2쪽과 showkeys.dvi 3쪽을 화면 캡쳐한 것이다. bibitem 속의 Cite Key와 \label{} 속의 label은 상자 속에 나타나고 \cite{} 속의 Cite Key와 \ref{} 속의 label은 깃발(┣ 모양)로 나타난다.

참고1: HLaTeX 1.0.1의 contrib 패키지로서 showhkeys, showhtags가 있다. 이걸 쓰면 한글로 주어진 레이블을 보여 준다. See KTUGContrib:2989

참고2: 문헌인용의 Cite Key들만 보고 싶으면[2]
 \usepackage[notref]{showkeys}%상호참조의 Label을 보여주지 않음
로 notref 옵션을 쓰면 되고, 상호참조의 Label들만 보고 싶으면
\usepackage[notcite]{showkeys}%문헌인용의 Cite Key를 보여주지 않음
로 notcite 옵션을 스면 된다.

----
  • [1] 대개의 클래스에서는 디폴트로 final 옵션으로 되어 있다.
  • [2] Cite Key들만 보여 주는 showhtags 패키지도 있다.


1.3 Author-Year vs. Numerical


Q1(From KTUGOperate:4434): 문제는 natbib에서 \citep라는 명령을 썼을때 나타나야하는 author-year 형식이 나타나지 않는다는 것입니다. 일반적으로 default로 두 가지(저자와 연도)가 나타나야한다고 문서에 있더군요. 즉 () 와 author-year의 형식이죠. 예로써 "(Tsang, 1998)" 처럼 보여야하는 인용이 그냥 (17)로 보이는군요. default 중에 하나만 실행이 된다는 것이지요.

A1: natbib.sty를 썼을 때 인용 표기의 default mode가 author-year mode (아래 그림 3그림 5 참조)라 하여 author-year 방식이 되지 않습니다. thebibliogrphy 환경 속에 있는 Bibitem들 중 어느 하나라도 author-year 방식[2]에 부적합하면 Numerical 방식으로 바뀝니다. 만약 bib 파일을 만들고 BibTeX를 실행하여 thebibliogrphy 환경(bbl 내)를 만들었는데 bst를 바꾸고 싶으면 thebibliogrphy 환경을 버리고 컴파일의 첫 단계부터 다시 하여야 합니다. 한번 컴파일(TeXify 또는 PDFTeXify)하면 도중에 BibTeX이 실행되면서 bbl 파일이 만들어 지는데 처음에 "Numerical 방식"의 bst를 써서 BibTeX을 실행하면 bbl 파일 내의 thebibliography 환경은 "Numerical 방식"에 맞게(Compatible) 만들어집니다. 이렇게 만들어진 bbl 파일이 있으면 "Author-Year 방식"의 bst를 써서 다시 컴파일하여도 bbl 파일 내의 thebibliography 환경은 "Author-Year 방식"으로 바뀌지 않습니다. 그래서 "(Tsang, 1998)" 또는 "Tsang (1988)"으로 본문에 인용되지 않고 "(17)"로 인용됩니다. bst를 바꿀 때는 bib 파일과 TeX 파일 등 소스 파일만 남기고 모든 부수적인 파일을 버리는 것이 좋습니다. WinEdt에서는 이를 위하여 별도의 쓰래기통 단추가 도구상자(Tool Box)의 위 행 가운데 쯤(느낌표 단추 바로 위)에 있습니다. --See KTUGOperate:7157

----

(./) [http]natbib.pdf(version 8.0, 2007/02/05)의 18쪽에 따르면 "Author-Year 방식"의 \bibitem entry로만 되어 있을 때는 약간의 설정으로 "Numerical 방식"으로 쓸 수 있지만 그 반대는 안된다고 하였습니다(아래 그림 3 참조).

num2aut.jpg

그림 3: "Author-Year 방식"에서 "Numerical 방식"으로 바꾸기

2 Numerical의 예


2.1 LaTeX의 인용 명령

(from KTUGOperate:1123) 인용 표기에 관한 특정한 sty(예: natbib)를 쓰지 않았을 때, 참고 문헌의 특정한 쪽, 장, 절, 정리, 수식 등을 인용하려면
\cite[p.\ 76]{key},
\cite[pp.\ 76--78]{key},
\cite[Chap.\ 5]{key},
\cite[Sec.\ 2]{key},
\cite[Theorem 2]{key},
\cite[Eq.\ (1)]{key},
\cite[(14)]{key}
등으로 입력한다. 여기서 {key}key는 Citation Key이다.

컴파일 후 DVI 파일에서는
[1, p. 76],
[1, pp. 76-78],
[1, Chap. 5], 
[1, Sec. 5],
[1, Theorem 2],
[1, Eq. (1)],
[1, (14)]
등으로 나타난다.

(./) 만약 프리앰블에
\usepackage[square]{natbib}%옵션 [square]가 없으면 인용 표시가 손톱묶음표 ( )로 됨
를 넣었을 때는 위의 예 외에도
\cite[cf.][(14)]{key}
\cite[cf.][]{key}
등으로 입력한 것은
[cf. 1, (14)]
[cf. 1]
등으로 나타난다(Author-Year의 경우는 그림 5 참조).

2.2 natbib Style

위의 그림 3과 아래 그림 5의 아래 쪽(Numerical Styles look like this) 참조

2.3 multi-entry

Physical Review Letters, Aplied Physics Letters 등에 투고할 경우, 페이지 수에 제한이 있기 때문에 공간을 최대한 활용하기 위하여 [http]Multiple Citations on One Key를 쓴다. TeX 파일에
\cite{Glashow,*Salam,*Weinberg}
와 같이 함께 쓰고 싶은 엔트리의 Cite Key 앞에 *를 붙이고 mcite.sty와 적당한 bst[3]를 쓰면 참고문헌의 열거에서 앞의 문헌과 ;로써 구분되고 전체적으로 하나의 번호만 쓴다(아래 그림 참조).

multi-entry-cite.jpg


그림 4: mcite.sty과 phaip.bst를 사용한 예

----
  • [3] sort되지 않는(Cite된 순서대로 열거하는) bst(예: phaip.bst, osa.bst 등)를 약간 수정하고 mcite.sty와 함께 쓰면 된다.->KTUGOperate:13046

3 Author-Year의 예

3.1 한글 문헌의 인용

다음 샘플은 KTUGOperate:3386에 있던 것으로 본문에서의 인용 표기와 참고문헌의 Bibitem 들을 Author-Year의 형식으로 나타내려한 소스 파일이다.
\documentclass{amsart}
\usepackage{color,hfont}
\usepackage{natbib}
\usepackage{hyperref}
\usepackage{enumerate}

\begin{document}
Here's a line of text with a {\color{red} few words in red} in the
middle. If we 
\begin{enumerate} 
 \item compile this, open it in Yap from WinEdt \item remove the 
    brackets before $\backslash$color\{red\} and after ``in red'' 
 \item recompile
 \item view in Yap (observing that the whole last part of the page
   is red) 
 \item restore the brackets previously deleted 
 \item recompile \item view in the still-open Yap
\end{enumerate}
the color ``bleeds'' over the whole document. But by closing and
re-opening the document in Yap, we get the correct display.

Another problem:
\begin{enumerate}[\qquad (a)]
 \item \citet{Schervish}%
 \item \citep{Schervish}%
 \item Notice that the underlining of the citation extends to the 
       left when there is no enclosing parenthesis.
\end{enumerate}

Another problem:
\begin{itemize}
 \item 고기형 (\citeyear{Go95})%
 \item (고기형, \citeyear{Go95})%
 \item 고기형 \cite{Go95}%
 \item \cite{Go95}%
 \item \citep{Go95}%
 \item Notice that the Korean letters can not be used with
       citations.
\end{itemize}
% ----------------------------------------------------------------
\bibliographystyle{apalike}
\begin{thebibliography}{}

\bibitem[Schervish, 1995]{Schervish}
  Schervish, M.~J. (1995).
  \newblock {\em Theory of Statistics}.
  \newblock Springer Series in Statistics. Springer, New York.
\bibitem[고기형, 1995]{Go95}%
  고기형 (1995). 
  \newblock {\em 한글과 \TeX}.
  \newblock 청문각, 서울.

\end{thebibliography}%
\end{document}
% ----------------------------------------------------------------
(./) bibitem의 내용에 한글을 썼을 때는 참고 문헌의 리스트는 아무 이상이 없지만 본문에서 \citet{}, \citep 등으로 불렀을 때 [저자, 연도]로 입력한 데이터 중 한글 저자 이름을 가져 오지 못한다. 따라서 본문 내의 참고 문헌 인용은 현재로는 위의 예제처럼
 고기형 (\citeyear{Go95})
 (고기형, \citeyear{Go95})
처럼 수작업으로 할 수 밖에 없다. 또 BibTeX을 썼을 때의 해결책은 커꿈 님의 글(KTUGOperate:16193)에 있다.

3.2 본문에서의 인용 명령 (citation command)

cls, bst에 따라 잘맞는 sty 패키지가 있으며 sty에 따라 "인용 표기 명령"(citation command)이 조금씩 다르다.

3.3 natbib Style

[http]natbib.pdf의 5-8쪽(version 8.0, 2007/02/05)에 "Basic Citation Commands"와 "Extended Citation Commands"가 있다. 아래 그림은 이것을 요약하여 http://web.reed.edu/cis/help/BibTeXstandard.html 에 올려 둔 것을 복사하여 온 것이다.

natbib_cite.jpg

그림 5: natbib.sty의 인용 명령과 인용 스타일

3.4 APA(미국심리학회)

http://user.chol.com/~blueland/stat_thesis_03.htmhttp://user.chol.com/~blueland/stat_thesis_04.htm 에 가면 미국심리학회(APA)의 "논문 작성법" 중 "인용 방법"과 "참고 문헌 작성"법이 나와 있다. 많은 사람들이 이것을 Bib Style(.bst)과 package(.sty)로 쉽고 충실하게 나타내려고 노력하였다. 그 까다로운 인용 표기 중에 한 가지 규칙은 저자가 여럿 있는 문헌을 인용할 때 맨 처음은 저자들의 Last Name들을 모두 나타내어야 하고 그 다음부터는 처음 저자 이름만 쓰고 "et al." 로 나타내어야 한다(아래 그림 참조). APA의 까다로운 규칙을 가장 충실히 나타내어주는 sty와 bst가 apacite.sty 와 apacite.bst 이다. [http]apacite.pdf의 10-12쪽(2005-06-08)에 명령어들과 사용 방법 등 설명이 나와 있는데 굉장히 복잡하다.

apacite_sty.jpg
그림 6: [http]apacite 패키지를 쓸 때 본문 중에 표기되는 예

3.5 Chicago Style


chicago.png

그림 7: Chicago Style 의 인용 명령

4 인용 표기 문제 Q & A


다양한 한글 패키지와 natbib (또는 cite) 패키지를 썼을 때의 문제점에 대하여 도은이아빠의 글(KTUGOperate:10601)에 자세히 나와 있습니다. see also 문헌인용/Compression, NatBibPackage

Q2(KTUGOperate:21351): Elsevier 저널 투고 준비중 Citation & reference 에서 원하는 결과가 나오지 않아 질문드립니다. thebibliography 환경 속의 Bibitem은
\bibitem[Sundarrajan \& Philipos(2006)] {SP06} 
Sundarrajan, R. \&  Philipos,C. L.,
A noise-estimation algorithm for highly non-stationary
environments, SPEECH COMMUNICATION., (48) 2006, 220--231.
으로 되어 있고, 본문에서의 Citation을 \cite{SP06} 로 표시를 하면 결과가 Citation과 reference 모두에서 [Sundarrajan & Philipos (2006)] 그대로 출력되서 나옵니다. 원하는 논문 포맷은 레퍼런스에는 Sundarrajan & Philipos 으로, Citation 은 (Sundarrajan & Philipos) 입니다. 고수님들의 조언을 부탁드립니다.

http://www.ktug.or.kr/jsboard/data/operate/files/20070506234054/instructions-harv_pdf.jpg

그림 8: Author-Year Style(이른바 Harvard-Style) 의 인용 표기 - [http]instructions-harv.pdf거의 끝부분(12쪽 중 12쪽)에서 화면 캡쳐하였음

A2(KTUGOperate:21352): 본문에서의 Citation과 참고문헌에서의 Bibitem 표기를 Elsevier에서 원하는 형식으로 나타나게 하려면 elsart 클래스와 natbib.sty, elsart-harv.bst (Bib Style)를 모두 쓰서 컴파일(LaTeX -> bibtex)한 후 bbl 파일을 열어 thebibliography 환경 즉,
\begin{thebibliography}{1}
...
\end{thebibliography}
로 된 부분을 몽땅 복사하여 TeX 파일에서
\bibliographystyle{elsart-harv}
\bibliography{...}
로 된 부분과 바꾸어 넣고 필요한 수정을 합니다. 고칠 부분은 공동 저자의 문헌이 본문에서는 and 로 연결되는 것과 참고문헌 목록(Bibitem)에서는 쉼표로 되는 것입니다. 이것을 \&로 고쳐야 합니다. bib 파일의 엔트리의 필드를 고치면 안됩니다. 결과적으로 소스 파일을 TeX 파일 하나로 합친 것이 됩니다. 다음을 컴파일하여 보세요.
%%%els_test.tex%%%
\documentclass{elsart}
\usepackage{natbib}

\begin{document}
Several schemes have been proposed in the
literature \cite{SP06}.

\begin{thebibliography}{1}
\expandafter\ifx\csname natexlab\endcsname\relax\def\natexlab#1{#1}
\fi
\expandafter\ifx\csname url\endcsname\relax
  \def\url#1{\texttt{#1}}\fi
\expandafter\ifx\csname urlprefix\endcsname\relax\def\urlprefix{URL }
\fi

\bibitem[{Sundarrajan \& Philipos(2006)}]{SP06}
Sundarrajan, R. \& Philipos, C.~L., 2006. A noise-estimation algorithm for highly
  non-stationary environments. SPEECH COMMUNICATION 48, 220--231.

\end{thebibliography}

\end{document}

}

4.1 참고 문헌을 각주에 표기

여기 있던 Q & A참고문헌만들기의 소항목 "참고 문헌을 각주에 표기"로 옮깁니다.

4.2 인용 표시 묶음표 바꾸기

Q3(KTUGOperate:16209): Elsevier에 논문을 제출하기위해 elsart.cls와 elsart-num.bst를 사용하고 있습니다. bibtex를 사용하고요. 그런데 문헌의 인용을 나타낼 때 [1] <- 이런식으로 나오질 않고 (1)<- 이렇게 나오네요.

A3-1(KTUGOperate:16216): 프리앰블을 다음과 같이 해보세요.
\documentclass{elsart}
\usepackage{natbib}
\bibpunct{[}{]}{,}{a}{}{;}
bibpunct.jpg


그림 9: natbib.pdf (2006/08/18 버젼)의 10쪽. 조금 오래된 방법이지만 아직도 유효합니다.

A3-2: 프리앰블을 다음과 같이 해보세요.
\documentclass{elsart}
\usepackage[square]{natbib}%옵션 [square]가 없으면 인용 표시가 손톱묶음표 ( )로 됨

<!> 자세한 설명은 [http]natbib.pdf(version 8.0, 2007/02/05)의 11-12쪽(옵션은 19쪽) 또는 TLC2(The LaTeXCompanion, 2nd ed.)의 706쪽에 있습니다.

4.3 인용 표기를 위첨자로

Q4(KTUGOperate:2278): 제가 필요한건 본문내의 참고문헌 번호 [1]을 위첨자로만 변환하는 것입니다. (논문 뒤의 참고문헌 번호들은 그냥 [1] [2] 등으로 나가는 것입니다.) 사회과학도 게시판의 내용 (아래)을 참조해서 단순히 복사해서 실행하니 에러가 나는데요.
\usepackage{natbib}
\makeatletter
\newcommand\bibstyle@mynature{%
    \bibpunct{}{}{,}{s}{}{\textsuperscript{,}}%
    \gdef\NAT@biblabelnum##1{$^{##1}$}}
\makeatother
\citestyle{mynature}
어떻게 해야하는지 알려주시면 감사하겠습니다.

A4-1(KTUGOperate:2283): 무슨 에러가 어떻게 난다는 말씀이신지요? 위의 코드를 preamble에 넣고 컴파일하면 에러 없이 컴파일됩니다. 결과는 그림과 같습니다.

http://www.ktug.or.kr/jsboard/data/operate/files/20020914034250/testtest.png

그림 10: 인용 표시를 윗첨자로 표시

A4-2: 프리앰블에 그냥
\usepackage{natbib}
   \bibpunct{[}{]}{,}{s}{}{,}
를 넣으면 됩니다. 위의 예1에서 \usepackage{showtags}를 주석 처리하고 컴파일하여 보세요.

4.4 문헌인용/Compression

Q5-1(From KTUGOperate:10598): 다름이 아니라 \cite 명령을 써서 다음과 같이
 \cite{nwb99, nwb00, nwb02} 
이렇게 하니까 [4, 5, 6]으로 표시가 되던 데요. [4-6] 이런식으로 표시할려면 어떻게 해야 되나요?
Q5-2(KTUGOperate:11093): 레퍼런스 표기할때 [1,2]로 나타내고 싶은 경우 \cite{R1,R2} 이렇게 입력하면 되는데... 1-5로 나타내고 싶은 경우는 어떻게 입력해야 할지 모르겠군요....

Q5-3(KTUGOperate:13963): 참고문헌을 나타낼 때 [1][2][3][4]로 나타나는 것을 [1]-[4]로 나타내고 싶을 때는 어떻게 하는 지요?
예) 최근에 발표된 논문들이 있다\cite{ref:1} \cite{ref:2} \cite{ref:3} \cite{ref:4}.
이면
최근에 발표된 논문들이 있다[1][2][3][4].
로 나타는 데
최근에 발표된 논문들이 있다[1]-[4].
와 같이 하고 싶을 때는 어떻게 하는 지요?

Q5-1 ~ Q5-3의 해답은 모두 문헌인용/Compression로 옮겼습니다.

4.5 본문에 인용되지는 않았지만 참고문헌에 나타내고 싶은 경우

여기 있던 Q & A참고문헌만들기로 옮겼습니다.



^
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2008-01-06 14:43:32
Processing time 0.1007 sec