乳胶def

时间:2017-06-22 08:50:22

标签: latex xelatex

我在awesome-cv文档类

中遇到过这一行
\def\@sectioncolor#1#2#3{%
   \ifbool{acvSectionColorHighlight}{{\color{awesome}#1#2#3}}{#1#2#3}%
}

\newcommand*{\sectionstyle}[1]{{\fontsize{16pt}
   {1em}\bodyfont\bfseries\color{text}\@sectioncolor #1}}

它的作用是你给它一个单词并改变单词前三个字母的颜色。

但是,我不明白它是如何工作的。请有人向我描述一下吗?

1 个答案:

答案 0 :(得分:2)

不考虑整体定义,请关注以下内容:

\def\@sectioncolor#1#2#3{%
  % <some definition>
}

\newcommand*{\sectionstyle}[1]{{%
  % <some definition>
  \@sectioncolor #1}}

显而易见的是\sectionstyle采用单一的强制性论证。这个必需参数是该部分的标题,例如\sectionstyle{Education}。此参数通过

传递给\@sectioncolor
\@sectioncolor #1

但请注意,#1周围没有大括号,因为\@sectioncolor需要三个强制参数。为此,\sectionstyle{Education}之类的通话会转换为

\@sectioncolor Education

其中\@sectioncolor将前三个标记作为其必需参数。也就是说,人们几乎可以假设以下转移输入:

\@sectioncolor {E}{d}{u}cation

\@sectioncolor的定义中,E#1d#2u#3 }。如果您不希望您的部分以颜色突出显示,或者如果您使用颜色#1#2#3对其进行着色,则会按顺序设置awesome