我有一个问题。我想要一个带有前缀标志的间接引用。是否可以设计一个新的\cite
命令,按如下方式输出源[vgl. 1]
。如您所见,添加了。这就是我写示例vgl.
时一直想要的。有这样的可能性吗?\citewp
我拥有的
Let's cite! The Einstein's journal paper [1] (~\cite) are physics related items.
我想要的是
Let's cite! The Einstein's journal paper [vgl. 1] (~\citewp) are physics related items.
\documentclass{article}
\usepackage[utf8]{inputenc}
\RequirePackage{filecontents}
\begin{filecontents*}{\bibliography.bib}
@article{einstein,
author = {Albert Einstein},
title = {{Zur Elektrodynamik bewegter Körper}. ({German})
[{On} the electrodynamics of moving bodies]},
journal = {Annalen der Physik},
volume = {322},
number = {10},
pages = {891--921},
year = {1905},
DOI = {http://dx.doi.org/10.1002/andp.19053221004},
}
@online{ApoG,
Address = {03.08.2013},
Edition = {15.10.1980},
Publisher = {juris GmbH},
Title = {ApoG - Gesetz {\"u}ber das Apothekenwesen},
Url = {www.juris.de/purl/gesetze/_ges/ApoG},
Year = {1980},
}
\end{filecontents*}
\usepackage[ngerman]{babel}
\usepackage[%
backend=bibtex % biber or bibtex
%,style=authoryear % Alphabeticalsch
,style=numeric-comp % numerical-compressed
,sorting=none % no sorting
,sortcites=true % some other example options ...
,block=none
,indexing=false
,citereset=none
,isbn=true
,url=true
,doi=true % prints doi
,natbib=true % if you need natbib functions
]{biblatex}
\DefineBibliographyStrings{ngerman}{%
urlseen = {aufgerufen am}
}
\addbibresource{bibliography.bib} % better than \bibliography
\begin{document}
Let's cite! The Einstein's journal paper ~\cite{einstein} are physics related items.
\printbibliography[title=Literaturverzeichnis]
\end{document}
答案1
biblatex
的 cite 命令最多有两个可选参数
\autocite{<keys>}
\autocite[<post>]{<keys>}
\autocite[<pre>][<post>]{<keys>}
如果只给出了一个可选参数,则将其解释为参数<postnote>
。如果给出了两个可选参数,则第一个是<prenote>
,第二个是<postnote>
。
你可以给出一个<prenote>
没有一个<postnote>
如果你<postnote>
留空
\autocite[<pre>][]{<keys>}
- 通常
<postnote>
显示在引用标签后,并且传统上包含页面范围。 - 显示
<prenote>
在引用标签之前,通常包含“cf.”、“vgl.”等说明符。
因此可以
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[
backend=bibtex,
style=numeric-comp,
sorting=none,
]{biblatex}
\addbibresource{biblatex-examples.bib}
\begin{document}
Lorem \autocite[vgl.][]{sigfridsson}
Ipsum \autocite[vgl.][380]{sigfridsson}
\printbibliography[title=Literaturverzeichnis]
\end{document}
我只是坚持使用参数<prenote>
,但如果你坚持定义一个新命令,你可以尝试以下命令,它将“注入”一个<prenote>
等于“vgl。”到你的\cite
。
然后,您可以使用\autocitewp
不带参数的 ,并将获得“vgl。”。您仍然可以使用参数<prenote>
(这将覆盖“vgl。”)和普通的<postnote>
。
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[
backend=bibtex,
style=numeric-comp,
sorting=none,
]{biblatex}
\makeatletter
\newrobustcmd*{\autocitewp}{%
\AtNextCite{\def\abx@field@prenote{vgl.}}%
\autocite}
\makeatother
\addbibresource{biblatex-examples.bib}
\begin{document}
Lorem \autocitewp{sigfridsson}
ipsum \autocitewp[380]{sigfridsson}
dolor \autocitewp[cf.][381]{sigfridsson}
\printbibliography[title=Literaturverzeichnis]
\end{document}
答案2
您可以像这样定义一个新命令\newcommand{\citewp}[1]{\cite[vgl.][]{#1}}
::
\documentclass{article}
\RequirePackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@article{einstein,
author = {Albert Einstein},
title = {{Zur Elektrodynamik bewegter Körper}. ({German})
[{On} the electrodynamics of moving bodies]},
journal = {Annalen der Physik},
volume = {322},
number = {10},
pages = {891--921},
year = {1905},
DOI = {http://dx.doi.org/10.1002/andp.19053221004},
}
@online{ApoG,
Address = {03.08.2013},
Edition = {15.10.1980},
Publisher = {juris GmbH},
Title = {ApoG - Gesetz {\"u}ber das Apothekenwesen},
Url = {www.juris.de/purl/gesetze/_ges/ApoG},
Year = {1980},
}
\end{filecontents*}
\usepackage[ngerman]{babel}
\usepackage[%
backend=bibtex % biber or bibtex
%,style=authoryear % Alphabeticalsch
,style=numeric-comp % numerical-compressed
,sorting=none % no sorting
,sortcites=true % some other example options ...
,block=none
,indexing=false
,citereset=none
,isbn=true
,url=true
,doi=true % prints doi
,natbib=true % if you need natbib functions
]{biblatex}
\DefineBibliographyStrings{ngerman}{%
urlseen = {aufgerufen am}
}
\addbibresource{\jobname.bib} % better than \bibliography
\newcommand{\citewp}[1]{\cite[vgl.][]{#1}}
\begin{document}
Let's cite! The Einstein's journal paper ~\citewp{einstein} are physics related items.
\printbibliography[title=Literaturverzeichnis]
\end{document}