
Как изменить команду, например, \textcite[][8]{example}
чтобы она отображалась p.8
, а не находилась p.~8
в тексте, при этом печатая примечание как есть, если оно не похоже на номер страницы.
Я попробовал использовать этот метод \DeclareFieldFormat{postnote}{\pno#1}
после прочтения раздела 3.13.3 руководства по biblatex, но — что неудивительно — он не работает, когда примечание не является страницей:
МВЭ:
\documentclass{article}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@ARTICLE{example,
author = {Other, Anthony Norman},
title = {Some things I did},
year = {2014},
journal = {J.~Irrep. Res.},
volume = {1},
number = {1},
pages = {1-10}
}
\end{filecontents*}
\usepackage[backend=biber,style=authoryear-ibid]{biblatex}
\DeclareFieldFormat{postnote}{\pno#1}
\addbibresource{\jobname.bib}
\begin{document}
Hello\textcite[][8]{example}. But \textcite[][Table~5]{example}
\printbibliography
\end{document}
решение1
Просто оставьте стандартное определение \DeclareFieldFormat{postnote}{\mkpageprefix[pagination]{#1}}
и добавьте
\renewcommand*{\ppspace}{}
Но, пожалуйста, имейте в виду, что пропуск пробела между «стр.»/«пп.» и номером страницы выглядит крайне странно (я бы даже сказал ужасно) и не является нормой ни в одном из известных мне языков.
МВЭ
\documentclass{article}
\usepackage[backend=biber,style=authoryear-ibid]{biblatex}
\addbibresource{biblatex-examples.bib}
\renewcommand*{\ppspace}{}
\begin{document}
Lorem \textcite[][8]{sigfridsson} ipsum \textcite[][Table~5]{sigfridsson}.
\end{document}