我想创建一个包含两列的表格,这些表格遵循黄金比例. 表格的宽度应该等于\textwidth
相应类的宽度。
以下是示例图片:
但是它不应该使用 960px,而应该使用完整的文本宽度。
编辑:
由于图像不太清晰,我需要明确我的要求。我希望两列之间留出一点空间,但这些空间不会包含在黄金比例的计算中。例如,如果页面宽度为 1000px,两列之间的空间为 40px,则黄金比例应从 960px 开始计算。此外,我不想在列的左侧和右侧以及列内留有任何填充。
答案1
以下示例取自手册tabularx
包裹,只是宽度设置为 ,使得w1/w2=golden ratio
和w1+w2=2
。有关详细信息,请参阅手册。请注意,包lipsum
和命令\lipsum[2]
用于提供一些虚拟文本。
\documentclass{article}
\usepackage{tabularx}
\usepackage{lipsum}
\begin{document}
\noindent
\begin{tabularx}{\textwidth}{@{}>{\hsize=1.23607\hsize}X@{}>{\hsize=0.76393\hsize}X@{}}
\lipsum[4] & \lipsum[2]
\end{tabularx}
\end{document}
编辑:按照OP的规定,我@{}
向表的列规范添加了3次,以完全删除水平填充。
答案2
可以使用tabu
它提供的机制在列声明中给出分数:
\documentclass{book}
\usepackage{tabu}
\begin{document}
\noindent\begin{tabu} to \textwidth{|X[0.618]|X[0.382]|}
long 61.8 \% & short 38.2\% \\
\end{tabu}
\end{document}
答案3
定义一个新的长度,减去\tabcolsep
,然后使用该长度作为计算的基础:
\documentclass{article}
\begin{document}
\newlength{\mytabwidth}
\setlength{\mytabwidth}{\textwidth}
\addtolength{\mytabwidth}{-\tabcolsep}
% display the new table width
\the\mytabwidth
\begin{tabular}{|@{}p{0.618\mytabwidth}|p{0.382\mytabwidth}@{}|}
\hline
a \hfill a & b \hfill b \\
\hline
\end{tabular}
\end{document}