我想仅在参考书目中隐藏页码字符串(德语中为“pp.”或“S.”),而不在文本中的引文中隐藏。当我添加DefineBibliographyStrings
到序言中时,参考书目和文本中的引文都已完成。当我将命令移动到之前的位置时\printbibliography
,我收到错误消息“只能在序言中使用”。有什么建议可以让它正常工作吗?
MNWE:
\documentclass[ngerman]{book}
\usepackage[style=authortitle-dw,sorting=nyt,backend=biber,bibencoding=latin1]{biblatex}
\addbibresource{<database>.<extension>}
\begin{document}
\cite{<some-ref>}
\DefineBibliographyStrings{ngerman}{pages={}}
\printbibliography
\end{document}
答案1
书目中的页面格式(更准确地说是pages
书目中的字段格式)由字段格式控制pages
。其默认定义是
\DeclareFieldFormat{pages}{\mkpageprefix[bookpagination]{#1}}
但您可以轻松地重新定义它以删除页面前缀:
\DeclareFieldFormat{pages}{#1}
这不会影响引用中的页码,因为它们由postnote
字段格式控制。
通过简单地将 bibstring 重新定义为空来尝试抑制 bibstring 永远不是一个好主意。
\documentclass[ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=authortitle-dw,sorting=nyt,backend=biber]{biblatex}
\DeclareFieldFormat{pages}{#1}
\addbibresource{biblatex-examples.bib}
\begin{document}
\cite[380]{sigfridsson}
\printbibliography
\end{document}