Q&A 마당은 텍 관련 질문/답변을 위해 만들었습니다.
- 로그인 없이 자유롭게 글을 읽고 쓸 수 있는 철학은 처음과 같이 계속됩니다.
- 질문 전에 아래를 읽어 보세요. 좋은 질문이 좋은 답을 받을 수 있는 좋은 방법입니다.
- 질문에 맞는 제목을 붙이세요. 질문의 내용과 관련없는 "고수님", "긴급질문", "도와주세요"와 같은 제목은 답이 잘 올라오지 않습니다. 이 게시판에 올라오는 모든 글은 질문입니다. 굳이 [질문], [Q]를 적으실 필요도 없습니다.
- 내용을 충실히 적어 주시고, 같은 상황을 재현할 수 있는 최소한의 예제가 같이 있어야 합니다.
- 최소 예제는 "Minimal working example"을 읽어 보세요.
- 파일을 첨부하실 때에는 가능한 압축하여 파일 크기를 줄여서 올려주시길 바랍니다.
- 개인적으로 사용하신 글꼴이 들어 있는 경우, preparefont.sty에 관한 답변을 참조하세요.
- 스팸 글을 막기 위하여 짧은 시간 내에 다시 글이 등록되는 IP를 막거나, 광고 글을 막기 위하여 금지어로 .com, .net 등을 설정하고 있습니다. 다소간의 불편함이 있으시더라도 양해 바랍니다.
- 금지어에서 stackexchange, stackoverflow, ctan, overleaf, , github, google.com, gmail.com, .org, .io, sil.org, wiki.com, tistory.com등은 해제하였습니다.
- MathJax를 이용한 수식조판을 사용하실 수 있습니다. 여기를 참조하세요.
- 사용하는 편집기는 CKeditor입니다.
- 편집기에서 [enter]를 누르면 <p> 태그가 들어가고, 문단으로 생각하고 한 줄을 비웁니다.
- 글줄만 바꾸려면 [shift-enter]를 누르면 <BR> 태그가 들어가므로 용도에 맞게 나누어 쓸 수 있습니다.
- 수식를 문서내에 삽입하시려면 에디터를 툴바에서 [소스]를 눌러 HTML로 입력할 수 있게 바꾸신 후 <pre> </pre> tag를 사용하셔서 <pre> 여러 줄의 수식 </pre>처럼 입력하시면 좋습니다.
Bibliography를 출력하려는데 Biber를 실행하라는 메시지가 나옵니다.
2022.07.22 04:34
안녕하세요.
며칠 전에 귀한 가르침 감사히 받았습니다. 덕분에 TeX과 Bib를 연계하여 References를 만드는 법에 익숙해졌습니다.
이에 더하여 References가 아니라 Bibliography를 작성하다가 궁금한 점이 생겨 질문을 올립니다.
\printbibliography라는 명령을 주면 작성할 수 있다는 말을 듣고 실행을 했는데 Console에서는 Bib 파일을 제대로 읽지 못하는 것 같고, 그에 더하여 Please (re)run Biber on the file .... 이라는 메시지가 나옵니다. 이런 경우는 어떻게 해야 하는지 궁금합니다.
첨부파일에는 TeX, bib, console (capture), 출력화면이 담겨 있으며, Bib 파일을 지정해 주는 부분은 제 작업 환경을 반영한 것이라 약간 길게 표기되어 있습니다.
제가 작업하는 환경은
Mac OS Monterey Version 12.4이고
TeXShop version 4.78을 이용하고 있습니다.
여기까지 읽어 주셔서 감사합니다.
댓글 7
-
noname
2022.07.22 07:04
-
구름
2022.07.23 04:52
귀한 말씀 감사합니다. 아쉽게도 제가 기초가 부족하여 알려 주신 정보를 제대로 소화하지 못하고 있습니다.
(1) 이해했습니다.
(2) 시험삼아 말씀대로 \usepackage[backend=bibtex]{biblatex}을 넣고, 기존에 있던 \usepackage{biblatex}를 중지시켜 보았습니다. 그랬더니 Bib 파일을 읽어들이는 것이 눈에 보이고 결과물도 나옵니다. 다만, 저는 참고문헌(References, 인용문헌 3가지)가 아니라 서지사항(Bibliography, 파일에 들어 있는 문헌 8가지)를 인쇄하고 싶었던지라 어떻게 수정해야 할 지 모르겠습니다.
(3) 이전 도움말씀을 통해 BibTeX 컴파일을 이해하고 실행할 수 있게 되었습니다. 그렇지만 Biber는 어떻게 컴파일해야 할 지 감이 안 옵니다. Mac TexShop의 typeset 메뉴에서 BibTeX은 찾을 수 있지만, Biber라는 항목을 발견할 수 없어서 그렇습니다.
(4) 말씀대로 xelatexmk.engine 파일을 찾아 Engines 폴더에 복사했습니다. %!TEX program = xelatexmk 문장이 문제네요. %가 붙은 상태에서는 (아마도 명령어로서는 무효가 되는지라) 작업은 진행됩니다. 하지만 제가 원하던 서지사항이 아니라 참고문헌이 나온다는 점이 고쳐지지 않습니다 (이 문제는 1번에서 말씀드렸습니다.) 그래서 %을 떼고 !TEX program = xelatexmk를 (a) \documentclass 보다도 윗줄에 넣으면 에러가 나고, (b) \begin{document} 다음 줄에 넣으면 !TEX program = xelatexm 라는 문자열만 나오는군요. 아무래도 제가 조언을 제대로 이해하지 못한 것 같습니다.
(5) 기초가 많이 부족합니다만 가르쳐 주시는 말씀에 따라 꾸준히 배우겠습니다. 감사합니다.
-
noname
2022.07.23 08:58
2-(1) 본문에서 인용되지 않은 문헌을 문헌목록에 넣기
bibtex이나 biber는 문서의 본문에서 \cite된 문헌만을 bib 데이터베이스에서 찾아내어서 bibliography 목록에 포함하는 일을 합니다. \cite되지 않은 문헌을 목록에 넣기 위해서는 \nocite 명령으로 이를 명시적으로 본문에서 밝혀주어야 합니다.
예컨대 이 샘플에서 test로 참조되는 문헌을 본문에서는 인용하지 않고 참고문헌에는 넣기 위해서
\nocite{test}
명령이 적어도 한 번 필요합니다. 이 명령은 \printbibliography 또는 \bibliography 명령을 주기 전, 문서의 맨 마지막에 적어두는 것이 관행입니다.
\nocite{*}
별표를 인자로 주면, bib 파일 안에 있는 모든 문헌을 문헌 목록에 넣습니다.이 장치(명령)이 마련되어 있기는 하지만 "인용하지 않은 문헌을 Bibliography에 넣는 것"은 일반적으로 금지되어 있는 것으로 압니다. 그리고 bib 파일은 보통 연구자가 그 분야에서 공부해오면서 축적한 거의 모든 문헌을 망라하고 있을 때가 많아서, \nocite{*} 결과 수천 개의 문헌이 목록으로 나오는 참사(?)가 발생하는 경우도 있겠습니다.
2-(2) 타이틀을 References에서 Bibliography로 바꾸기
이것은 클래스에 따라 하는 방법이 여러 가지 있습니다만, biblatex이라면 간단히
\printbibliography[title=Bibliography]
이렇게 할 수 있습니다.
3. TeXShop에서 Biber를 단독으로 실행하기
biber를 실행하는 고전적이고 표준적인 방법은 터미널을 열고 명령행으로 지시하는 것입니다. 인자로는 .tex을 뺀 basename을 주는 것이 원칙입니다.
biber main
TeXShop에서는, BibTeX 조판 명령을 실행했을 때의 디폴트 엔진을 설정할 수 있습니다. 다음 Preferences 설정 화면에서 bibtex을 biber로 바꾸고 컴파일 메뉴의 BibTeX을 실행해 보십시오.4. magic comment에 관하여
%!TEX 으로 시작하는 문장을 "매직 코멘트"라고 합니다. 이것은 여러 설정이나 에디터 동작을 제어하기 위한 주석문입니다. 주석문이므로 반드시 % 부호로 시작되어야 합니다. 에디터의 동작을 제어하는 것이 목적이므로 문서 파일의 맨 첫줄에 있는 것이 원칙입니다. 지워버려도 문서 내용에 아무런 영향도 끼치지 않아야 합니다.
에디터에 따라 이 코멘트 문장을 이해하는 정도가 다르고 세부적으로 신택스도 조금씩 다른데, TeXShop 에디터의 것을 기준으로 말씀드린 것입니다.
-
likesam
2022.07.23 12:00
(4) 에서
"%을 떼고 !TEX program = xelatexmk를 \documentclass 보다도 윗줄에 넣으면 에러가 나고, \begin{document} 다음 줄에 넣으면 !TEX program = xelatexm 라는 문자열만 나오는군요."
라는 부분에 대해서 말씀을 드리자면, 이 줄은 %가 있는 것이 맞습니다. TeX의 소스에서 컴파일되어야 하는 부분이 아니고, 에디터 혹은 latexmk, arara등 컴파일을 도와주는 유틸리티에게 hint를 주는 것입니다. magic comment 를 참조하세요.
-
구름
2022.07.23 23:00
매직 코멘트를 처음 배우네요. 귀한 말씀 감사합니다.
-
noname
2022.07.23 09:42
참고: TeXShop과 BibDesk
MacTeX은 TeXShop과 더불어 BibDesk라는 유틸리티를 함께 설치해줍니다. BibDesk의 용도는 여러 가지지만 TeXShop과 함께 사용할 때 돋보이는 게 하나 있습니다.
사실 bib 파일로 문헌 관리를 하면서 문서 작성할 때 귀찮은 것이 "참조자"를 일일이 확인해야 하는 것입니다. \cite{<refid>}에서 refid 부분을 확인하고 오타없이 입력해야 하는 것인데요, BibDesk로 bib 파일을 열어놓고 그냥 TeXShop 편집 화면으로 해당하는 항목을 Drag&Drop하면 \cite{....}를 완성해줍니다. \cite를 \citet나 \citep로 고치는 (한 글자 쳐넣는) 수고는 부득이하지만 이것, 해보면 굉장히 편합니다.
Windows에서는 드래그&드롭하는 방법은 찾아내지 못하였고, JabRef에서 Ctrl-Shift-K로 복사하여 에디터에 Ctrl-V로 refid를 붙여넣는 것이 그나마 쉽게 작업하는 것이었다고 기억합니다. 좋은 방법을 아시는 분은 공유해주세요.
-
구름
2022.07.23 23:06
댓글 보면서 정말 감사합니다. 이렇게 상세히 설명해 주신 덕분에 하나하나 따라하여 결과를 얻었습니다.
기술적인 부분은 모두 다 알려주신 대로 성공했습니다. 기술 부문과 약간 별개로 "인용하지 않은 문헌을 Bibliography에 넣는 것"에 대해서 말씀드리고자 합니다. Bibliography와 Reference (list)에 대한 설명이 약간씩 다르긴 하지만, 여기서는 다음 설명을 따르겠습니다.
A reference list is the detailed list of references that are cited in your work. A bibliography is a detailed list of references cited in your work, plus the background readings or other material that you may have read, but not actually cited. (https://intranet.birmingham.ac.uk/as/libraryservices/library/referencing/icite/harvard/referencelist.aspx#:~:text=A%20bibliography%20is%20a%20detailed,check%20with%20your%20tutor%20first.)
이렇게 구분할 때, 제가 공부하는 문헌학 부문에서는 그리고 학위 논문에서는 Reference list 뿐만 아니라 본문에 직접 인용하지 않았더라도 중요한 문헌을 포함시켜야 할 필요가 있습니다. 그래서 Bibliography에 대해 여쭈었고, 선생님께서 알려주신 방법에 따라 만드는 방법을 배웠습니다. 감사합니다.
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
공지 | Minimal Working Example을 첨부해주세요 [4] | nanim | 2015.06.23 | 228124 |
13 | /bibitem으로 구성된 파일을 \printbibliography와 연계할 수 있을지 궁금합니다. [6] | 구름 | 2022.08.03 | 1079 |
» |
Bibliography를 출력하려는데 Biber를 실행하라는 메시지가 나옵니다.
[7] ![]() | 구름 | 2022.07.22 | 962 |
11 | 참고 문헌을 작성할 때 날짜 관련 (accessed on) [1] | ㅇㅇ | 2022.01.19 | 701 |
10 |
국내 논문에 대해서만 'et al.' 대신 '외'를 적용하는 방법(추가 질문)
[2] ![]() | shdh | 2021.12.18 | 639 |
9 | kaoclass에서 한글을 사용하려면 [4] | 처음처럼 | 2021.10.20 | 763 |
8 | 한글 논문 참조할 때 문제 사항을 문의 드립니다. [8] | 초보 | 2021.07.19 | 2167 |
7 | Reference를 bib파일로 저장하여 컴파일할때 생긴 문제점 [18] | onsagerian | 2020.04.15 | 14357 |
6 | 3인 공저 논문 인용 시 et al. 설정 해제 [3] | 김준용 | 2018.06.01 | 1827 |
5 | xelatex를 이용하면서 bibtex를 사용하는법 [6] | 핵뉴비 | 2016.04.11 | 1481 |
4 | thebibliography 생성 [10] | 포스테키안 | 2015.02.23 | 3516 |
3 | subfiles패키지를 이용, 서로 다른 폴더의 father 파일과 child 파일을 개별 컴파일할때, bibliography 파일을 어떻게 다룰지? [2] | albatross | 2014.08.20 | 1900 |
2 | Chicago citation 스타일 [1] | 쿨가이짱구 | 2013.10.15 | 3137 |
1 |
beamer에서 biblatex 사용시 bibstyle=numeric 옵션이 안먹히는 경우
[2] ![]() | mcpark | 2013.04.25 | 9598 |
1. bibtex과 biber
bibtex과 biber는 둘 다 "문헌 데이터베이스 관리 프로그램"입니다. bibtex은 아주 오래된 프로그램이고 biber가 좀더 최신의 것입니다. 세세한 차이에 대해서 자세히 말할 여유는 없지만 대체로 유니코드를 주로 사용하고 복잡한 인용 및 문헌목록을 작성해야 하는 경우에 biber를 선호하는 사람이 늘어나고 있습니다만 bibtex으로 충분할 때도 많습니다.
2. biblatex 패키지
biblatex 패키지는 bibtex이나 biber 둘 다 backend 유틸리티로 사용할 수 있습니다. 전통적인 \bibliography 명령과 \bibliographystyle 만으로 충분히 구현하기 까다로운 문헌 및 인용 양식을 대거 지원하는 극도로 복잡한 패키지이지만 자유도가 높아서 원하는 결과를 얻는 것이 (쉽지는 않으나) 가능하다는 이유로 최근 자주 쓰이고 있습니다. (사실은 bst 파일을 수정하거나 작성하는 것이 너무 난해한 관계로 더 익숙한 latex 매크로 형식으로 인용 및 문헌목록을 작성하려는 요구에 부응했다는 느낌이 강합니다만.)
\addbibresource나 \printbibliography 같은 명령은 biblatex에서 제공하는 것입니다.
biblatex의 default backend engine은 biber입니다. 만약 bibtex으로 돌도록 하고 싶다면
\usepackage[backend=bibtex]{biblatex}
이렇게 선언해야 합니다. (이 샘플에서 굳이 이렇게 하여 bibtex을 부를 필요는 없다고 생각합니다.)
3. 컴파일 루트
biblatex을 사용한 문서에서 backend가 무엇이냐에 따라, 예컨대 biber라면
xelatex -> biber -> xelatex
순으로 컴파일해야 하고 bibtex으로 지정하였다면
xelatex -> bibtex -> xelatex
순으로 컴파일하여야 합니다. bibtex의 경우 최초는 한 번 더 컴파일하여야 할 수 있습니다.
4. 작업 흐름 자동화
overleaf에서는 이런 거 신경 안 써도 backend가 뭔지 알아서 다 해주지요? 이것을 "작업 흐름 자동화"라고 하는데, 앞서 잠시 언급한 spix나 arara 같은 것도 작업 흐름 자동화 유틸리티입니다. overleaf에서 사용하고 있는 것은 latexmk라는 것인데요, main.tex에 대하여
latexmk -xelatex main.tex
이렇게 명령을 내리면 biber가 될지 bibtex이 될지 소스를 분석하여 실행하여 줍니다. 한 번 더 컴파일해야 할 필요가 있는지도 확인해서 완성된 문서를 한 번의 명령으로 생성합니다.
TeXShop에서라면 다음과 같은 magic comment를 문서의 첫머리에 달면 되는데요,
%!TEX program = xelatexmk
만약 xelatexmk.engine을 발견할 수 없다고 하면, TeXShop의 "TeXShop 메뉴"에서 "~/라이브러리/TeXShop 폴더 열기"라는 항목을 선택하여 파인더에서 TeXShop 폴더를 여십시오. 그 하위 폴더 중에 Engines라는 것이 있는데 여기 들어가 보면 Inactive라는 폴더가 또 있습니다. 그 아래에 Latexmk라는 폴더에 보면 xelatexmk.engine이라는 파일이 있을 것인데 이것을 Engines 폴더(즉 ../../)로 복사하십시오.
이제 Cmd-T를 누르면 다 알아서 해줄 겁니다.
5. 첨언
biblatex은 굉장하고 엄청난 패키지이지만 사용법에 익숙해지는 데는 상당한 공부가 필요합니다. 그건 또 그것대로 재미있는 일이 될 것입니다.