
나는 awesome-cv
다음과 같이 섹션 제목의 처음 세 글자를 강조하는 클래스를 사용하고 있습니다.
이 효과를 생성하는 코드는 다음과 같습니다.
\RequirePackage{xcolor}
\RequirePackage{xifthen}
\RequirePackage{etoolbox}
\RequirePackage[quiet]{fontspec}
\RequirePackage{fontawesome}
\definecolor{awesome-red}{HTML}{DC3522}
\colorlet{awesome}{awesome-red}
\newcounter{colorCounter}
\def\@sectioncolor#1#2#3{%
{%
\color{%
\ifcase\value{colorCounter}%
awesome\or%
awesome\or%
awesome\or%
awesome\or%
awesome\else%
awesome\fi%
} #1#2#3%
}%
\stepcounter{colorCounter}%
}
텍스트 크기와 볼드체는 나중에 추가됩니다.
\newcommand*{\sectionstyle}[1]{{\fontsize{15pt}{1em}\bodyfont\bfseries\color{text}\@sectioncolor #1}}
이 코드의 첫 번째 부분은 처음 세 글자를 어떻게 강조합니까?
나는 이것이 MWE가 아니라는 것을 알고 있지만 파일에서 MWE를 만들 수 없었고 .cls
이 코드가 자신이 보고 있는 것을 아는 사람에게는 그렇게 복잡하지 않다고 생각합니다. MWE가 필요하면 알려주세요.
답변1
실제로 이 트릭은 매우 간단합니다. 일반 TeX 명령에 대한 인수는 단일 토큰(예: 문자 또는 s)일 수도 있고 \controlsequence
중괄호로 묶인 토큰 시퀀스일 수도 있습니다. 예를 들어, 수학 모드에서 \frac 1 2
, \frac{1}{2}
또는 를 쓰고 \frac1{2}
동일한 결과를 얻을 수 있는 이유는 다음과 같습니다.
따라서 단어의 처음 세 문자를 얻으려면 세 개의 인수를 사용하는 명령만 있으면 됩니다. 예를 들어,
\newcommand\mycommand[3]{%
\textcolor{red}{#1}%
\textcolor{green}{#2}%
\textcolor{blue}{#3}%
}
와 같은 호출 다음에 나오는 처음 세 글자를 강조 표시할 수 있습니다 \mycommand hello
. 이 lo
경우 단순히 명령의 일부가 아닙니다.
중괄호 안에 매개변수 하나만 사용하여 익숙한 구문을 얻으려면 이 명령을 다른 명령으로 래핑하면 됩니다.
\newcommand*\myothercommand[1]{%
\mycommand #1%
}
이를 통해 글을 쓸 수 있습니다 \myothercommand{hello}
.
다음은 다양한 색상으로 명령의 간단한 버전을 보여주는 MWE입니다.
\documentclass{article}
\RequirePackage{xcolor}
\RequirePackage{xifthen}
\definecolor{awesome-red}{HTML}{DC3522}
\colorlet{awesome}{awesome-red}
\newcounter{colorCounter}
\newcommand\sectioncolor[3]{%
{%
\color{%
\ifcase\value{colorCounter}%
awesome\or%
green\or%
blue\or%
orange\or%
yellow\else%
cyan\fi%
} #1#2#3%
}%
\stepcounter{colorCounter}%
}
\newcommand*{\sectionstyle}[1]{{\fontsize{15pt}{1em}\bfseries\sectioncolor #1}}
\begin{document}
\sectionstyle{first}\par
\sectionstyle{second}\par
\sectionstyle{third}\par
\sectionstyle{fourth}\par
\sectionstyle{fifth}\par
\sectionstyle{sixth}\par
\sectionstyle{seventh}
\end{document}