나는 책을 인용하고 싶다. MathSciNet에서 다음과 같은 참고문헌 정보를 얻었습니다.
@book {Brylinski,
AUTHOR = {Brylinski, Jean-Luc},
TITLE = {Loop spaces, characteristic classes and geometric
quantization},
SERIES = {Progress in Mathematics},
VOLUME = {107},
PUBLISHER = {Birkh\"{a}user Boston, Inc., Boston, MA},
YEAR = {1993},
PAGES = {xvi+300},
ISBN = {0-8176-3644-7},
MRCLASS = {57Rxx (18G50 55P35 58F06)},
MRNUMBER = {1197353},
MRREVIEWER = {Daniel S. Freed},
DOI = {10.1007/978-0-8176-4731-5},
URL = {https://doi.org/10.1007/978-0-8176-4731-5},}
불행하게도 형식이 지정된 서지 항목에는 페이지 수가 표시되지 않습니다(항목 pages
필드에 저장됨). 다음과 같이 나옵니다.
장 뤽 브릴린스키. 루프 공간, 특성 클래스 및 기하학적 양자화, Progress in Mathematics 107권. Birkhäuser Boston, Inc., 보스턴, 매사추세츠, 1993.
페이지 수도 언급되도록 하려면 어떻게 변경해야 합니까?
최소한의 작업 예는 다음과 같습니다.
\documentclass[12pt,reqno,a4paper]{amsart}
%\usepackage[utf8]{inputenc} % not needed with up-to-date TeX systems
\usepackage[english]{babel}
\usepackage{amsmath,amsthm,amsfonts,amssymb}
\usepackage{mathtools}
\usepackage{color}
\usepackage{mathrsfs}
\usepackage[all]{xy}
\usepackage{tikz-cd}
\usepackage[normalem]{ulem} % do you *really* need it?
\usepackage{datetime}
\usepackage{hyperref}
\theoremstyle{definition}
\newtheorem{theorem}{Theorem}[section]
\newtheorem{construction}{Construction}[section]
\newtheorem{corollary}{Corollary}[section]
\newtheorem{lemma}{Lemma}[section]
\newtheorem{definition}{Definition}[section]
\newtheorem{remark}{Remark}[section]
\newtheorem{proposition}{Proposition}[section]
\newtheorem{example}{Example}[section]
\newtheorem*{question}{Question}
\newtheorem*{solution}{Solution}
\newtheorem{exercise}{Exercise}
\newcommand{\mc}{\mathcal}
\newcommand{\mf}{\mathfrak}
\newcommand{\xra}{\xrightarrow}
\newcommand{\ra}{\rightarrow}
\pagestyle{myheadings}
\textheight 9.3in
\textwidth 6.5in
\calclayout
% metadata
%\date{\today}
\title{****}
\author{***}
\begin{document}
%\today
\bibliography{****}
\bibliographystyle{plain}
\end{document}
독립형 MWE(해당 [overwrite]
기능을 사용하려면 최신 LaTeX 설치 필요)
\documentclass[12pt,reqno,a4paper]{amsart}
\begin{filecontents}[overwrite]{sample.bib}
@book {Brylinski,
AUTHOR = {Brylinski, Jean-Luc},
TITLE = {Loop spaces, characteristic classes and geometric
quantization},
SERIES = {Progress in Mathematics},
VOLUME = {107},
PUBLISHER = {Birkh\"{a}user Boston, Inc., Boston, MA},
YEAR = {1993},
PAGES = {100-3010},
ISBN = {0-8176-3644-7},
MRCLASS = {57Rxx (18G50 55P35 58F06)},
MRNUMBER = {1197353},
MRREVIEWER = {Daniel S. Freed},
DOI = {10.1007/978-0-8176-4731-5},
URL = {https://doi.org/10.1007/978-0-8176-4731-5},}
\end{filecontents}
%\usepackage[utf8]{inputenc} % not needed with up-to-date TeX systems
\usepackage[english]{babel}
\usepackage{amsmath,amsthm,amsfonts,amssymb}
\usepackage{mathtools}
\usepackage{color}
\usepackage{mathrsfs}
\usepackage[all]{xy}
\usepackage{tikz-cd}
\usepackage[normalem]{ulem} % do you *really* need it?
\usepackage{datetime}
\usepackage{hyperref}
\theoremstyle{definition}
\newtheorem{theorem}{Theorem}[section]
\newtheorem{construction}{Construction}[section]
\newtheorem{corollary}{Corollary}[section]
\newtheorem{lemma}{Lemma}[section]
\newtheorem{definition}{Definition}[section]
\newtheorem{remark}{Remark}[section]
\newtheorem{proposition}{Proposition}[section]
\newtheorem{example}{Example}[section]
\newtheorem*{question}{Question}
\newtheorem*{solution}{Solution}
\newtheorem{exercise}{Exercise}
\newcommand{\mc}{\mathcal}
\newcommand{\mf}{\mathfrak}
\newcommand{\xra}{\xrightarrow}
\newcommand{\ra}{\rightarrow}
\pagestyle{myheadings}
\textheight 9.3in
\textwidth 6.5in
\calclayout
% metadata
\begin{document}
\nocite{*}
\bibliography{sample}
\bibliographystyle{plain}
\end{document}
답변1
다음과 같이 진행하는 것이 좋습니다.
plain.bst
TeX 배포판에서 파일을 찾으세요 . 이 파일의 복사본을 만들고 복사본을 호출합니다plain-bookpages.bst
. (TeX 배포판의 이름이 변경되지 않은 원본 파일을 직접 편집하지 마십시오.)plain-bookpages.bst
텍스트 편집기에서 파일을 엽니다 . tex 파일을 편집하는 데 사용하는 프로그램은 제대로 작동합니다.파일에서
plain-bookpages.bst
BibTeX 함수를 찾으세요book
. 내 파일 사본에서 이 함수는 557행에서 시작됩니다.직전이 함수 에 BibTeX 함수 두 개를 포함하는 다음 코드 청크를 삽입합니다
bibinfo.check
.format.book.pages
FUNCTION {bibinfo.check} { swap$ duplicate$ missing$ { pop$ pop$ "" } { duplicate$ empty$ { swap$ pop$ } { swap$ pop$ } if$ } if$ } FUNCTION {format.book.pages} { pages "pages" bibinfo.check duplicate$ empty$ 'skip$ { " " * "pages" * } if$ }
함수 에서
book
다음 줄을 찾습니다.publisher "publisher" output.check
직전이 줄에 다음 줄을 삽입하세요.
format.book.pages output
plain-bookpages.bst
기본 tex 파일이 포함된 폴더나 BibTeX에서 검색한 폴더에 파일을 저장합니다 . 두 번째 옵션을 선택하는 경우 TeX 배포판의 파일 이름 데이터베이스를 적절하게 업데이트하십시오. 앞의 문장이 횡설수설처럼 들리면 첫 번째 옵션을 선택하는 것이 좋습니다.기본 tex 파일에서 명령을 변경
\bibliographystyle{plain}
하고\bibliographystyle{plain-bookpages}
전체 재컴파일 주기(LaTeX, BibTeX 및 LaTeX를 두 번 더 수행)를 수행하여 모든 변경 사항을 완전히 전파합니다.
즐거운 BibTeXing을 즐겨보세요!
그건 그렇고, 내 생각엔잘못된MathSciNet은 항목 게시자 및 게시자 주소에 대한 정보를 단일 필드에 결합합니다. 별도의 publisher
및 필드를 추적하는 것이 좋습니다 address
. 나는 또한 현장에서 대부분의 단어를 소문자로 바꾸는 mathscinet이 잘못되었다고 생각합니다 title
.
새로 생성된 턱받이 스타일을 사용하는 전체 MWE(최소 작업 예제)의 출력은 다음과 같습니다 plain-bookpages
.
plain
비교를 위해 참고 문헌 스타일을 사용하는 경우 항목 형식은 다음과 같습니다 .
마지막 의견: 지금까지 프로그래밍된 거의 모든 참고문헌 스타일이 다음과 같이 설정되어 있는 데에는 매우 타당한 이유가 있다는 점을 언급하지 않을 수 없습니다.무시하다pages
유형 항목의 필드 입니다 @book
. 이 이유는 무엇입니까? 글쎄요, pages
유형 항목의 필드 는 @book
독자에게 전혀 관심이 없다는 것이 거의 보장됩니다. 서지 정보는 독자가 도서관(실제 또는 전자)이나 서점에서 관심 있는 서지 항목의 사본을 얻는 데 도움이 됩니다. 그렇기 때문에publisher
분야~이다유형의 항목과 관련이 있습니다 @book
. pages
이에 비해 해당 필드 의 내용은 비교 가능한 목적을 제공하지 않습니다.
\documentclass{article}
\begin{filecontents}[overwrite]{mybib.bib}
@book{Brylinski,
AUTHOR = {Brylinski, Jean-Luc},
TITLE = {Loop Spaces, Characteristic Classes and Geometric Quantization},
SERIES = {Progress in Mathematics},
VOLUME = {107},
PUBLISHER = {Birkh{\"a}user},
address = {Boston~MA},
YEAR = {1993},
PAGES = {xvi+300},
ISBN = {0-8176-3644-7},
MRCLASS = {57Rxx (18G50 55P35 58F06)},
MRNUMBER = {1197353},
MRREVIEWER= {Daniel S. Freed},
DOI = {10.1007/978-0-8176-4731-5},
URL = {https://doi.org/10.1007/978-0-8176-4731-5},
}
\end{filecontents}
\usepackage{cite}
\bibliographystyle{plain-bookpages}
\begin{document}
\nocite{Brylinski}
\raggedright
\bibliography{mybib}
\end{document}