我正在为 Beamer 演示文稿编写引用样式。我试图将引用保留在脚注中,并仅保留必要的信息。因此,我省略了期刊文章的标题,但现在我也想引用书籍,但我找不到如何将其包含在这种样式中。我当前的代码是
\DeclareCiteCommand{\partcite}
{\usebibmacro{prenote}}
{\href{http://dx.doi.org/\thefield{doi}}{\printnames{labelname} \printfield{year}\setunit{\labelnamepunct}%
\printfield[journaltitle]{shortjournal} \printfield{volume}, \printfield{pages}\printfield{eid}}%
\newunit%
\printfield[eprint:arxiv]{eprint}.
}
{\addsemicolon\space}
{\usebibmacro{postnote}}
答案1
从你的问题来看,你是不是想打印书名,这一点并不完全清楚。但你可以使用测试\iffieldequalstr{<field>}{<string>}{<true>}{<false>}
(Biblatex 文档第 251 页)来测试,entrytype
并在其满足以下条件时打印书名book
(这在布尔语法中意味着true
):
\DeclareCiteCommand{\partcite}
{\usebibmacro{prenote}}
{\href{http://dx.doi.org/\thefield{doi}}{\printnames{labelname} \printfield{year}\setunit{\labelnamepunct}%
\iffieldequalstr{entrytype}{book}{\printfield{title}}{\printfield[journaltitle]{shortjournal} \printfield{volume}},
\printfield{pages}\printfield{eid}}%
\newunit%
\printfield[eprint:arxiv]{eprint}.
}
{\addsemicolon\space}
{\usebibmacro{postnote}}
当然,你可以将测试放在另一个位置。
希望有帮助!