如何创建具有这种结构的页面?如果我需要所有这样的页面,使用表格是否合适?
答案1
这是一个 tikzpicture 解决方案:
\documentclass{article}
\usepackage[margin=.75in]{geometry}
\usepackage{tikz}
\newlength{\innersep}
\newlength{\cellheight}
\newlength{\leftwidth}
\newlength{\rightwidth}
\newlength{\topheight}
\newlength{\middleheight}
\newlength{\bottomheight}
\setlength{\innersep}{.3em}
\setlength{\cellheight}{\dimexpr 0.1666\textheight-2\innersep}
\setlength{\leftwidth}{\dimexpr 2in-2\innersep}
\setlength{\rightwidth}{\dimexpr \textwidth-\leftwidth-4\innersep}
\setlength{\topheight}{\dimexpr 2in-2\innersep}
\setlength{\middleheight}{\dimexpr 0.5\textheight-\topheight-4\innersep}
\setlength{\bottomheight}{\dimexpr 0.5\textheight-2\innersep}
\begin{document}
\vspace*{-13.2pt}% first page only
\noindent\begin{tikzpicture}[every node/.style={draw,inner sep=\innersep}]
\path (0,0) node(A){\parbox[t][\cellheight]{\leftwidth}{ cell A }}
node[below] (B) at (A.south) {\parbox[t][\cellheight]{\leftwidth}{ cell B }}
node[below] (C) at (B.south) {\parbox[t][\cellheight]{\leftwidth}{ cell C}}
node[below] (D) at (C.south) {\parbox[t][\cellheight]{\leftwidth}{ cell D }}
node[below] (E) at (D.south) {\parbox[t][\cellheight]{\leftwidth}{ cell E }}
node[below] (F) at (E.south) {\parbox[t][\cellheight]{\leftwidth}{ cell F }}
node[below right] (G) at (A.north east) {\parbox[t][\topheight]{\rightwidth}{ cell G }}
node[above right] (H) at (C.south east) {\parbox[t][\middleheight]{\rightwidth}{ cell H }}
node[below right] (I) at (D.north east) {\parbox[t][\bottomheight]{\rightwidth}{ cell I }};
\end{tikzpicture}
\end{document}
答案2
在 Plain Tex 中:
\hsize=480 pt
\vsize=700 pt
\newdimen\temp
\def\fmt{\leftskip2pt\rightskip2pt\abovedisplayskip0pt
\belowdisplayskip0pt}
\long\def\btab#1#2#3{\vbox to #1pt{\fmt\hsize=#2pt\advance\hsize by
-.8pt\temp=#1pt\advance\temp by -.8pt%
\hrule\hbox to #2 pt{\vrule\hfill
\vbox to\temp{\hbox to\hsize{\hfill\vbox{#3}\hfill}
\vfil}\hfill\vrule}\vfil\hrule}}
\long\def\Boxit#1#2{\vbox{\hrule\hbox{\vrule\vbox spread#1pt{\vfil
\hbox spread#1pt{\hfil#2\hfil}\vfil}\vrule}\hrule}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Boxit{0}{%
\noindent
\vbox{
\btab{100}{100}{\vskip1pt \noindent stuff}\nointerlineskip
\btab{100}{100}{stuff}\nointerlineskip
\btab{100}{100}{stuff}\nointerlineskip
\btab{100}{100}{stuff}\nointerlineskip
\btab{100}{100}{stuff}\nointerlineskip
\btab{100}{100}{stuff} \nointerlineskip
\btab{100}{100}{stuff}}%
\vbox{
\btab{200}{380}{\noindent stuff} \nointerlineskip
\btab{150}{380}{stuff}\nointerlineskip
\btab{350}{380}{stuff}}}
\bye
Boxit 宏将所有框包装在一个有格子的框中(因此外部规则的厚度与内部规则的厚度相同)。
(欢迎提出改进建议。)