对于某些具有特定内容的标题,shorthand
我需要重新定义引文的输出格式:不得postnote
打印后引用但之内(\printfield{postnote}
),并且不得打印两次(在和之后)。现在,我可以声明新的 cite 命令并将它们用于这些条目。
我希望:告诉biblatex
使用新的引用格式来引用options = {XEN}
对带有或 的{XEN=true}
,甚至带有普通的\cite
。
% uses-*- MODE: latex; TeX-engine: luatex; coding: utf-8; -*-
\RequirePackage{xparse}
\documentclass[paper=A7, DIV=16,landscape,fontsize=8pt]{scrartcl}
\usepackage[main=english]{babel}
\usepackage{csquotes}
\usepackage[style=philosophy-modern,sortlocale=de,language=auto,%
sorting=nyvt,backend=biber,hyperref=true,shorthandintro=false]{biblatex}
\addbibresource{shortbib.bib}
\usepackage{hyperref}
\makeatletter
% from philosophy-classic.cbx
\DeclareCiteCommand{\XENcite}
{\usebibmacro{cite:init}%
\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\switchATAY{citetitle:AT}{citeyear}}%
{}
{} % removed \usebibmacro{postnote}
\DeclareCiteCommand*{\XENparencite}[\mkbibparens]
{\usebibmacro{cite:init}%
\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\switchATAY{citetitle:AT}{citeyear}}
{}
{} % removed \usebibmacro{postnote}
\DeclareCiteCommand{\XENfootcitet}[\mkbibfootnote] % \XENfootcitet
{\usebibmacro{cite:init}
\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\usebibmacro{textcite}}
{}%
{} % removed \usebibmacro{textcite:postnote}
\makeatother
\begin{document}
\verb|\cite|: \cite[5]{Cardauns:VarroRD}, \cite[Xenophanes
17]{Gentili:PE1} and \cite[87]{Xenophanes:TP}
\smallskip
should be like \verb|\XENcite| for \verb|bib|-entries with
\verb|options = {XEN}|: \XENcite[5]{Cardauns:VarroRD},
\XENcite[Xenophanes 17]{Gentili:PE1} and \XENcite[87]{Xenophanes:TP}
\nocite{*}
\printshorthands
\begin{filecontents*}[overwrite]{shortbib.bib}
@MVBook{Cardauns:VarroRD,
author = {Burkhart Cardauns},
options = {XEN},
title = {Varro \mkbibemph{Antiquitates}},
date = 1976,
langid = {german},
publisher = {Steiner},
location = {Wiesbaden},
pagination = {none},
shorthand = {\printfield{postnote}\addnbspace\mkbibemph{RD}},
keywords = {shorthand}
}
@Book{Gentili:PE1,
author = {Bruno Gentili},
options = {XEN},
title = {Callinus, Tyrtaeus, Xenophanes},
langid = {latin},
date = 1988,
publisher = {Teubner},
location = {Leipzig},
pagination = {none},
shorthand = {\printfield{postnote}\addnbspace\mkbibemph{PE}\addnbspace\RN{1}},
keywords = {shorthand}
}
@Book{Xenophanes:TP,
author = {Benedikt Strobel},
options = {XEN},
title = {Xenophanes von Kolophon},
langid = {english},
date = 2018,
publisher = {Gruyter},
location = {Berlin},
pagination = {none},
shorthand = {XEN\addnbspace\printfield{postnote}\addnbspace\mkbibemph{TP}\addnbthinspace3},
keywords = {shorthand}
}
\end{filecontents*}
\end{document}