斜体引用编号和普通字体括号,采用 biblatex numeric 或 numeric-comp 样式

斜体引用编号和普通字体括号,采用 biblatex numeric 或 numeric-comp 样式

问题:我希望 anumericnumeric-compstyle biblatex 的引用编号以斜体显示,但不要使用括号。到目前为止,我的努力都失败了。如果可能的话,我不希望对参考书目条目进行任何修改。

我已尝试过:我尝试修改 MWEB 中的代码,如下所示:

\DeclareCiteCommand{\cite}[\mkbibparens\mkbibemph]

\DeclareCiteCommand{\cite}[\mkbibemph\mkbibparens]

这两种方法都使引用编号出现在括号外。我也尝试了以下方法贡萨洛·梅迪纳但没有任何效果(我甚至不确定 biblatex 是否会有效果)。

目前的情况:

在此处输入图片描述

我希望它看起来如何:

在此处输入图片描述

我的眼光可能不是最好的,但我相信引用编号括起来的括号是正常的,而不是斜体。

移动网络:

\documentclass{article}

\usepackage[backend=biber,style=numeric]{biblatex}
\addbibresource{biblatex-examples.bib}

% Change in-text citations to round brackets - moewe: https://tex.stackexchange.com/a/341043/245306
\DeclareCiteCommand{\cite}[\mkbibparens]
  {\usebibmacro{prenote}}
  {\usebibmacro{citeindex}%
   \usebibmacro{cite}}
  {\multicitedelim}
  {\usebibmacro{postnote}}
\DeclareMultiCiteCommand{\cites}[\mkbibparens]{\cite}{\multicitedelim}

\begin{document}
\cite{sigfridsson}
\printbibliography
\end{document}

我正在编译:

% arara: pdflatex
% arara: biber
% arara: pdflatex

答案1

您快完成了。包装器命令是执行此操作的好主意,但您需要确保您在此处给出的命令吸收了一个参数。\mkbibparens\mkbibemph不会这样做,因为它本质上会扩展为\mkbibparens{\mkbibemph}

\documentclass{article}

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

\newrobustcmd*{\mkbibparensitalic}[1]{%
  \mkbibparens{\mkbibitalic{#1}}}

\DeclareCiteCommand{\cite}[\mkbibparensitalic]
  {\usebibmacro{prenote}}
  {\usebibmacro{citeindex}%
   \usebibmacro{cite}}
  {\multicitedelim}
  {\usebibmacro{postnote}}
\DeclareMultiCiteCommand{\cites}[\mkbibparensitalic]{\cite}{\multicitedelim}

\addbibresource{biblatex-examples.bib}

\begin{document}
\cite{sigfridsson}

\cites{sigfridsson}{nussbaum}

\printbibliography
\end{document}

(2)(2,1)[数字斜体;括号直立]


相同的策略可用于大多数风格,但如果您切换风格,则可能需要确保\cite此处的定义与您的风格兼容。

具体来说,numeric-comp代码应该看起来像

\documentclass{article}

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

\newrobustcmd*{\mkbibparensitalic}[1]{%
  \mkbibparens{\mkbibitalic{#1}}}

\DeclareCiteCommand{\cite}[\mkbibparensitalic]
  {\usebibmacro{cite:init}%
   \usebibmacro{prenote}}
  {\usebibmacro{citeindex}%
   \usebibmacro{cite:comp}}
  {}
  {\usebibmacro{cite:dump}%
   \usebibmacro{postnote}}

\DeclareMultiCiteCommand{\cites}[\mkbibparensitalic]{\cite}{\multicitedelim}

\addbibresource{biblatex-examples.bib}

\begin{document}
\cite{sigfridsson}

\cites{sigfridsson,nussbaum,worman}

\printbibliography
\end{document}

相关内容