관리 메뉴

꾸로네

KAIST 논문에서 bibtex과 onlinecite 사용하기 본문

연구자료/TeX

KAIST 논문에서 bibtex과 onlinecite 사용하기

꾸로 (gguro) 2009.12.05 22:36
요즘 예심 준비를 하다보니 자연스럽게 TeX에 대한 글이 많아지고 있어서 아예 분류를 새로 만들었다.

1. bibtex 사용
지금까지 bibtex은 미국물리학회의 설정을 따라서 쓰고 있었는데, 이걸 KAIST 논문에서 쓰기 위해서 아주 조금 수정을 했다.

참고문헌을 bibtex 양식에 따라 filename.bib 라는 파일에 정리해두었다고 하자.

사용 방법은

\bibliographystyle{plain}
\bibliography{filename}

를 편집하는 TeX 파일에 넣고 다음과 같이 실행하면 된다.

$ latex filename.tex
$ bibtex filename
$ latex filename.tex
$ latex filename.tex

나의 경우는 이상하게도 TeX 파일이름과 bibTeX 파일 이름이 같아야 정상적으로 작동했다.

그리고 B.bib 에 참고문헌을 넣고  \bibliography{B} 을 포함한 A.tex 파일이 있다면
$ latex A.tex
$ bibtex A
$ latex A.tex
$ latex A.tex
처럼 하면 된다.

2. onlinecite 사용

\onlinecite 란 \cite와 달리 문장 중간에 참고문헌 번호를 넣고 싶을 때, [1] 같은 형식이 아닌 숫자만 1로 나오도록 하고 싶어서 사용하는 명령이다. 이걸 쓰기 위해서는 

\usepackge{amsmath,amssymb}

을 넣어주면 된다. (사실 이 두 개의 꾸러미 중에서 어떤 것 때문에 되는지 모르겠다)

끝.


10 Comments
  • 프로필사진 Ens 2009.12.06 09:09 신고 \onlinecite 는 RevTeX class 를 사용하기 때문이 아닐까?
    나는 amsmath, amssymb 를 설치해도 그 기능이 활성화 안 되는데...

    그리고 B.bib 에 참고문헌을 넣고.. \bibliography{B} 을 포함한 A.tex 파일이 있다면..
    $ latex A.tex
    $ bibtex A
    $ latex A.tex
    $ latex A.tex
    로 안 되는게 좀 이상하군..
  • 프로필사진 꾸로 (gguro) 2009.12.07 17:22 신고 $ latex A.tex
    $ bibtex B
    $ latex A.tex
    $ latex A.tex
    로 했다는. 그래서 안 된 거였군. 다시 하니 잘 된다.
    글 내용도 바꿨음.

    \onlinecite는 그냥은 안 됐는데 amsmath, amssymb를 써서 됐고, ReVTeX을 쓴다는 내용은 kaist-ucs.cls에는 특별히 없는 것 같은데. 딱히 amsmath나 amssymb하고 별 관계는 없을 수도. ^^;;

    그나저나 다른 문제가 있다는.
    Reference가 본문에 등장하는 순서대로 번호가 붙지 않고 자기 마음대로(내가 .bib에 써 둔 순서대로도 아니고) 붙는다. 규칙을 찾아볼 수가 없네.
  • 프로필사진 꾸로 (gguro) 2009.12.07 17:22 신고 아, 그게 \bibliographystyle{plain}으로 하면 무슨 알파벳 순서에 적당히 뭐가 더해져서 정렬 된다더군. \bibliographystyle{unsrt}로 하니까 본문에 등장한 순서대로 나오는군.

    근데 여기서 또 다른 문제가.
    \cite{a, b, c} 라고 하면 본문에 [1],[2],[3] 으로 나온다는... 나는 [1 - 3]으로 나오길 바랬는데.
    이건 또 어디서 뭘 바꿔야 하는 건가.
  • 프로필사진 꾸로 (gguro) 2009.12.07 18:49 신고 아, [1],[2],[3] 이 아니라 [1,2,3] 을 나오네.
    내가 잘못 봤네.. 그리고 onlinecite도 에러는 안 나오는데 나오기는 [1] 로 나온다. 이러면 다른 점이 없군.
    근데 어쨌든 [\onlinecite{a} - \onlinecite{c}]로 하면 번호가 증가하지 않기 때문에 문제가 생기지.
  • 프로필사진 Ens 2009.12.07 18:54 신고 plain 은 기본적으로 저자이름순 (동일저자인 경우 출판연도 순)으로 배치되는 걸 몰랐구나.

    \cite{a,b,c} 하면 [1],[2],[3] 이 아니라 [1,2,3] 이렇게 표시되는 거 아닌가? 이상하네..
  • 프로필사진 꾸로 (gguro) 2009.12.07 20:03 신고 오호 훌륭하군~!
    그걸 쓰니 [1 - 3] 으로 잘 나오네
    근데 그냥 되면 섭섭한지 또 문제가 생기는군.
    kaist-ucs.cls 에서 전체 쪽수를 계산해서 Abstract가 있는 쪽에 넣어주는데, 그게 깨지는군. {natbib}를 안 쓰면 안 깨지던데. 뭔가 충돌하는 듯.
  • 프로필사진 Ens 2009.12.07 22:23 신고 그리고 하나 더, 다음을 사용해 보길.
    \usepackage[sort&compress]{natbib}
    \bibliographystyle{unsrt}

    http://www.ct.infn.it/~cardillo/documents/LaTeX/bibtex_guide.pdf
  • 프로필사진 Ens 2009.12.08 01:42 신고 아마도 변수 이름이 같은 것 때문에 충돌하는 것이 문제가 아닐런지.. ㅎㅎ
  • 프로필사진 꾸로 (gguro) 2009.12.08 21:24 신고 단순히 변수 문제는 아닌 것 같다.
    paperlastpagelabel 을 못 찾는다고 나오는데,
    그게 참고문헌 맨 마지막쪽을 참조하도록
    bibilography 환경 안에
    \label{paperlastpagelabel} 이라고 넣어둔 \label을 읽지 못하는듯.
    kaist-ucs.cls 에서 \label의 위치를 참고문헌이 아닌 감사의글에 넣으니 잘 되더라고.
    natbib를 쓰지 않을 때는 잘 작동하던 \label이 natbib를 쓰니 작동하지 않는데 그 이유는 \label의 위치가 .cls의 bibliography 환경쪽에 있기 때문이더라는.
  • 프로필사진 Ens 2009.12.09 00:35 신고 어떻게 해결을 봤구만.. ㅎㅎ

    참고문헌이 있는 곳까지가 아니라..
    감사의 글이 있는 곳으로 표시될테니..
    결국은 전체 페이지 표시 숫자가 늘겠구만..
댓글쓰기 폼