我在框架内使用表格,类似于以下内容:
\documentclass{article}
\usepackage{flowfram}
\usepackage[showframe]{geometry}
\newflowframe{0.5\textwidth}{\textheight}{0pt}{0pt}
\newflowframe{0.5\textwidth}{\textheight}{0.5\textwidth}{0pt}
\begin{document}
\begin{tabular}{p{0.2\textwidth}p{0.2\textwidth}}
First thing & Second thing
\end{tabular}
\framebreak
\begin{tabular}{p{0.2\textwidth}p{0.2\textwidth}}
Third thing & Fourth thing
\end{tabular}
\end{document}
这几乎就是我想要的,但请注意我如何使用0.2\textwidth
来指定每个表格成员的大小。相反,我希望能够指定框架宽度的一半,而不必为此定义自己的长度。类似的东西0.4\framewidth
会很完美。包中是否有任何机制flowfram
可以让我查询当前框架的宽度?
答案1
是\textwidth
页面宽度减去主边距,而\columnwidth
只是一列文本的宽度(因此,\textwidth
与单列页面的宽度相同,但\textwidth
比双列页面的宽度少一半)。
但在其他情况下(表格的单元格、小页面、嵌套列表等),文本的宽度可能小于\textwidth
或\columnwidth
。这里您需要的是行的宽度(即\linewidth
),它在单列或双列文本中同样适用(即,它可以等于\textwidth
和/或\columnwidth
,..或不等于)。
因此,“最安全”的做法是使用宽度始终与 相关的表格列\linewidth
。如果您想要一p{}
列占框架的 50% 左右,那么p{0.5\linewidth}
就接近您的目标了,但:
您还必须考虑列之间的分隔(
\tabcolsep
)。表格的放置方式与大字母类似。也就是说,空行之后的行数与段落的大首字母类似,因此默认会缩进。因此,您应该使用
\noindent
,或者将其设置为 ,\parindent
以0pt
避免表格缩进。
妇女权利委员会:
\documentclass{article}
\usepackage{flowfram}
\usepackage[showframe]{geometry}
\newflowframe{0.5\textwidth}{\textheight}{0pt}{0pt}
\newflowframe{0.5\textwidth}{\textheight}{0.5\textwidth}{0pt}
\begin{document}
\tabcolsep1em
\noindent\begin{tabular}{|p{\dimexpr 0.5\linewidth-2\tabcolsep}|p{\dimexpr 0.5\linewidth-2\tabcolsep}|}
First thing & Second thing \\\hline
\end{tabular}
\framebreak
\noindent\begin{tabular}{|p{\dimexpr 0.5\linewidth-2\tabcolsep}|p{\dimexpr 0.5\linewidth-2\tabcolsep}|}
Third thing & Fourth thing \\\hline
\end{tabular}
\end{document}
笔记:
表格被“监禁”只是为了更好地检查四个单元格的宽度。并非完全是风格的建议......
注意:您可能需要查看tabularx
包以将表格简化为如下内容:
\noindent
\begin{tabularx}{\linewidth}{XX}
First thing & Second thing \\
\end{tabularx}