从 postnode 中删除“p”。

从 postnode 中删除“p”。

我需要引用网站内容,并且正在寻找一种可以向引用中添加其他信息的选项反而页面的。

例如,如果我使用,\cite[foo]{bar}我会得到类似 的内容[1, p. foo]。但是,我不希望"p."在那里使用 ,因为它可能与页面不同。有没有可以省略它的选项?我没有必要使用\cite,另一个命令也可以。

我在用:

\usepackage[backend=biber, style=ieee, citestyle=numeric]{biblatex}

答案1

biblatex通常可以检测出你的 postnote 参数是否是页面范围,并且只会在适当的情况下添加“p.”/“pp.”前缀。请考虑以下示例

\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[backend=biber, style=ieee, citestyle=numeric]{biblatex}


\addbibresource{biblatex-examples.bib}

\begin{document}
Lorem \autocite[380]{sigfridsson}

ipsum \autocite[381-383]{sigfridsson}

dolor \autocite[not a page range]{sigfridsson}

sit \autocite[foo]{sigfridsson}

\printbibliography
\end{document}

Lorem [1,第380] ipsum [1,第 381-383 页] dolor [1,不是页面范围] sit [1,foo]

如果biblatex由于某种原因而关闭了 的检测,您可以分别使用\pno\ppno强制使用“p.”和“pp.”,或者您可以使用\nopp来阻止出现“p.”/“pp.”前缀

Lorem \autocite[\nopp380]{sigfridsson}

ipsum \autocite[\nopp381-383]{sigfridsson}

dolor \autocite[\pno~371z]{sigfridsson}

sit \autocite[\ppno~381z-382q]{sigfridsson}

Lorem [1, 380] ipsum [1, 381-383] dolor [1, p. 371z] sit [1,第 381z-382q 页]

如果你根本不想看到任何自动的“p。”/“pp。”,你可以用以下方法摆脱它

\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[backend=biber, style=ieee, citestyle=numeric]{biblatex}

\DeclareFieldFormat{postnote}{\mknormrange{#1}}

\addbibresource{biblatex-examples.bib}

\begin{document}
Lorem \autocite[380]{sigfridsson}

ipsum \autocite[381-383]{sigfridsson}

dolor \autocite[not a page range]{sigfridsson}

sit \autocite[foo]{sigfridsson}

\printbibliography
\end{document}

Lorem [1, 380] ipsum [1, 381–383] dolor [1,不是页面范围] sit [1,foo]

如果您只想更改特定条目的行为,您可以使用该pagination字段。pagination = {none},抑制“p。”/“pp。”前缀,但您也可以选择不同的方案,如verseparagraph

\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[backend=biber, style=numeric]{biblatex}

\begin{filecontents}{\jobname.bib}
@online{elk,
  author     = {Anne Elk},
  title      = {A Theory on Brontosauruses},
  year       = {1972},
  location   = {London},
  url        = {https://example.edu/~elk/bronto.html},
  pagination = {none},
}
@online{elk:tri,
  author     = {Anne Elk},
  title      = {A Theory on Triceratops},
  year       = {1980},
  location   = {London},
  url        = {https://example.edu/~elk/trici.html},
  pagination = {paragraph},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}

\begin{document}
Lorem \autocite[380]{sigfridsson}

ipsum \autocite[381]{elk}

dolor \autocite[382]{elk:tri}

\printbibliography
\end{document}

Lorem [3,第380] ipsum [1, 381] dolor [2, par. 382]

也可以看看如何引用参考书目中的段落而不是页面?

相关内容