使用 Tabu 包设置列宽

使用 Tabu 包设置列宽

如何在 tabu 中设置特定列宽?以下是我目前所拥有的

{\tabulinesep=1.2mm
\begin{tabu}{|X|X|X|X|}
    \hline
        \textbf{Question} & \textbf{Solution} & \textbf{Partial Marks} & \textbf{Guidance} \\
    \hline
        %%%%%%%%%%%%%%% Q1 Equation of a Line
        1a & $\frac{1}{2}$ & A1 & cao \\
    \hline
        1b & $y-\frac{1}{3}x+4=0$ & A2 & cao \\
    \hline
        %%%%%%%%%%%%%%% Q2 Indices
        2 & $\frac{3^{2x}}{3^{2y}}=3^{2x+4}$ & M1 & Converts $9^x$ to $3^{kx}$ where $k$ is an integer \\
    \hline

这给了我这个

在此处输入图片描述

我想将左侧列和第三列的尺寸调整得比现在小一些,同时最好保留其他两列。如有任何建议,我将不胜感激,谢谢。

答案1

正如@HenriMenke 在评论中指出的那样,不要使用该tabu软件包:它有缺陷并且无人维护。相反,我建议您使用该tabularx软件包及其同名环境。我还建议您让表格材料看起来更加开放,主要是通过省略所有垂直线并使用更少但间距适当的水平线。

以下解决方案假设总宽度表格材料应为\textwidth。由于前三列中似乎没有用处或不允许使用换行符,因此它们使用l列类型。只有最后一列使用X列类型。

在此处输入图片描述

关于表格设计的最后评论:使用粗体因为标题单元格中的材料使表格看起来相当“沉重”——但实际上并没有提高其可理解性和可读性。如果我的表格中,我不会将标题行中的单词加粗。

\documentclass{article} 
\usepackage{tabularx} % for 'tabularx' environment
\usepackage{booktabs} % for \toprule, \midrule, \bottomrule, and \addlinespace macros
\begin{document} 
\noindent
\begin{tabularx}{\textwidth}{@{} lll X @{}}
    \toprule
    \textbf{Question} & \textbf{Solution} & 
    \textbf{Partial Marks} & \textbf{Guidance} \\
    \midrule
    %%%%%%%%%%%%%%% Q1 Equation of a Line
    1a & $\frac{1}{2}$ & A1 & cao \\
    \addlinespace
    1b & $y-\frac{1}{3}x+4=0$ & A2 & cao \\
    \addlinespace
    %%%%%%%%%%%%%%% Q2 Indices
    2 & $\frac{3^{2x}}{3^{2y}}=3^{2x+4}$ & M1 & 
    Converts $9^x$ to $3^{kx}$ where $k$ is an integer \\
    \bottomrule
\end{tabularx}
\end{document}

答案2

新的 LaTeX3 软件包tabularray是过时软件包的替代品tabu。并Q[2cm]设置列宽。

\documentclass[a4paper,12pt]{report}

\usepackage{tabularray}

\begin{document}    

\noindent
\begin{tblr}{colspec={Q[2cm]XQ[2cm]X},row{1}={font=\bfseries},hlines}
 Question & Solution                         & Partial Marks & Guidance \\
 1a       & $\frac{1}{2}$                    & A1 & cao \\
 1b       & $y-\frac{1}{3}x+4=0$             & A2 & cao \\
 2        & $\frac{3^{2x}}{3^{2y}}=3^{2x+4}$ & M1 & Converts $9^x$ to $3^{kx}$ where $k$ is an integer \\
\end{tblr}

\end{document}

在此处输入图片描述

答案3

@LJR 答案的一个小变体(用于练习):

在此处输入图片描述

\documentclass[a4paper,12pt]{report}
\usepackage{amsmath}
\usepackage{array,tabularray}
\NewColumnType{C}{>{$\displaystyle}X<{$}}

\begin{document}

\noindent
\begin{tblr}{colspec={Q[2cm] C Q[2cm,c,m] X[m]},
             row{1}={font=\bfseries},
             rowsep=3pt,
             hlines}
 Question & \text{Solution}                & Partial Marks  & Guidance \\
 1a       & \frac{1}{2}                    & A1             & cao \\
 1b       & y-\frac{1}{3}x+4=0             & A2             & cao \\
 2        & \frac{3^{2x}}{3^{2y}}=3^{2x+4} & M1             & Converts $9^x$ to $3^{kx}$ where $k$ is an integer \\
\end{tblr}

\end{document}

相关内容