如何在 moderncv 中实现 `cvtripleitem`

如何在 moderncv 中实现 `cvtripleitem`

cvdoubleitem您可能知道中存在 ,moderncv您可以将两个项目放在一行中。有没有办法自定义 ,cvtripleitem以便将三个项目放在一行中?

\documentclass[10pt,a4paper,sans]{moderncv}
\moderncvtheme[blue]{classic}
\usepackage[T1]{fontenc}
\usepackage[utf8x]{inputenc}
\usepackage[english]{babel}
\usepackage{helvet}
\usepackage[scale=0.9]{geometry}
\name{John}{Doe}

\begin{document}
\maketitle

\section{aaa}
\cvdoubleitem{xxxx}{aaaaa}{yyyyy}{bbbbb}
% what I want is: \cvtripleitem{xxx}{aaa}{yyy}{bbb}{zzz}{ccc}
\end{document} 

答案1

有一种可能性是:

\documentclass{moderncv}
\moderncvtheme{classic}
\usepackage[scale=0.9]{geometry}

\newlength\Tripleitemmaincolumnwidth
\newlength\tripleitemmaincolumnwidth

\AtBeginDocument{%
\setlength\tripleitemmaincolumnwidth{% 
  \maincolumnwidth-2\hintscolumnwidth-2\separatorcolumnwidth}%
\setlength\tripleitemmaincolumnwidth{.333333\tripleitemmaincolumnwidth}%   
  }

\newcommand*{\cvtripleitem}[7][.25em]{%
 \cvitem[#1]{#2}{%
   \begin{minipage}[t]{\tripleitemmaincolumnwidth}#3\end{minipage}%
   \hfill
   \begin{minipage}[t]{\hintscolumnwidth}\raggedleft\hintstyle{#4}\end{minipage}%
   \hspace*{\separatorcolumnwidth}%
   \begin{minipage}[t]{\tripleitemmaincolumnwidth}#5\end{minipage}%
   \hfill
   \begin{minipage}[t]{\hintscolumnwidth}\raggedleft\hintstyle{#6}\end{minipage}%
   \hspace*{\separatorcolumnwidth}%
   \begin{minipage}[t]{\tripleitemmaincolumnwidth}#7\end{minipage}%
   }%
}

\name{John Doe}{}

\begin{document}

\section{Computer skills}
\cvdoubleitem{category 1}{XXX, YYY, ZZZ}{category 4}{XXX, YYY, ZZZ}
\section{Computer skills}
\cvtripleitem{category 1}{XXX, YYY, ZZZ}{category 2}{XXX, YYY, ZZZ}{category 3}{XXX, YYY, ZZZ}

\end{document}

在此处输入图片描述

您可以\cvtripleitem以类似的方式使用\cvdoubleitem,但需要增加两个强制参数(针对行中的第三项)。

请注意,根据文档页面布局,为项目保留的空间可能太窄。

相关内容