有没有适用于 amsrefs 的包(如 showlabels)?

有没有适用于 amsrefs 的包(如 showlabels)?

我想amsrefs打印(在参考书目中,而不是与实际引用一起,例如在页边距中)\bib\cite命令中使用的标签(即 的第一个参数\bib)。我试过这个:

\documentclass{article}

\usepackage{amsrefs}
\usepackage{lipsum}

\let\origbib=\bib
\def\bib#1#2#3{\llap{#1\qquad}\origbib{#1}{#2}{#3}}

\begin{document}

This: \cite{a} and that: \cite{b} are important papers.

\vspace{6\baselineskip}\lipsum[1-4] % to get a page break between papers in the bibliography

\begin{biblist}
  \bib{a}{article}{
    author={Someone},
    title={A title},
  }
  \bib{b}{article}{
    author={Another one},
    title={Another title},
  }
\end{biblist}

\end{document}

但效果不太好(\llap在垂直模式下发布,\leavevmode在之前添加会导致一些错误,由于截止日期,我没有足够的动力去调查... :-/)。\vspace{-\baselineskip}在之后添加\llap有点帮助,但仍然是第一的页面上的条目会打印在前一页上。我可以接受这种情况,但我也想知道是否有更好(也更优雅)的解决方案。

答案1

对我有用吗?

在此处输入图片描述

\documentclass{article}

\usepackage{amsrefs}
\usepackage{lipsum}
\usepackage{showkeys}

\begin{document}

This: \cite{a} and that: \cite{b} are important papers.

\vspace{6\baselineskip}\lipsum[1-4] % to get a page break between papers in the bibliography

\begin{biblist}
  \bib{a}{article}{
    author={Someone},
    title={A title},
  }
  \bib{b}{article}{
    author={Another one},
    title={Another title},
  }
\end{biblist}

\end{document}

答案2

对于这种情况的使用方式showlabels如下

\usepackage{showlabels}
\showlabels{bib}

结果并不完全像您描述的一样,但确实在边距中标出了\bib带有 的标签。 showlabels 包会尽力避免间距变化,因此如果在这种情况下确实出现了间距变化,则可能是 showlabels 的一个错误。{a}

相关内容