我在用此简历模板在我的简历中,我想知道我是否可以以及如何将语言技能的评分标记更改为也使用半圆。例如,我希望我的英语成绩为 4.5(4 个圆和 1 个半圆)。
我想我需要以某种方式更改 alta.cls 中的这个代码块,但我不知道如何做。
\newcommand{\cvskill}[2]{%
\textcolor{emphasis}{\textbf{#1}}\hfill
\foreach \x in {1,...,5}{%
\space{\ifnumgreater{\x}{#2}{\color{body!30}}{\color{accent}}\ratingmarker}}\par%
}
答案1
您可以使用包中的圆圈符号wasysym
,它有一个半开圆(\LEFTcircle
)和一个半圆(\LEFTCIRCLE
)。对于命令中的 for 循环,\cvskill
可以定义三种情况:
- 直到整数部分(包括数字):彩色圆圈
- 整数部分 + 1:如果指定 0.5,则为半圆,否则为灰色圆
- 其余数字:灰色圆圈
实现步骤 2 的快速方法是实际在\cvskill
命令的单独可选参数中指定 0.5。这允许 for 循环和数字比较代码保持不变,并且只需要检查是否指定了参数。\ifblank
可以使用 for (此命令由 提供etoolbox
,已被altacv
for使用\ifnumgreater
)。使用意味着可选参数中的任何数字或字符串都将导致打印半圆,例如下面代码中的\ifblank
字符串。half
为了使代码更简单,循环已从 1..5 更改为 0..4。这样做是因为使用此方法,您会在下一次迭代中检查 0.5,即 2.5 有两次正常迭代,在第三次迭代期间检查 0.5。
对于半圆,您可以选择使用 将彩色半圆叠加在灰色全圆上\rlap
,或者仅打印半开圆wasysym
。下面给出了两种变体。
叠加圆的代码(注意:要添加到文档中.tex
,altacv.cls
文件保持不变):
% in preamble
% [preamble packages and settings here]
\usepackage{wasysym}
\renewcommand{\cvskill}[3][]{%
\textcolor{emphasis}{\textbf{#2}}\hfill
\foreach \x in {0,...,4}{%
\Large%
\space{%
\ifnumless{\x}{#3}%
{\color{accent}\CIRCLE}%
{%
\ifnumequal{\x}{#3}{%
\ifblank{#1}{\color{body!30}\CIRCLE}%
{\rlap{\color{body!30}\CIRCLE}\color{accent}\LEFTCIRCLE}%
}%
{\color{body!30}\CIRCLE}%
}%
}%
}\par%
}
% [rest of preamble here]
\begin{document}
% [document content here]
\cvsection{Languages}
\cvskill{English}{5}
\divider
% optional argument used here
\cvskill[half]{Spanish}{2}
\divider
\cvskill{German}{3}
% [rest of document content here]
结果:
半开圆的代码:
\usepackage{wasysym}
\renewcommand{\cvskill}[3][]{%
\textcolor{emphasis}{\textbf{#2}}\hfill
\foreach \x in {0,...,4}{%
\Large%
\space{%
\ifnumless{\x}{#3}%
{\color{accent}\CIRCLE}%
{%
\ifnumequal{\x}{#3}{%
\ifblank{#1}{\color{body!30}\CIRCLE}%
{\color{accent}\LEFTcircle}%
}%
{\color{body!30}\CIRCLE}%
}%
}%
}\par%
}
结果: