如何改变 amsrefs 中 \cite 可选参数的外观?

如何改变 amsrefs 中 \cite 可选参数的外观?

继续我的奥德赛老式 数字,我还想在 的可选(第二个)参数中禁用它们\cite{...}*{...}amsrefs有什么提示如何做到这一点?(我正在使用 XeLaTeX,但这可能与此无关,因为现在的问题不是“如何摆脱旧式数字”,而是“如何更改第二个参数的样式\cite”。)

编辑:以下是一个例子:

\documentclass{article}

\usepackage{amsrefs}

\begin{document}

See \cite{somebook}*{p.~123}.
Also compare \citelist{\cite{somebook}\cite{anotherbook}*{p.987}}.

\begin{bibdiv}
  \begin{biblist}
    \bib{somebook}{book}{
      title={Title},
      author={Author},
      date={1999},
    }
    \bib{anotherbook}{book}{
      title={Another Title},
      author={Somebody Else},
      date={2001},
    }
  \end{biblist}
\end{bibdiv}

\end{document}

我想要实现的是改变“p. 123”的样式(例如,改为粗体)。

编辑2:这似乎\citelist是一个额外的挑战......(我修改了上面的 MWE 来显示问题。)

答案1

检查amsrefs.sty\citemid仅使用一次:

\def\citemid{,\penalty9999 \space}

\def\cite@cj#1#2{%
        \leavevmode
            \begingroup
                \cite@cb#1% write info to aux file
                \ar@SK@cite#1%
                \@citeleft
                \ar@hyperlink{#1}%
                \@ifnotempty{#2}{\citemid{#2}}%
                \citeright
            \endgroup
            \ignorespaces % ignore spaces inside \citelist
        \cite@endgroup
}

因此重新定义似乎很安全\citemid

\def\citemid#1{,\penalty9999 \space{\bfseries#1}}

请注意,在这种情况下,文本p.~123将作为 传递。#2

相关内容