
한동안 위키피디아에는 정말 멋진 인용 시스템이 있었습니다. 동일한 참조가 사용된 여러 사례가 텍스트에서는 로 표시되지만 참고 문헌 섹션에서는 , 등 1
으로 역링크됩니다.1a
1b
LaTeX에서 이와 동일한 기능을 제공하는 패키지가 있는지 궁금합니다. 나는 biblatex와 natbib만 찾을 수 있었는데, 그 중 어느 것도 그러한 인용 체계를 가지고 있지 않았습니다.
모형:
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut Labore[1] et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco Laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor[2] in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur[1]. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est Laborum[1].
[1 a,b,c] Lorem ipsum dolor sit amet
[2] Consectetur adipiscing elit, sed do eiusmod 템포
이에 따라 모든 1은 동일한 줄에 연결되지만 해당 줄에서 각 1은 하나의 문자로 다시 연결됩니다. 또는 다음의 참고문헌 및 인용 스타일을 살펴볼 수 있습니다.이 기사.
이 백본을 기반으로 이 기능의 MWE를 얻을 수 있도록 도와주세요.
\documentclass{article}
\usepackage{filecontents}
\begin{filecontents}{jobname.bib}
@book{ref1,
title = {Book's title},
author = {Author, Some},
location = {The City},
publisher = {Publisher},
date = {2005},
}
@book{ref2,
title = {Book's title},
author = {A. U. Thor},
location = {The City},
publisher = {Publisher},
date = {2005},
}
\end{filecontents}
\usepackage[style=ieee,backend=bibtex]{biblatex}
\bibliography{jobname}
\begin{document}
Lorem ipsum dolor sit amet, consectetur adipiscing elit\cite{ref1}, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat\cite{ref2}. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui\cite{ref1} officia deserunt mollit anim id est laborum.
\printbibliography
\end{document}
답변1
BibLateX 사용
\AtEveryCiteKey
각 인용 명령마다 앵커를 삽입하고 역참조를 저장하는 데 사용할 수 있습니다 . 그런 다음 BibLateX의 서식 기능을 사용하여 참고문헌 항목 어딘가에 역참조 목록을 추가할 수 있습니다.
\documentclass{article}
\usepackage{filecontents}
\begin{filecontents}{jobname.bib}
@book{ref1,
title = {Book's title},
author = {Author, Some},
location = {The City},
publisher = {Publisher},
date = {2005},
}
@book{ref2,
title = {Book's title},
author = {A. U. Thor},
location = {The City},
publisher = {Publisher},
date = {2005},
}
\end{filecontents}
\usepackage[style=ieee,backend=bibtex]{biblatex}
\bibliography{jobname}
\usepackage[colorlinks]{hyperref} % If needed
\makeatletter
\newcounter{backref@bref}
\AtEveryCitekey{% Appends a target for hyperlink, and setups backref
\stepcounter{backref@bref}%
\ifhyperref{%
\Hy@raisedlink{\hypertarget{bref.\thebackref@bref}{}}%
}{}%
\listcsxadd{bref@\abx@field@entrykey}{bref.\thebackref@bref}%
}
\AfterEndPreamble{% Needs to wait until hyperref is loaded
\DeclareFieldFormat{labelnumberwidth}{%
\printtext[brackets]{#1% Label number
\setcounter{backref@bref}{0}%
\renewcommand*{\do}[1]{
\stepcounter{backref@bref}%
\ifhyperref{\hyperlink{##1}{\alph{backref@bref}}}%
{\alph{backref@bref}}%
}%
\dolistcsloop{bref@\abx@field@entrykey}% List of back refs
}%
}}
\makeatother
\begin{document}
Lorem ipsum sit amet, consectetur adipiscing elit\cite{ref1}, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat\cite{ref2}. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui\cite{ref1} officia deserunt mollit anim id est laborum.
\printbibliography
\end{document}
BibTeX 및 hyperref
/ 사용backref
hyperref
옵션 이 있는 패키지를 사용하여 이를 수행하는 방법은 다음과 같습니다 backref
. 단순히 a,b,...
카운터를 증가시켜 역참조를 인쇄합니다 .
\makeatletter
\newcounter{backref@bref} %Define new counter
\long\def\hyper@letters@backref#1#2#3{ %Defines new backref printer
\stepcounter{backref@bref}%
\hyperlink{#3}{\alph{backref@bref}}% Shows backref@bref as a letter
}
\let\backrefxxx\hyper@letters@backref %Selects printer
\renewcommand{\backref}[1]{%
\setcounter{backref@bref}{0} %Reset the counter at each ref
[#1\ ]%
}
\makeatother
Wikipedia와 같이 참조 라벨 내부에 역참조를 넣으려면 \bibitem
.
또한 이 backref
패키지는 역참조의 섹션이나 페이지 번호를 인쇄하도록 설계되었기 때문에 a,b..
번호 매기기보다 더 좋습니다.특히 문서를 인쇄하려는 경우.