(几乎)具有多列/多行和修改高度的页表宽度

(几乎)具有多列/多行和修改高度的页表宽度

我正在尝试创建一个标题来横跨一组办公文档;我尝试使用多行的 widetable 包,但没有成功。这是我目前最接近的,使用http://www.tablesgenerator.com/和 diagbox 包:

\documentclass[a4paper,twoside,10pt]{report}
\usepackage{diagbox}
\usepackage{multirow}

\begin{document}

\begin{table}[]
\centering
\caption{My caption}
\label{my-label}
\begin{tabular}{lllll}
\hline
\multicolumn{1}{|l|}{\multirow{2}{*}{Model Effectivity}} & \multicolumn{4}{c|}{REVISIONS}                                                                                                   \\ \cline{2-5} 
\multicolumn{1}{|l|}{}                                   & \multicolumn{1}{l|}{REV} & \multicolumn{1}{l|}{DESCRIPTION}     & \multicolumn{1}{l|}{DATE}     & \multicolumn{1}{l|}{APPROVED}  \\ \hline
\multicolumn{1}{|l|}{\diagbox[dir=NE]{\hspace{35pt} }{ \hspace{35pt}}}                          & \multicolumn{1}{l|}{-}   & \multicolumn{1}{l|}{Initial Release} & \multicolumn{1}{l|}{1/1/2016} & \multicolumn{1}{l|}{Travis} \\ \hline
                                                         &                          &                                      &                               
\end{tabular}
\end{table}


\end{document}

我还需要调整行上的 vbox 尺寸 - 我必须使用 diagbox 来获取我想要的对角线框(似乎很明显,对吧?)但除非我添加 hspace 元素,否则它不会正确到达角落,这会使那个框太高。

我怎样才能让斜线和宽表格和平共处(而不必尝试在 Tikz 中绘制它)?

编辑:我想尝试跨越比其他问题更大比例的页面宽度 - 但是,这是一种在工程文档中很常见的“标题”类型(不是 LaTeX 意义上的)。

我正在添加一个类似的图像:其中有相当多的空白空间(以便稍后,更改的描述可以包含几句话来说明更改了什么,或者合并了哪些 ECO。 文档上的宽页眉

[编辑 2] 因此,我尝试使用 eqsetminwidth 强制宽度按照我想要的方式计算,然后使用 adjustwidth 将表格移回中心(通过手动移动它 - 这并不优雅,但至少这是正确的想法!)。现在只需弄清楚为什么它在第一列下有那些垂直线...宽标题

\documentclass[a4paper,twoside,10pt]{report}
\usepackage{diagbox}
\usepackage{array, multirow, caption}
\usepackage{eqparbox}
\usepackage{adjustbox}
%\usepackage[showframe=true]{geometry}
\usepackage{changepage}

\makeatletter
\newcommand*{\centerfloat}{%
  \parindent \z@
  \leftskip \z@ \@plus 1fil \@minus \textwidth
  \rightskip\leftskip
  \parfillskip \z@skip}
\makeatother

\begin{document}
%\eqsetminwidth{<tag>}{<width>}
\eqsetminwidth{R}{4.5in}
\eqsetminwidth{D}{3.5in}
%\begin{adjustbox}{center}
\begin{table}[!htb]
\makeatletter
\setlength{\@fptop}{0pt}
\makeatother
%\centerfloat
%\noindent
\begin{adjustwidth}{-1.75cm}{}
  \centering\renewcommand\arraystretch{1.333}
%  \caption{My caption}
%  \label{my-label}
  \begin{tabular}{|*{5}{c|}}
    \hline
    \multicolumn{1}{|c|}{\multirow{2}{*}{\eqmakebox[H]{Model Effectivity}}} & \multicolumn{4}{c|}{\eqmakebox[R]{REVISIONS}} \\
    \cline{2-5}
                                                                                          & \multicolumn{1}{l|}{REV} & \eqmakebox[D]{DESCRIPTION} & DATE & APPROVED \\
    \hline
    \diagbox[dir=NE, width =\dimexpr\eqboxwidth{H} + 2\tabcolsep\relax, height=0.6cm]{}{} & --- & Initial Release & 1/1/2016 & Travis \\
    \hline

  \end{tabular}
\end{adjustwidth}   
\end{table}
%\end{adjustbox}

\end{document} 

答案1

给你:我使用eqparbox包测量第一列标题的宽度,并将的宽度设置为该\diagbox宽度。我还简化了你的代码,并删除了所有无用的\multicolumns。最后,我加载了caption包以获得标题和表格之间的适当垂直距离:

\documentclass[a4paper,twoside,10pt]{report}
\usepackage{diagbox}
\usepackage{array, multirow, caption}
\usepackage{eqparbox}

\begin{document}

\begin{table}[!htb]
  \centering\renewcommand\arraystretch{1.333}
  \caption{My caption}
  \label{my-label}
  \begin{tabular}{|*{5}{l|}}
    \hline
    \multicolumn{1}{|l|}{\multirow{2}{*}{\eqmakebox[H]{Model Effectivity}}} & \multicolumn{4}{c|}{REVISIONS} \\
    \cline{2-5}
                                                                                          & \multicolumn{1}{l|}{REV} & DESCRIPTION & DATE & APPROVED \\
    \hline
    \diagbox[dir=NE, width =\dimexpr\eqboxwidth{H} + 2\tabcolsep\relax, height=0.6cm]{}{} & --- & Initial Release & 1/1/2016 & Travis \\
    \hline
  \end{tabular}
\end{table}

\end{document} 

在此处输入图片描述

相关内容