newenvironment{aside} 和 xelatex 的 textpos 错误

newenvironment{aside} 和 xelatex 的 textpos 错误

我在最新的 ubuntu precise pangolin 上使用 xelatex 和 texlive 2011 vanilla。

我尝试使用来自https://github.com/afriggeri/cv 该模板使用 TikZ 作为标题,使用 XeTeX 和带有 Helvetica Neue 字体的 fontspec(使用fondu程序从 dfont 中提取)。

当我尝试编译时,xelatex cv.tex出现如下错误:

(/usr/local/texlive/2011/texmf-dist/tex/latex/textpos/textpos.sty
Package: `textpos' 1.7g <2010 September 30>
Grid set 16 x 16 = 38.39343pt x 49.68562pt
TextBlockOrigin set to 0pt x 0pt
)
! Illegal parameter number in definition of \aside.
<to be read again> 
                   1
l.169 }

其中引用了这部分源代码friggeri-cv.cls

\RequirePackage[absolute,overlay]{textpos}
\setlength{\TPHorizModule}{1cm}
\setlength{\TPVertModule}{1cm}
\newenvironment{aside}{%
  \let\oldsection\section
  \renewcommand{\section}[1]{
    \par\vspace{\baselineskip}{\Large\headingfont\color{headercolor} #1}
  }
  \begin{textblock}{3.6}(1.5, 4.33)
  \begin{flushright}
  \obeycr
}{%
  \restorecr
  \end{flushright}
  \end{textblock}
  \let\section\oldsection
}

答案1

#1的第一个参数,\aside但它声明时没有参数,因此出现错误。如果您进行嵌套定义并希望引用内部宏的第一个参数,请使用##1

相关内容