我是 \LaTeX 的新手,我正在使用 ModernCV 和大量谷歌搜索来撰写我的简历。
我使用经典样式,并希望通过在章节标题中添加图标使文档看起来更直观。目前我计划使用 FontAwesome 图标。
到目前为止,我重新定义了\section
命令以包含第三个参数(要使用的图标/字符)。
\documentclass[a4paper, 11pt, color, final, roman]{moderncv}
\usepackage[scale=0.9]{geometry}
\AtBeginDocument{\recomputelengths}
\usepackage{fontspec}
\moderncvstyle{classic}
\moderncvicons{awesome}
\sethintscolumnlength{3cm}
\RenewDocumentCommand{\section}{smm}{ % third argument is [m]andatory
\par\addvspace{2.5ex}
\phantomsection{}
\addcontentsline{toc}{section}{#2}
\cvitem[0ex]{
\color{color1} % Use the CV color
% Left line
\strut\raggedleft\raisebox{\baseletterheight}{
\rule{\hintscolumnwidth - 2cm}{0.3ex}}
% The icon
\fontsize{.5cm}{0cm}#3
% Right line
\strut\raggedleft\raisebox{\baseletterheight}{
\rule{\hintscolumnwidth - 2cm}{0.3ex}}
}
{\strut\sectionstyle{#2}} % Section title
}
\firstname{gnxr}
\lastname{demo}
\begin{document}
\section{Compétences}{\faWrench}
\closesection{}
\end{document}
目前的输出是:
看起来还不错。但是,我觉得这是一个不靠谱的解决方案。我不知道图标的实际宽度,所以所有测量值(2cm,0.5cm)都是针对这个特定图标反复试验的结果。其他字符的结果都是错误的:
另外,线条和图标之间还有一个小的不必要的空间(例如,我们可以注意到图标和右线之间的空间比左线之间的空间大)。
我认为一个好的解决方案是绘制一条线而不是两条线,然后在线的(计算)中心处绘制图标,并使用(固定宽度)白色背景。这是好方法吗?我该怎么做?
答案1
您可以使用 来\hbox
固定特定的宽度,然后使用 用\leaders
线填充两侧的框,直到达到指定的宽度:
\documentclass[a4paper, 11pt, color, final, roman]{moderncv}
\usepackage[scale=0.9]{geometry}
\AtBeginDocument{\recomputelengths}
\usepackage{fontspec}
\moderncvstyle{classic}
\moderncvicons{awesome}
\sethintscolumnlength{3cm}
\RenewDocumentCommand{\section}{smm}{% third argument is [m]andatory
\par\addvspace{2.5ex}%
\phantomsection{}%
\addcontentsline{toc}{section}{#2}%
\cvitem[0ex]{%
\strut\hbox to \hintscolumnwidth{%
\color{color1}%
\fontsize{.5cm}{0cm}\selectfont
\leaders\hrule width-\baseletterheight height\dimexpr\baseletterheight+0.3ex\relax\hfill
\space #3
\leaders\hrule width-\baseletterheight height\dimexpr\baseletterheight+0.3ex\relax\hfill
}%
}%
{\strut\sectionstyle{#2}}% Section title
}
\firstname{gnxr}
\lastname{demo}
\begin{document}
\section{Compétences}{\faWrench}
\closesection{}
\end{document}
你可能会注意到很多行都以 结尾%
。如果没有这个,TeX 会在那里插入一个空格,从而破坏对称性。