如何更改 biblatex 中翻译器的缩写

如何更改 biblatex 中翻译器的缩写

我想将 bibltex 中翻译器当前的缩写“Übers. von”更改为“Übersetzt von”。似乎有一个类似的问题,但答案中省略了翻译部分:Biblatex:避免使用“编辑”或“翻译”的缩写(修改历史学家 bibstyle) 输出 先感谢您!

参考文献:

@book{Hammitzsch.1962,
 editor = {Hammitzsch, Horst},
 year = {1962},
 location = {T\={o}ky\={o}, Wiesbaden},
 publisher = {Otto Harrassowitz},
 addendum = {Deutsche Gesellschaft für Natur- und Völkerkunde Ostasiens; 43},
 title = {Rikkokushi. Die amtlichen Reichsannalen Japans},
 subtitle = {Die Regierungs-annalen Kammu-Tenn\={o}. Shoku Nihongi 36-40 und Nihon-K\={o}ki 1-13},
 translator = {Lewin, Bruno},
 keywords = {primary}
} 

主文件

\documentclass[12pt,a4paper,headings=standardclasses,numbers=noenddot]{scrreprt}
%\usepackage{showframe}
\usepackage[left=2.50cm, right=2.50cm, top=2.50cm, bottom=2.00cm]{geometry}
\usepackage[onehalfspacing]{setspace}
\usepackage[main=ngerman, english]{babel}
\usepackage[babel, german=quotes]{csquotes}
\usepackage[ngerman]{isodate}
\usepackage[ngerman]{datetime}

 \usepackage[
    backend=biber,
    style=authoryear,
    sorting=nyvt, % sort by name, year, volume, title
    maxnames=25, % max author names before abbr
    dashed=false % multiple works of an author
  ]{biblatex}
 \addbibresource{library.bib}

\renewcommand{\mkbibnamefamily}[1]{\textsc{#1}}
\renewcommand{\labelnamepunct}{\addcolon\space}
\DeclareFieldFormat{postnote}{#1}
\DeclareFieldFormat{multipostnote}{#1}
\renewcommand\postnotedelim{\addcolon\addspace}
\DeclareFieldFormat
  [article,inbook,incollection,inproceedings,patent,unpublished]
  {title}{#1\isdot}

\begin{document}
\nocite{*}
\printbibheading[heading=bibintoc,title={Literaturverzeichnis}]
\printbibliography[heading=subbibliography,keyword={primary},title={Prim{\"a}rquellen}]
\end{document}

答案1

字符串都是在<language>.lbx文件中定义的。对于ngerman,您会注意到,它german.lbx引用了大多数字符串。您可以浏览此文件以查找要更改的字符串,然后使用\DefineBibliographyStrings以下命令重新定义它们:

\makeatletter
\DefineBibliographyStrings{ngerman}{%
  bytranslator = {\lbx@lfromlang \"ubersetzt von},
}
\makeatother

完整 MWE:

\documentclass[12pt,a4paper,headings=standardclasses,numbers=noenddot]{scrreprt}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{Hammitzsch.1962,
 editor = {Hammitzsch, Horst},
 year = {1962},
 location = {T\={o}ky\={o}, Wiesbaden},
 publisher = {Otto Harrassowitz},
 addendum = {Deutsche Gesellschaft für Natur- und Völkerkunde Ostasiens; 43},
 title = {Rikkokushi. Die amtlichen Reichsannalen Japans},
 subtitle = {Die Regierungs-annalen Kammu-Tenn\={o}. Shoku Nihongi 36-40 und Nihon-K\={o}ki 1-13},
 translator = {Lewin, Bruno},
 keywords = {primary}
} 
\end{filecontents}

\usepackage[main=ngerman, english]{babel}
\usepackage[babel, german=quotes]{csquotes}

 \usepackage[
    backend=biber,
    style=authoryear,
    sorting=nyvt, % sort by name, year, volume, title
    maxnames=25, % max author names before abbr
    dashed=false % multiple works of an author
  ]{biblatex}
\addbibresource{\jobname.bib}

\renewcommand{\mkbibnamefamily}[1]{\textsc{#1}}
\renewcommand{\labelnamepunct}{\addcolon\space}
\DeclareFieldFormat{postnote}{#1}
\DeclareFieldFormat{multipostnote}{#1}
\renewcommand\postnotedelim{\addcolon\addspace}
\DeclareFieldFormat
  [article,inbook,incollection,inproceedings,patent,unpublished]
  {title}{#1\isdot}

\makeatletter
\DefineBibliographyStrings{ngerman}{%
  bytranslator = {\lbx@lfromlang \"ubersetzt von},
}
\makeatother

\begin{document}
\nocite{*}
\printbibheading[heading=bibintoc,title={Literaturverzeichnis}]
\printbibliography[heading=subbibliography,keyword={primary},title={Prim{\"a}rquellen}]
\end{document}

输出

相关内容