我使用以下代码制作了一个表格,其中表格的单元格由 构成\makebox
。同一行的单元格由 分隔\vrule
。行与行之间由 分隔\hrule
。
在这个例子中,我希望由 绘制的水平线\hrule
出现在单元格中11
,13
除此之外,12
这意味着由 绘制的两条水平线\hrule
位于同一行。
我该怎么做?
\documentclass[a4paper]{article}
\usepackage{geometry}
\geometry{showframe}
\geometry{left=1cm,right=1cm,top=1cm,bottom=1cm}
\begin{document}
\fboxsep0pt
\fbox{\parbox{4in}{
\makebox[\dimexpr 1in - 0.4pt][c]{\parbox{\dimexpr 1in - 2.4pt}{11}}%
\vrule%
\makebox[\dimexpr 2in - 0.4pt][c]{\parbox{\dimexpr 2in - 2.4pt}{12}}%
\vrule%
\makebox[\dimexpr 1in - 0.4pt][c]{\parbox{\dimexpr 1in - 2.4pt}{13}}%
\hrule width 1in \hspace{2in} \hrule width 1in %of cause this is a wrong way.
\makebox[\dimexpr 1in - 0.4pt][c]{\parbox{\dimexpr 1in - 2.4pt}{21}}
}}
\end{document}
第二版本:
\framebox
我试过这样用,但是为什么单元格21
不在第二行呢?也就是说为什么不能自动换行呢?
\fbox{\parbox{4in}{\fboxsep3pt
\framebox[\dimexpr 1in][c]{\parbox{\dimexpr 1in - 2.4pt}{11}}%
\framebox[\dimexpr 2in][c]{\parbox{\dimexpr 2in - 2.4pt}{12}}%
\framebox[\dimexpr 1in][c]{\parbox{\dimexpr 1in}{13}}%
\framebox[\dimexpr 1in][c]{\parbox{\dimexpr 1in - 2.4pt}{21}}
}}
答案1
您没有在框之间指定断点。我相信所需的输出是
\documentclass{article}
\begin{document}
\fbox{\parbox{4in}{\fboxsep3pt
\framebox[\dimexpr 1in][c]{\parbox[t]{\dimexpr 1in - 2.4pt}{11}}%
\framebox[\dimexpr 2in][c]{\parbox[t]{\dimexpr 2in - 2.4pt}{12}}%
\framebox[\dimexpr 1in][c]{\parbox[t]{\dimexpr 1in}{13}}\\%
\framebox[\dimexpr 1in][c]{\parbox[t]{\dimexpr 1in - 2.4pt}{21}}
}}
\end{document}