![如何防止 BibLaTeX 以作者年份格式缩写作者姓名的“von 部分”?](https://linux22.com/image/455656/%E5%A6%82%E4%BD%95%E9%98%B2%E6%AD%A2%20BibLaTeX%20%E4%BB%A5%E4%BD%9C%E8%80%85%E5%B9%B4%E4%BB%BD%E6%A0%BC%E5%BC%8F%E7%BC%A9%E5%86%99%E4%BD%9C%E8%80%85%E5%A7%93%E5%90%8D%E7%9A%84%E2%80%9Cvon%20%E9%83%A8%E5%88%86%E2%80%9D%EF%BC%9F.png)
我正在撰写一份authoryear
风格化的文档。我的两个参考文献恰好有相同的姓氏,因此他们的名字出现在引文中。这是意料之中的,但我还发现biblatex
缩写了“de”助词(在葡萄牙语中很常见,与其他一些欧洲语言中的“von 部分”相对应),这是我不想要的功能。我尝试使用prefix-i={de}
来解决这个问题,但它一直缩写为“d.”(带点)。我也尝试使用 来解决这个问题shortauthor
,但这种方法似乎也没什么用。
我怎样才能避免biblatex
使用这个缩写?
梅威瑟:
\documentclass{article}
\usepackage[style=authoryear]{biblatex}
\begin{filecontents}{\jobname.bib}
@article{tome2015StochasticApproachEquilibrium,
title = {Stochastic Approach to Equilibrium and Nonequilibrium Thermodynamics},
author = {Tomé, Tânia and family=Oliveira, given=Mário José, prefix=de, useprefix=false},
date = {2015-04-29},
journaltitle = {Physical Review E},
shortjournal = {Phys. Rev. E},
volume = {91},
number = {4},
eprint = {1503.04342},
eprinttype = {arxiv},
primaryclass = {cond-mat.stat-mech},
doi = {10.1103/PhysRevE.91.042140},
archiveprefix = {arXiv},
eid = {042140},
langid = {english}
}
@article{oliveira2018FinitesizeScalingDiscontinuous,
title = {Finite-Size Scaling for Discontinuous Nonequilibrium Phase Transitions},
author = {family=Oliveira, given=Marcelo M., prefix=de, useprefix=false and family=Luz, given=M. G. E., prefix=da, useprefix=false and Fiore, Carlos E.},
date = {2018-06-08},
journaltitle = {Physical Review E},
shortjournal = {Phys. Rev. E},
volume = {97},
number = {6},
eprint = {1804.00467},
eprinttype = {arxiv},
primaryclass = {cond-mat.stat-mech},
doi = {10.1103/PhysRevE.97.060101},
archiveprefix = {arXiv},
eid = {060101},
langid = {english}
}
\end{filecontents}
\addbibresource{\jobname.bib}
\pagestyle{empty}
\begin{document}
Obtained: \cite{tome2015StochasticApproachEquilibrium,oliveira2018FinitesizeScalingDiscontinuous}.
Desired: Tomé and M. J. de Oliveira 2015; M. M. de Oliveira, Luz, and Fiore 2018.
\printbibliography
\end{document}
结果:
水电与prefix-i={de}
\documentclass{article}
\usepackage[style=authoryear]{biblatex}
\begin{filecontents}{\jobname.bib}
@article{tome2015StochasticApproachEquilibrium,
title = {Stochastic Approach to Equilibrium and Nonequilibrium Thermodynamics},
author = {Tomé, Tânia and family=Oliveira, given=Mário José, prefix=de, prefix-i={de}, useprefix=false},
date = {2015-04-29},
journaltitle = {Physical Review E},
shortjournal = {Phys. Rev. E},
volume = {91},
number = {4},
eprint = {1503.04342},
eprinttype = {arxiv},
primaryclass = {cond-mat.stat-mech},
doi = {10.1103/PhysRevE.91.042140},
archiveprefix = {arXiv},
eid = {042140},
langid = {english},
}
@article{oliveira2018FinitesizeScalingDiscontinuous,
title = {Finite-Size Scaling for Discontinuous Nonequilibrium Phase Transitions},
author = {family=Oliveira, given=Marcelo M., prefix=de, prefix-i={de}, useprefix=false and family=Luz, given=M. G. E., prefix=da, useprefix=false and Fiore, Carlos E.},
date = {2018-06-08},
journaltitle = {Physical Review E},
shortjournal = {Phys. Rev. E},
volume = {97},
number = {6},
eprint = {1804.00467},
eprinttype = {arxiv},
primaryclass = {cond-mat.stat-mech},
doi = {10.1103/PhysRevE.97.060101},
archiveprefix = {arXiv},
eid = {060101},
langid = {english},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\pagestyle{empty}
\begin{document}
Obtained with \verb|prefix-i={de}|: \cite{tome2015StochasticApproachEquilibrium,oliveira2018FinitesizeScalingDiscontinuous}.
Desired: Tomé and M. J. de Oliveira 2015; M. M. de Oliveira, Luz, and Fiore 2018.
\printbibliography
\end{document}
结果prefix-i={de}
MWE 具有shortauthor
:
\documentclass{article}
\usepackage[style=authoryear]{biblatex}
\begin{filecontents}{\jobname.bib}
@article{tome2015StochasticApproachEquilibrium,
title = {Stochastic Approach to Equilibrium and Nonequilibrium Thermodynamics},
author = {Tomé, Tânia and family=Oliveira, given=Mário José, prefix=de, useprefix=false},
date = {2015-04-29},
journaltitle = {Physical Review E},
shortjournal = {Phys. Rev. E},
volume = {91},
number = {4},
eprint = {1503.04342},
eprinttype = {arxiv},
primaryclass = {cond-mat.stat-mech},
doi = {10.1103/PhysRevE.91.042140},
archiveprefix = {arXiv},
eid = {042140},
langid = {english},
shortauthor = {Tomé, Tânia and family=Oliveira, given=Mário José, prefix=de, useprefix=true},
}
@article{oliveira2018FinitesizeScalingDiscontinuous,
title = {Finite-Size Scaling for Discontinuous Nonequilibrium Phase Transitions},
author = {family=Oliveira, given=Marcelo M., prefix=de, useprefix=false and family=Luz, given=M. G. E., prefix=da, useprefix=false and Fiore, Carlos E.},
date = {2018-06-08},
journaltitle = {Physical Review E},
shortjournal = {Phys. Rev. E},
volume = {97},
number = {6},
eprint = {1804.00467},
eprinttype = {arxiv},
primaryclass = {cond-mat.stat-mech},
doi = {10.1103/PhysRevE.97.060101},
archiveprefix = {arXiv},
eid = {060101},
langid = {english},
shortauthor = {family=Oliveira, given=Marcelo M., prefix=de, useprefix=true and family=Luz, given=M. G. E., prefix=da, useprefix=true and Fiore, Carlos E.},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\pagestyle{empty}
\begin{document}
Obtained with \verb|shortauthor|: \cite{tome2015StochasticApproachEquilibrium,oliveira2018FinitesizeScalingDiscontinuous}.
Desired: Tomé and M. J. de Oliveira 2015; M. M. de Oliveira, Luz, and Fiore 2018.
\printbibliography
\end{document}
结果为shortauthor
:
评论:
虽然我试图大致遵循芝加哥指南,但我宁愿不使用,biblatex-chicago
因为我biblatex-ext
在其他地方使用的功能似乎与该软件包很麻烦。因此,我更喜欢更接近的解决方案authoryear
。请注意,我确实想保留useprefix=false
在参考书目中。理想情况下,该解决方案也可以轻松在 Zotero 中实现,但我知道这可能更难做到(如果可能的话),所以我也会接受完全忽略 Zotero 的答案。
答案1
引文中名称的格式由名称格式控制labelname
。它根据不同的uniquename
值进行分支。
其默认定义是
% Used in some citations
\DeclareNameFormat{labelname}{%
\ifcase\value{uniquename}%
\usebibmacro{name:family}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}%
\or
\ifuseprefix
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffixi}}
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefixi}
{\namepartsuffixi}}%
\or
\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}%
\fi
\usebibmacro{name:andothers}}
因此,当只需要首字母时,biblatex
使用缩写名称前缀,并且是。我们总是想使用,所以可以永远摆脱测试。\namepartprefixi
useprefix
false
\nameprefix
\ifuseprefix
\documentclass{article}
\usepackage[style=authoryear]{biblatex}
\DeclareNameFormat{labelname}{%
\ifcase\value{uniquename}%
\usebibmacro{name:family}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}%
\or
\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffixi}%
\or
\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}%
\fi
\usebibmacro{name:andothers}}
\begin{filecontents}{\jobname.bib}
@article{tome2015StochasticApproachEquilibrium,
title = {Stochastic Approach to Equilibrium and Nonequilibrium Thermodynamics},
author = {Tomé, Tânia and family=Oliveira, given=Mário José, prefix=de, useprefix=false},
date = {2015-04-29},
journaltitle = {Physical Review E},
shortjournal = {Phys. Rev. E},
volume = {91},
number = {4},
eprint = {1503.04342},
eprinttype = {arxiv},
primaryclass = {cond-mat.stat-mech},
doi = {10.1103/PhysRevE.91.042140},
archiveprefix = {arXiv},
eid = {042140},
langid = {english}
}
@article{oliveira2018FinitesizeScalingDiscontinuous,
title = {Finite-Size Scaling for Discontinuous Nonequilibrium Phase Transitions},
author = {family=Oliveira, given=Marcelo M., prefix=de, useprefix=false
and family=Luz, given=M. G. E., prefix=da, useprefix=false and Fiore, Carlos E.},
date = {2018-06-08},
journaltitle = {Physical Review E},
shortjournal = {Phys. Rev. E},
volume = {97},
number = {6},
eprint = {1804.00467},
eprinttype = {arxiv},
primaryclass = {cond-mat.stat-mech},
doi = {10.1103/PhysRevE.97.060101},
archiveprefix = {arXiv},
eid = {060101},
langid = {english}
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
Obtained: \cite{tome2015StochasticApproachEquilibrium,
oliveira2018FinitesizeScalingDiscontinuous}.
Desired: Tomé and M. J. de Oliveira 2015; M. M. de Oliveira, Luz, and Fiore 2018.
\printbibliography
\end{document}