moderncv - \section 内的两列 \cventry

moderncv - \section 内的两列 \cventry

我正在用这个软件包写简历moderncv。由于空间不足,我想让一个部分使用两列,用垂直线隔开。

我在这里看到了这些解决方案,使用\cvlistdoubleitem多色。但我想保留提供的进一步信息\cventry(=> 我的意思是,在我的情况下是“基本”和“非常基本”)

第一种方法,使用表格

<!-- language: lang-latex -->
\documentclass[11pt,a4paper]{moderncv}
\moderncvstyle{casual}
\moderncvcolor{blue}
\usepackage{layout}
\usepackage{lmodern}
\usepackage[ngerman]{babel}
\usepackage{amsmath}
\usepackage[utf8]{inputenc}
\usepackage[top=1in, bottom=1.25in, left=1.25in, right=1.25in]{geometry}
\begin{document}
    \section{headline}
    \begin{tabular}{l@{}|@{\hspace{5mm}}l}
        \cventry{}{C\#}{basic}{}{}{} & \cventry{}{UNIX}{basic}{}{}{} \\
        \cventry{}{vim}{basic}{}{}{} & \cventry{}{\LaTeX}{basic}{}{}{} \\
        \cventry{}{HTML, CSS, PHP}{very basic}{}{}{} \\
    \end{tabular}
\end{document}

结果是:

headline                                             site border
========                                                 :
                                                         :
    C#, basic                             |             U:NIX, basic
    vim, basic                            |             L:aTeX, basic
    HTML, CSS, PHP, very basic            |

@{}应该 - 正如我所理解的 - 占用第一列和分隔符之间的所有空白,但在这里它只是被忽略了,我不知道为什么。=> 在这个例子中,我想将第二列和分隔线向左移动并将其稍微推在一起,以便两列都可见并且不会被切断。

第二种方法,使用tabulary

<!-- language: lang-latex -->
\documentclass[11pt,a4paper]{moderncv}
\moderncvstyle{casual}
\moderncvcolor{blue}
\usepackage{layout}
\usepackage{lmodern}
\usepackage[ngerman]{babel}
\usepackage{amsmath}
\usepackage[utf8]{inputenc}
\usepackage[top=1in, bottom=1.25in, left=1.25in, right=1.25in]{geometry}
\usepackage{tabulary}
\begin{document}
    \section{headline}
    \begin{tabulary}{1.5\textwidth }{L|L}
        \cventry{}{c\#}{basic}{}{}{} & \cventry{}{UNIX}{basic}{}{}{}    \\
        \vspace{-2cm}                & \vspace{-2cm}                    \\
        \cventry{}{vim}{basic}{}{}{} & \cventry{}{\LaTeX}{basic}{}{}{}  \\
        \vspace{-2cm}                & \vspace{-2cm}                    \\
        \cventry{}{HTML, CSS, PHP}{very basic}{}{}{}                    \\
    \end{tabulary}
\end{document}

结果是:

headline                                                   site border
========                                                      :
                                                              :
    C#, basic                      |       UNIX, basic        :
                                   |                          :
    vim, basic                     |       LaTeX, basic       :
                                   |                          :
    HTML, CSS, PHP, very basic     |                          :

使用它的目的\vspace是为了消除行之间可见的空白,这样它在垂直方向上就会有点挤压——不幸的是,\vspace它无法被识别,我也不知道为什么。

第三种方法,使用tabu

<!-- language: lang-latex -->
\documentclass[11pt,a4paper]{moderncv}
\moderncvstyle{casual}
\moderncvcolor{blue}
\usepackage{layout}
\usepackage{lmodern}
\usepackage[ngerman]{babel}
\usepackage{amsmath}
\usepackage[utf8]{inputenc}
\usepackage[top=1in, bottom=1.25in, left=1.25in, right=1.25in]{geometry}
\usepackage{tabu}
\begin{document}
    \section{headline}
    \tracingtabu=3
    \tabulinesep=-10mm
    \begin{tabu} to 170mm {X[1.5,l] | X[1,l]}
        \cventry{}{C\#}{basic}{}{}{} & \cventry{}{UNIX}{basic}{}{}{} \\
        \cventry{}{vim}{basic}{}{}{} & \cventry{}{\LaTeX}{basic}{}{}{} \\
        \cventry{}{HTML, CSS, PHP}{very basic}{}{}{}
    \end{tabu}
\end{document}

结果是:

headline                                                   site border
========                                                      :
                                                              :
    C#, basic                      |       UNIX, basic        :
                                   |                          :
    vim, basic                     |       LaTeX, basic       :
                                   |                          :
    HTML, CSS, PHP, very basic     |                          :

\tabulinesep=-10mm应该根据禁忌文档指定行之间的最小空白量,这确实有效 - 但只能“增加”空白,而不是“减少”。

\tracingtabu=3应该有助于调试禁忌,但日志中的附加值对我没有帮助,我没有发现任何有用的东西。

=>有什么想法吗?我希望我没有忘记什么。

编辑:我对@Harish Kumar 建议的结果是这里

从日志文件中:

! Undefined control sequence.
<argument> \@firstname
                       {}~\@lastname {}
l.13 \begin{document}

尽管它是他的代码的精确副本。

答案1

您尝试过minipagemulticols

\documentclass[11pt,a4paper]{moderncv}
\moderncvstyle{casual}
\moderncvcolor{blue}
\usepackage{layout}
\usepackage{multicol}
\usepackage{lmodern}
\usepackage[ngerman]{babel}
\usepackage{amsmath}
\usepackage[utf8]{inputenc}
\usepackage[top=1in, bottom=1.25in, left=1.25in, right=1.25in]{geometry}
\firstname{}
\lastname{}
\setlength{\columnseprule}{0.4pt}
\begin{document}
    \section{headline}
    \hspace*{\hintscolumnwidth}%
    \begin{minipage}{\maincolumnwidth}
    \setlength{\hintscolumnwidth}{0pt}
        \begin{multicols}{2}
        \cventry{}{C\#}{basic}{}{}{} \par \cventry{}{UNIX}{basic}{}{}{} \par
        \cventry{}{vim}{basic}{}{}{} \par \cventry{}{\LaTeX}{basic}{}{}{} \par
        \cventry{}{HTML, CSS, PHP}{very basic}{}{}{} \par
    \end{multicols}
    \end{minipage}
\end{document}

在此处输入图片描述

相关内容