我在完成特定任务时从这个网站获得了很多帮助,现在我意识到我使用的东西不符合我的目的。
我需要一个决策(组件或一组组件),它提供少量的列、可分页、valign/halign、最小高度,并且组件之间没有段落间距。这里如何制作一个具有最小高度并且在盒子内部垂直对齐的盒子?对于标题,我有一个很好的答案。但它不适用于longtable
,因此不支持分页。
也许我需要的不是表格,而是一些框的组合来实现这个目的?
我采用模板,从数据库中取出文本,并按照用户想要的顺序输入。
所以我不知道布局中会有多少文本。现在我有一个使用的工作版本longtables
。我提供的最小高度\parbox
(如果数据很短而布局很高)。但是我遇到了 valign 问题 - 如何在 parbox 中对齐表格?如果布局中的文本较大 - 布局肯定会被拉伸并拆分为页面。
我现在使用这样的构造(teplate 中的每一行 - 一个带有 longtable 的 parbox),它不提供分页并且不对齐:
我得到了这样的 PDF(文本未对齐,并且具有很大的段落空间,因此不是从顶部开始):
我使用的代码如下:
\documentclass{book}
\usepackage{fancybox,fancyhdr}
\usepackage[T1]{fontenc}
\usepackage[dvipsnames]{xcolor}
\usepackage{graphicx}
\usepackage{fixltx2e}
\usepackage[normalem]{ulem}
\usepackage[left=72pt,right=72pt,
headheight=72pt,
top=\dimexpr72pt+\headsep\relax,
textheight =592pt
]{geometry}
\usepackage{array}
\usepackage{longtable}
\usepackage[export]{adjustbox}
\newcolumntype{R}[2]{>{\raggedleft \arraybackslash \hspace{0pt}}{#2}{#1}}
\newcolumntype{L}[2]{>{\raggedright\arraybackslash}{#2}{#1}}
\newcolumntype{C}[2]{>{\center\arraybackslash}{#2}{#1}}
\fancyhf{} \fancyhead[C]{\raisebox{\dimexpr\headheight-\height}[\headheight][0pt] {\begin{tabular}{L{\textwidth}{p}}Non-disclosure agreement (NDA)\end{tabular}}}\begin{document}
\pagestyle{fancy}
\noindent\sbox{0}{\parbox{\textwidth}{\noindent\begin{longtable}{C{\textwidth}{m}}Text\end{longtable}}}
\ifdim\dimexpr\ht0+\dp0<517pt
\dp0\dimexpr517pt-\ht0\fi
\makebox{\usebox{0}}\\ \noindent\sbox{0}{\parbox{\textwidth}{\noindent\begin{longtable}{L{\textwidth}{p}}Text\end{longtable}}}
\ifdim\dimexpr\ht0+\dp0<27pt
\dp0\dimexpr27pt-\ht0\fi
\makebox{\usebox{0}}
\end{document}