多行间距

多行间距

我正在使用创建一个简历multirow。我固定了列的宽度,以便multirow可以自动将文本分成不同的行。我想控制表格最后一行和下一个块之间的距离,而多行只允许我设置第一的环境线multirow

这是我的 MWE。

\documentclass[letterpaper,8pt,oneside]{article}
\usepackage{longtable}
\usepackage{multirow}
\usepackage[centering,includeheadfoot,margin=2cm]{geometry}
\newcommand\x{8cm}  % width 
\newcommand\dist{2cm}  % distance

\begin{document}

    \begin{longtable}{ll}
        %
        %
        % EDUCATION
        %
        %
        \hline \noalign{\vskip 0.2cm}
        \Large{\textbf{Education}}
        &
        \\ 
        \small{2017 - 2021 (expected)}
        & 
        \textbf{Ph.D. in Economic Analysis}\\
        &
        \multirow{1}{\x}{Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu.}\\[\dist]   
        &
        \textbf{Ph.D. in Economic Analysis}\\
        &
        \multirow{1}{\x}{Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes,.}\\[\dist]                                                        
    \end{longtable}
\end{document}

在此示例中,我特意选择了“变量” \dist = 2,这样文本的两个部分就会重叠。我知道我可以为每个块设置一个更大的 \dist,但我希望 Latex 能够自动执行此操作。

编辑

我实现了@Zarco 在评论中提出的解决方案。但是,我遇到了同样的问题。我想控制文字行而常用命令\\[some distance]允许我控制单元格之间的距离。当一个单元格包含多行文本时,就会出现问题。在下面的示例中,我希望 [here] 和 M.Res. 之间的距离与 [here2] 和 Bachelor 之间的距离相同。

\documentclass[letterpaper,8pt,oneside]{article}
\usepackage[utf8]{inputenc}
\usepackage{setspace}

\usepackage{booktabs}% http://ctan.org/pkg/booktabs
\newcommand{\tabitem}{~~\llap{\textbullet}~~}

\usepackage{longtable}

\usepackage{marvosym}

\usepackage[centering, left=2cm, bottom=2cm, top=2cm]{geometry}
%\usepackage[centering,includeheadfoot,margin=2cm]{geometry}

\usepackage{array}
\newcolumntype{L}[1]{>{\raggedright\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}

%% Distances

% distance line header
\newcommand\dista{0.2cm}

% distance bold-text
\newcommand\distb{0cm}

% distance bold-text academic exp
\newcommand\distba{0.2cm}

% distance text-bold/line
\newcommand\distc{0.8cm}

\begin{document}



    \begin{longtable}{L{8cm} p{8cm}}
    %
    %
    % EDUCATION
    %
    %
    \hline \noalign{\vskip 0.2cm}
    \Large{\textbf{Education}}
    &
    \\ 
    \small{2017 - 2021 (expected)}
    & 
    \textbf{Ph.D. in Economic Analysis}\\[\distb]
    &
    Universitat Example1, Universitat Autonoma, Universitat [Here].\\[\distc]
    \small{Fall 2015 - Spring 2017}
    &
    \textbf{M.Res. in Economics Analysis }\\[\distb]
    &
    Universitat [here2].\\[\distc]
    \small{Fall 2011 - Fall 2014}
    &
    \textbf{Bachelor Degree in Mechanical Engineering}\\[\distb]
    &
    Univeristy X.\\[\distc]
    \hline
\end{longtable}

\结束{文档}

答案1

  • 我怀疑使用表格来实现你的目的是否是正确的决定
  • 它们的主要缺点是表格只能在行之间拆分,而不能在页面之间拆分
  • xltabular和的使用示例longtable
\documentclass[letterpaper,8pt,oneside]{article}
\usepackage[centering,includeheadfoot,margin=2cm]{geometry}
\usepackage{microtype}
\usepackage{booktabs, multirow, xltabular}

\newcommand\x{8cm}  % width
\newcommand\dist{2cm}  % distance
%---------------- show page layout. don't use in a real document!
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%
\usepackage{lipsum}

\begin{document}
\section{Example with \texttt{xltabular}}
    \begin{xltabular}{\linewidth}{@{} >{\large\bfseries}l X @{}}
    \toprule
Education
    &                                       \\
    \addlinespace
\small\multirow[t]{2}{6em}{2017 - 2021 (expected)}
    &   \textbf{Bachelor ...}               \\*
    &   \lipsum [11]                        \\
    \addlinespace
\small 2017 - 2021 
    &   \textbf{Master of math science}     \\*
    &   \lipsum [12]                        \\
    \addlinespace
\small 2017 - 2021 
    &   \textbf{Master of business science} \\*
    &   \lipsum [13]                        \\
    \addlinespace
\small 2017 - 2021 
    &   \textbf{Ph.D. in Economic Analysis} \\*
    &   \lipsum [14]                        \\
    \addlinespace
Experiences
    &                                       \\*
\small 2017 - 2021 
    &   \textbf{Company A}                  \\*
    &   \lipsum [15]                        \\
    \addlinespace
\small 2017 - 2021
    &   \textbf{Company B}                  \\*
    &   \lipsum [16]                        \\
    \addlinespace
\small 2017 - 2021
    &   \textbf{Company C}                  \\*
    &   \lipsum [17]                        \\
    \addlinespace
\small 2017 - 2021 
    &   \textbf{Company D}                  \\*
    &   \lipsum [18]                        
    \end{xltabular}

\section{Example with \texttt{longtable}}
    \begin{longtable}{@{} >{\large\bfseries}l p{\x} @{}}
    \toprule
Education
    &                                       \\*
    \addlinespace
\small\multirow[t]{2}{6em}{2017 - 2021 (expected)}
    &   \textbf{Bachelor ...}               \\*
    &   \lipsum [11]                        \\
    \addlinespace
\small 2017 - 2021
    &   \textbf{Master of math science}     \\*
    &   \lipsum [12]                        \\
    \addlinespace
\small 2017 - 2021
    &   \textbf{Master of business science} \\*
    &   \lipsum [13]                        \\
    \addlinespace
\small 2017 - 2021
    &   \textbf{Ph.D. in Economic Analysis} \\*
    &   \lipsum [14]                        \\
    \addlinespace
Experiences
    &                                       \\*
\small 2017 - 2021
    &   \textbf{Company A}                  \\*
    &   \lipsum [15]                        \\
    \addlinespace
\small 2017 - 2021
    &   \textbf{Company B}                  \\*
    &   \lipsum [16]                        \\
    \addlinespace
\small 2017 - 2021
    &   \textbf{Company C}                  \\*
    &   \lipsum [17]                        \\
    \addlinespace
\small 2017 - 2021
    &   \textbf{Company D}                  \\*
    &   \lipsum [18]
    \end{longtable}
\end{document}

对上述例子进行测试将会显示:

  • 两个表格都可以拆分到多个页面,
  • 文本不会在行中间分割,因此页面底部可能会出现不必要的空白
  • 第一列的宽度适用于单元格内容(因此对于文本2017 - 2021 年(预计)插入到multirow具有规定宽度的单元格中,使文本出现在两行中
  • 使用xltabular你不需要猜测第二列的宽度将利用\textwidth

在此处输入图片描述

在此处输入图片描述

您可以考虑,不要使用表格来存储数据,例如description,可以借助软件包enumitem轻松地根据您的需要进行定制。

相关内容