如何避免在 ModernCV 的 cvitem 中使用 multicol 产生额外的垂直空间?

如何避免在 ModernCV 的 cvitem 中使用 multicol 产生额外的垂直空间?

在一份moderncv文档中,我想在两列中列出cvitem几个items(最好使用multicol)。

但是,这会弄乱垂直对齐cvitem- 左侧的标题会向上或向下移动(如果minipage使用了):

MWE 的图像

itemmoderncv's中设置两列 s 的正确方法是什么cvitem,以使其不会垂直移动?

梅威瑟:

\documentclass[11pt,a4paper,sans]{moderncv}

\moderncvstyle{classic}
\moderncvcolor{blue}

\usepackage[utf8]{inputenc}

\usepackage{multicol}
\setlength{\multicolsep}{0pt}

\firstname{First}
\familyname{Last}

\begin{document}
\makecvtitle

\cvitem{default}{
\begin{itemize}
    \item default itemize without multicols
    \item second item 
\end{itemize}}

\cvitem{multicols}{
    \begin{multicols}{2} 
        \begin{itemize} 
            \item item 1 
            \item item 2 
            \item item 3 
            \item item 4 
        \end{itemize}
    \end{multicols}}

\cvitem{minipage}{%
    \begin{minipage}[t]{\linewidth}
        \begin{itemize}
            \begin{multicols}{2}
                \item Item a
                \item Item b
                \item Item c
                \item Item d
            \end{multicols}
        \end{itemize}
\end{minipage}}

\end{document}

答案1

在您的情况下,问题出在环境上multicols,它只是添加了一些您不想要的空白空间。

我没有调查该空白处究竟来自哪里,但您可以使用以下方法解决:

    \vspace{-10pt}% <===================================================
%   \vspace{-0.8\baselineskip}% <=======================================

添加上面显示的命令之一,我在下面的完整 mwe 中使用了第一个命令。在启动环境之前添加此命令multicols

通过以下竞争MWE

\documentclass[11pt,a4paper,sans]{moderncv}

\moderncvstyle{classic}
\moderncvcolor{blue}

\usepackage[utf8]{inputenc}

\usepackage{multicol}
\setlength{\multicolsep}{0pt}

\firstname{First}
\familyname{Last}

\begin{document}
\makecvtitle

\cvitem{default}{
\begin{itemize}
    \item default itemize without multicols
    \item second item 
\end{itemize}}

\cvitem{multicols}{
    \vspace{-10pt}% <===================================================
%   \vspace{-0.8\baselineskip}% <=======================================
    \begin{multicols}{2} 
        \begin{itemize} 
            \item item 1 
            \item item 2 
            \item item 3 
            \item item 4 
        \end{itemize}
    \end{multicols}}

\cvitem{minipage}{%
    \begin{minipage}[t]{\linewidth}
        \begin{itemize}
            \begin{multicols}{2}
                \item Item a
                \item Item b
                \item Item c
                \item Item d
            \end{multicols}
        \end{itemize}
\end{minipage}}

\end{document}

得到结果:

在此处输入图片描述

使用所使用的值来满足您的需求...

相关内容