Biblatex 不压缩特定组

Biblatex 不压缩特定组

我正在做文献综述。我想将有关某个主题的参考文献放入表格中。

我的问题非常类似于:在 BibLaTeX 中对数字引用进行排序但不压缩

但是,我只想禁用表内的压缩但保留排序。这可能吗?

答案1

将以下内容添加到您的序言中。

\makeatletter
\newbibmacro*{cite:reinit}{%
  \ifnumequal{\value{citecount}}{1}{}{\setcounter{cbx@tempcntb}{0}}}
\makeatother

\newtoggle{cite:comp}
\AtEveryCitekey{\iftoggle{cite:comp}{}{\usebibmacro{cite:reinit}}}
\toggletrue{cite:comp}

在表格环境中,你可以使用以下方法禁用紧凑引用:

\togglefalse{cite:comp}

答案2

Numeric-comp 似乎包含一些相当复杂的东西,而且它不是我通常的狩猎场,但我认为这会起作用。

我所做的是创建一个新的引用命令(\citeu用于“引用未压缩”):带有的引用\cite按正常方式压缩;带有的引用\citeu未压缩,但仍按顺序排序。(事实上,它们的宏只是取自“普通”numeric.cbx样式。)

为了获得更清晰的界面,您可能希望为您的表格设置一个环境(当然,在一个组内)let\cite\citeu

(MWE 很大程度上...借用了...您所引用的答案)。

\documentclass{article}
\usepackage[backend=biber,style=numeric-comp]{biblatex}
\newbibmacro*{cite:uncomp}{%
  \printtext[bibhyperref]{%
    \printfield{prefixnumber}%
    \printfield{labelnumber}%
    \ifbool{bbx:subentry}
      {\printfield{entrysetcount}}
      {}}}
\DeclareCiteCommand{\citeu}[\mkbibbrackets]
  {\usebibmacro{prenote}}
  {\usebibmacro{citeindex}%
   \usebibmacro{cite:uncomp}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

\addbibresource{biblatex-examples.bib}
\begin{document}
\cite{knuth:ct:b}
\cite{sigfridsson}
\cite{worman}
\cite{almendro}
\cite{kowalik}
\cite{loh}
\cite{worman, kowalik,loh,almendro,knuth:ct:b}
\citeu{worman, kowalik,loh,almendro,knuth:ct:b}
\printbibliography
\end{document}

相关内容