文章目录条目中的两位数年份

文章目录条目中的两位数年份

我正在使用该authoryear样式,并且希望我的文章的 bib 条目符合以下模式:

作者姓氏,作者名字的首字母:文章标题,在:期刊标题,卷数,发行量/两位数年份,页数

例子:

Mock, T. (2006): 媒介是什么?, 载于:Publizistik, Jg. 51,重量 2/06,页 183-200

我试图通过以下两行代码来实现这一点:

\DeclareFieldFormat*{volume}{Jg.\adddot\space#1\addcomma}
\DeclareFieldFormat*{number}{\space Heft\space#1\addslash\printfield{year}}

问题是,它\printfield{year}当然会打印出 .bib 文件中条目的四位数年份。

有什么方法可以缩短年份以仅保留最后两位数字?

提前致谢。

干杯。

编辑:我看到了这个问题仅显示 Biblatex 引文中的最后两年数字,但在尝试了一些方法之后,我发现所提出的解决方案仅适用于文本,而不适用于DeclareFieldFormat

我尝试使用

\DeclareFieldFormat{shortyear}{\mkbibshortyear#1}
\def\mkbibshortyear#1#2#3#4{#3#4}
\newrobustcmd*{\shortyear}{%
    \AtNextCite{\DeclareFieldAlias{year}{shortyear}}%
    \printfield{year}}

首先然后

\DeclareFieldFormat*{number}{\space Heft\space#1\addslash\printfield{\shortyear{year}}}

但它没有作用。

梅威瑟:

\documentclass[ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[backend=biber, style=authoryear-icomp,%
            dashed=false,%
            sorting=nyvt,%
            autocite=footnote,%
            autopunct=true,%
            backrefstyle=three+,%
            isbn=false,%
            doi=false,%
            pagetracker=true,%
            useprefix=true,%
            uniquename=init,%                       
            firstinits=true,%
            maxcitenames=2,%
            ]{biblatex} 
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@article{art.2015,
 author           = {Some Author},
 year             = {2015},
 journaltitle     = {Some Journal},
 title            = {Some Article},
 volume           = {51},
 number           = {2}
 pages            = {123-456}
}
\end{filecontents*}
\addbibresource{\jobname.bib}   

\renewcommand*{\nameyeardelim}{\addcomma\space}
\renewcommand*{\labelnamepunct}{\addcolon\space}
\renewcommand*{\multinamedelim}{\addsemicolon\space}
\renewcommand*{\finalnamedelim}{\multinamedelim}

\DeclareNameAlias{sortname}{last-first}
\DeclareNameAlias{labelname}{last-first}
\DeclareFieldFormat{title}{#1}
\DeclareFieldFormat[article]{title}{#1}
\DeclareFieldFormat{journaltitle}{#1}

\DeclareFieldFormat{shortyear}{\mkbibshortyear#1}
\def\mkbibshortyear#1#2#3#4{#3#4}
\newrobustcmd*{\shortyear}{%
    \AtNextCite{\DeclareFieldAlias{year}{shortyear}}%
    \printfield{year}}
\DeclareFieldFormat*{number}{\space Heft\space#1\addslash\shortyear{year}}
\begin{document}
Some Text \autocite{art.2015}

\printbibliography
\end{document}

答案1

你应该使用来自链接问题的声明

\DeclareFieldFormat{shortyear}{\mkbibshortyear#1}
\def\mkbibshortyear#1#2#3#4{#3#4}

然后将数字格式的定义更改为:

\DeclareFieldFormat*{number}{\space Heft\space#1\addslash\printfield[shortyear]{year}}

相关内容