2017-06-22 69 views
0

我在真棒-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

在不考虑整体的定义,主要集中在以下:

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

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

这应该是显而易见的\sectionstyle需要一个单一的,强制性的说法。该强制性参数是该部分的标题,例如\sectionstyle{Education}。这种说法是通过

\@sectioncolor #1 

但是传递给\@sectioncolor,注意周围有没有#1牙套,因为\@sectioncolor预计强制性参数。为此,像\sectionstyle{Education}调用转换为

\@sectioncolor Education 

其中\@sectioncolor取前三令牌作为强制性参数。也就是说,一个几乎可以承担以下转移输入:

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

\@sectioncolor的定义,E#1d#2u#3。如果您不希望自己的部分按颜色突出显示,或者如果您使用颜色awesome,则它们按顺序设置为#1#2#3

+0

感谢您的解释。这种行为仅适​​用于def还是与newcommand一样发生? – Ashkan

+0

@Ashkan:'\ newcommand {\ @ sectioncolor} [3] {...}'会发生同样的情况。 – Werner