我想在使用 memo-l 类时减少(更一般地全局调整到特定长度)多个引用中逗号后的空格。 梅威瑟:
\documentclass{memo-l}
\begin{document}
Existing: Cite~\cite{1, 2}
Desired : Cite [\textbf{A},\hspace{1pt}\textbf{B}]
\bibliographystyle{amsalpha}
\begin{thebibliography}{10}
\bibitem[A]{1}
Cite1
\bibitem[B]{2}
Cite2
\end{thebibliography}
\end{document}
答案1
该类对标准\cite
命令不做任何操作。在您发现的与类似问题有关的问题中,涉及到了natbib
改变 的处理\cite
。
这里只需将“control-space”命令更改为\@citex
您想要的间距即可。同样,\@cite
这是用于修补“复合引用”的宏。
\documentclass{memo-l}
%\documentclass{book}
\usepackage{xpatch}
\makeatletter
\xpatchcmd{\@citex}{\ }{\hspace{1pt}}{}{}
\xpatchcmd{\@cite}{, }{,\hspace{1pt}}{}{}
\makeatother
\begin{document}
Existing: Cite~\cite{1, 2}
Desired : Cite~[\textbf{A},\hspace{1pt}\textbf{B}]
Existing: Cite~\cite[Thm.~5]{1}
Desired : Cite~[\textbf{A},\hspace{1pt}Thm.~5]
\bibliographystyle{amsalpha}
\begin{thebibliography}{10}
\bibitem[A]{1}
Cite1
\bibitem[B]{2}
Cite2
\end{thebibliography}
\end{document}
您看到的细微差别是因为在 中amsbook.cls
由于\@cite
和 的变化而始终使用粗体
\def\citeform#1{{\bfseries#1}}