LaTeX newcommand 以字体名称作为参数

LaTeX newcommand 以字体名称作为参数

因为我想显示几种字体,所以我的文档展示了每种字体的字母表的示例,所以我想定义一个新命令来轻松获取字母表;其代码如下:

\newcommand{\alphabetExample}{{\fontfamily{#1}\selectfont Aa\-Bb\-Cc\-Dd\-Ee\-Ff\-Gg\-Hh\-Ii\-Jj\-Kk\-Ll\-Mm\-Nn\-Oo\-Pp\-Qq\-Rr\-Ss\-Tt\-Uu\-Vv\-Ww\-Xx\-Yy\-Zz\-0123456789}}

但是,#1不接受 - 如果我写一个特定的字体系列而不是参数,该命令就会起作用。感谢您的帮助,这确实为我节省了很多复制粘贴的工作。

附言:如果标签不正确,请原谅,这是我的第一个问题,我不知道该使用哪一个。

答案1

您需要告诉 LaTeX 该命令有多少个参数[n],在本例中只有一个[1]

\newcommand*\alphabetExample[1]
  {{\fontfamily{#1}\selectfont Aa\-Bb\-Cc\-Dd\-Ee\-Ff\-Gg\-Hh\-Ii\-Jj\-Kk\-Ll%
    \-Mm\-Nn\-Oo\-Pp\-Qq\-Rr\-Ss\-Tt\-Uu\-Vv\-Ww\-Xx\-Yy\-Zz\-0123456789}}

答案2

您需要告诉 TeX 定义的宏提供了多少个参数(可能还有它们的分隔符)。

\def\alphabetExample#1{%
   {\fontfamily{#1}\selectfont Aa\-Bb\-Cc\-Dd\-Ee\-Ff\-Gg\-Hh\-Ii\-Jj\-Kk\-Ll%
    \-Mm\-Nn\-Oo\-Pp\-Qq\-Rr\-Ss\-Tt\-Uu\-Vv\-Ww\-Xx\-Yy\-Zz\-0123456789}}

相关内容