我想对齐这个表。这是我的代码
\documentclass[a4paper, 12pt]{article}
\usepackage[left=15mm,right=20mm,top=20 mm,bottom=20mm]{geometry}
\usepackage{lipsum}
\usepackage{longtable}
\begin{document}
\lipsum[1]
\begin{longtable}{|p{10.8 cm}|p{6 cm}|}
\hline
\multicolumn{1}{|c|}{\textbf{\textit{Solve}}}&\multicolumn{1}{|c|}{\textbf{\textit{Result}}} \\
\hline
&\\
&\\
&\\
&\\
&\\
&\\
&\\
\hline
\end{longtable}
\end{document}
当我更改设置时,如何对齐此表以适合页面宽度geometry?
答案1
文本块的宽度是\textwidth
表格的宽度,是单元格的宽度加上2\tabcolsep
每个单元格的填充加上\ararryrulewidth
每条垂直线的宽度,因此
\documentclass[a4paper, 12pt]{article}
\usepackage[left=15mm,right=20mm,top=20 mm,bottom=20mm]{geometry}
\usepackage{lipsum}
\usepackage{longtable}
\begin{document}
\lipsum[1]
\begin{longtable}{
|p{0.7\dimexpr \textwidth-3\arrayrulewidth-4\tabcolsep\relax}|
p{0.3\dimexpr \textwidth-3\arrayrulewidth-4\tabcolsep\relax}|
}
\hline
\multicolumn{1}{|c|}{\textbf{\textit{Solve}}}&\multicolumn{1}{|c|}{\textbf{\textit{Result}}} \\
\hline
&\\
&\\
&\\
&\\
&\\
&\\
&\\
\hline
\end{longtable}
\结束{文档}
答案2
您可以使用该tabularx
包自动计算某些列的大小。
使用的基本命令是
\begin{tabularx}{\textwidth}{|X|X|}
该命令创建一个表格,其宽度与文本相同,且有两列。摘自tabularx
( texdoc tanbularx
) 手册:
通常,单个表格中的所有 X 列都设置为相同宽度,但是可以让 tabularx 将它们设置为不同的宽度。序言参数
{>{\hsize=.5\hsize}X>{\hsize=1.5\hsize}X}
指定两列,第二列的宽度将是第一列的三倍。但是,如果您想玩这样的游戏,您应该遵循以下两个规则。• 确保所有 X 列的宽度总和不变。(在上面的例子中,新宽度的总和仍为默认宽度的两倍,与两个标准 X 列相同。)
• 不要使用跨任何 X 列的 \multicolumn 条目。与大多数规则一样,如果您知道自己在做什么,这些规则可能会被打破。