带有 amsart 的二维码

带有 amsart 的二维码

如果我将二维码与 amsart 一起使用,我会在生成的二维码中得到额外的垂直间距。

\documentclass{amsart}
\usepackage{qrcode}
\begin{document}
\qrcode{http://www.ctan.org}
\end{document}

在此处输入图片描述

难道我做错了什么?

答案1

该类amsart设置\lineskiplimit为 1pt,但qrcode.sty(错误地)假设它是 0pt。

qrcode当使用minipage打印二维码时,通过在适当的位置添加预期设置来修复它。

\documentclass{amsart}
\usepackage{qrcode}
\usepackage{etoolbox}

\makeatletter
\patchcmd\qr@printmatrix
  {\baselineskip}
  {\lineskiplimit=0pt\baselineskip}
  {}{}
\patchcmd\qr@printsavedbinarymatrix
  {\baselineskip}
  {\lineskiplimit=0pt\baselineskip}
  {}{}
\makeatother

\begin{document}

\qrcode{http://www.ctan.org}

\end{document}

答案2

有一个qrcode.tex与 LaTeX 软件包竞争的软件包qrcode.sty。它qrcode.tex是为纯 TeX 设计的,但它也可以在 LaTeX 中使用,因为它仅基于 TeX 基元。

您可以比较

\documentclass{amsart}
\usepackage{qrcode}
\begin{document}
\qrcode{http://www.ctan.org}
\end{document}

这给出了错误的结果

\documentclass{amsart}
\input qrcode
\begin{document}
\qrcode{http://www.ctan.org}
\end{document}

这给出了正确的结果。

相关内容