我对 Latex 还不太熟悉,我正在尝试编写如下表格:
经过几个小时的搜索,这是我能得到的最好的结果:
使用此代码:
\documentclass{report}
\usepackage{graphicx}
\begin{document}
\begin{table}[!ht]
\def\arraystretch{1.5}
\centering
\resizebox{\textwidth}{!}{%
\begin{tabular}{|l|c|l|l|l|l|l|l|l|}
\hline
Bit & 7 & 6 & 5 & 4 & 3 & 2 & 1 & 0 \\ \hline
byte 1 & \multicolumn{4}{c|}{Tipo de Paquete de Control} & \multicolumn{4}{c|}{Flags específicos de cada Paquete de Control} \\ \hline
byte 2 & \multicolumn{8}{c|}{Longitud restante} \\ \hline
\end{tabular}%
}
\caption{Formato del Header Fijo}
\end{table}
\end{document}
这对我来说非常好,除了“4”和“0”列与其他列相比确实很大之外,这些列的分布不太好。
我尝试过“X”类型的列,但表格总是超出页面范围。这应该很简单,但我在 Microsoft Word 环境中创建表格时遇到了困难(目前)。
非常感谢任何帮助或指导!
答案1
像这样?
(红线表示页面布局)
使用该包tabularx
,您可以获得宽度相等的单元格,7
直到`0˙,只要正确计算出四单元格分组单元格的可用宽度即可
\documentclass{report}
\usepackage{tabularx}
\newcolumntype{C}{>{\centering\arraybackslash}X} % usable width: '\hsize'
\newcolumntype{Y}{>{\hsize=\dimexpr4\hsize+6\tabcolsep+3\arrayrulewidth}C}
%---------------- show page layout. don't use in a real document!
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%
\begin{document}
\begin{table}[!ht]
\def\arraystretch{1.5}
%\centering % no longer needed
\begin{tabularx}{\linewidth}{|l|*{8}{C|}}
\hline
Bit & 7 & 6 & 5 & 4 & 3 & 2 & 1 & 0 \\
\hline
byte 1 & \multicolumn{4}{Y|}{Tipo de Paquete de Control}
& \multicolumn{4}{Y|}{Flags específicos de cada Paquete de Control} \\
\hline
byte 2 & \multicolumn{8}{c|}{Longitud restante} \\
\hline
\end{tabularx}%
\caption{Formato del Header Fijo}
\end{table}
\end{document}