为什么我的表格没有填充

为什么我的表格没有填充

我尝试在文档中插入一个表格(tabular),但代码渲染出来的是一个没有填充的表格。错误出在哪里?

代码:

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

\moderncvcolor{blue} 
\usepackage[utf8]{inputenc}
\usepackage[scale=0.77]{geometry}
\usepackage{multicol}
\usepackage{fancyhdr}
\usepackage{lastpage}

\usepackage{booktabs}
\usepackage{tabularx}

\usepackage{graphicx}

\pagestyle{fancy}
\fancyhf{}

...

\cvitemwithcomment{}{
\begin{tabular}{@{}llll@{}}
\toprule
XXXXXXXXXX & MMMMMM       & XXXXXXXXXXX & MMMMMMMM \\ \midrule
Lorem      & Ipsum       & dolor       & sit      \\
amet,      & consectetur & adipiscing  & elit.    \\
Aenean     & a           & lacus       & sit      \\ \bottomrule
\end{tabular}
}
{}

结果是:

答案1

由于你正在使用\cvitemwithcomment,我假设你正在使用moderncv文档类

tabular造成a 中列之间间隙的长度为\tabcolsep。这是定义latex.ltx- LaTeX 内核 - 但具体来说在您使用的文档类中。例如,article用途

\setlength\tabcolsep{6\p@}

然而,moderncv里面有以下评论moderncv.cls

% not set on purpose
%\setlength\arraycolsep{5\p@}
%\setlength\tabcolsep{6\p@}
%\setlength\tabbingsep{\labelsep}

因此,它故意不设置任何更改\tabcolsep(和其他更改),而是将它们保持在0pt定义时的默认长度。

如果您希望有一些填充,您有以下选择:

  1. 添加

    \setlength{\tabcolsep}{6pt}
    

    序言中的任意位置。请注意,这可能会影响由文档类构造的其他组件(无论它在哪里使用了 )tabular

  2. 使用

    \begingroup
    \setlength{\tabcolsep}{6pt}
    % <your tabular content>
    \endgroup
    

    将更改的范围本地化到您想要使用它的\tabcolsep特定位置。tabular

tabular由于该类经常使用 s,因此建议选择选项 2。

相关内容