我对 LaTeX 还不太熟悉,主要用它来写作业。从那时起,我也开始接受挑战,用 LaTeX 重写我的简历,而且我非常喜欢 twentyseondscv 模板,可以在这里。
该模板总体上非常人性化,即使对于像我这样的新手来说也是如此,但我有一个小问题 - 简历允许将技能显示为满分 6 分的分数,并且该分数会转换为条形图。例如,如果您的技能得分为 6 分,它将为整个条形图着色。
模板的代码非常长,因此我重现了与技能栏相关的部分代码:
\newcommand\skills[1]{
\renewcommand{\skills}{
\begin{tikzpicture}
\foreach [count=\i] \x/\y in {#1}{
\draw[fill=maingray,maingray] (0,\i) rectangle (6,\i+0.4);
\draw[fill=white,mainblue](0,\i) rectangle (\y,\i+0.4);
\node [above right] at (0,\i+0.4) {\x};
}
\end{tikzpicture}
}
}
但是,我发现满分为 6 分的分数相当“奇怪”,我希望满分为 5 分。我尝试修改代码,例如将“6”改为“5”,但这只会缩短分数条 - 它只是删除了分数条的最后 1/6。相反,我想要的是让条的长度相同,但将其“切割”成 5 个部分,而不是 6 个部分,这样,如果我输入得分为 1 的技能,它应该占条的 1/5,而不是当前的 1/6。
我该如何调整上述代码来反映这一点?我认为变化应该很小而且容易,尽管正如开头提到的,我对 LaTeX 很陌生,所以任何帮助都将不胜感激!
答案1
根据要求,这里是我的答案,其中比较了原始代码和“满分 5”版本。
正如我在上面的评论中提到的,tikz 的默认长度在 x 和 y 方向上均为 1cm。可以通过向环境添加相应的选项来修改它们。要从 6 变为 5,但保留原始长度,您需要一个 1.2 倍的系数。因此,添加该选项x=1.2cm
会将所有内容拉伸所需的量。此外,矩形的最大长度需要从 6 缩短到 5,以适应变化。
以下是代码:
\documentclass{scrartcl}
\usepackage{tikz}
%The original command
\newcommand\skillsorig[1]{
\begin{tikzpicture}
\foreach [count=\i] \x/\y in {#1}{
\draw[fill=gray,gray] (0,\i) rectangle (6,\i+0.4);
\draw[fill=white,blue](0,\i) rectangle (\y,\i+0.4);
\node [above right] at (0,\i+0.4) {\x};
}
\end{tikzpicture}
}
%The new command
\newcommand\skills[1]{
\begin{tikzpicture}[x=1.2cm]
\foreach [count=\i] \x/\y in {#1}{
\draw[fill=gray,gray] (0,\i) rectangle (5,\i+0.4);
\draw[fill=white,blue](0,\i) rectangle (\y,\i+0.4);
\node [above right] at (0,\i+0.4) {\x};
}
\end{tikzpicture}
}
\begin{document}
%Out of 6
\skillsorig{{name/4.8}}
%Out of 5
\skills{{name/4}}
\end{document}
请注意,我删除了代码的 renewcommand 部分,因为它在模板之外不是必需的,并用默认颜色替换了颜色。