我不确定我的错误在哪里。我使用以下代码:
\newcommand{\qr}[2]{%
\begin{pspicture}(1.378in, 1.5in)%
\psbarcode[]{#1}{height=1.378 width=1.378}{qrcode}%
{\psset{unit=1.378in}\rput(0.165,0.165){\color{white}#2}}%
\end{pspicture}%
}
这个定义似乎没问题。
在这个完整的例子中
\documentclass[a4paper, 12pt, parskip]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage{pst-barcode}
\usepackage{auto-pst-pdf}
\newcommand{\qr}[2]{%
\begin{pspicture}(1.378in, 1.5in)%
\psbarcode[]{#1}{height=1.378 width=1.378}{qrcode}%
{\psset{unit=1.378in}\rput(0.165,0.165){\color{white}#2}}%
\end{pspicture}%
}
\begin{document}
\section{Demo}
\qr{1,1}
\end{document}
我收到一个奇怪的错误:
! Extra \endgroup. \endpspicture ->\pst@killglue \endgroup
\egroup \ifdim \wd \pst@hbox =\z@ \e... l.57 \end{pspicture}
这是什么意思以及如何避免这种情况?
答案1
您的命令接收两个强制参数,因此您必须使用
\qr{1}{1}
答案2
如果您必须(或想要)以特定(逗号分隔)格式指定参数,则应使用类似如下的内容:
\documentclass{article}
\usepackage{pst-barcode}% http://ctan.org/pkg/pst-barcode
\newcommand{\qr}[1]{\qrbase(#1)}
\def\qrbase(#1,#2){%
\begin{pspicture}(1.378in, 1.5in)%
\psbarcode[]{#1}{height=1.378 width=1.378}{qrcode}%
{\psset{unit=1.378in}\rput(0.165,0.165){\color{white}#2}}%
\end{pspicture}%
}
\begin{document}
\section{Demo}
\qr{1,1}
\end{document}
不过,使用@Gonzalo 的方法更简单。