biblatex: ポストノートの p. とページ番号の間のスペースを削除する

biblatex: ポストノートの p. とページ番号の間のスペースを削除する

ページ番号に似ていない場合は、ポストノートをそのまま印刷しながら、テキスト内ではなく\textcite[][8]{example}表示するようにコマンドを変更するにはどうすればよいですか。p.8p.~8

\DeclareFieldFormat{postnote}{\pno#1} biblatex マニュアルのセクション 3.13.3 を参照して使用してみましたが、予想どおり、ポストノートがページでない場合は機能しません。

MWE:

\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}{}

ただし、「p.」/「pp.」とページ番号の間のスペースを省略すると、見た目が非常に奇妙(ひどいとさえ言えます)になり、私が知っているどの言語でも標準ではないことに注意してください。

ムウェ

\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}

関連情報