如何绘制简单的固定宽度整页表格?

如何绘制简单的固定宽度整页表格?

我想从脚本生成内存页面,我认为 LaTeX 是构建漂亮 PDF 的完美工具。但是,我在表格环境中苦苦挣扎,我不知道如何设计以下模型(用 Illustrator 绘制)。

困难在于:

  • 固定宽度的列和行(163 x 260 毫米桌子上的 32 x 32 个单元格阵列)
  • 旋转顶部标题,无线条
  • 粗体标题,无线条
  • 表格边框比内部线条更粗

我目前所做的如下:

\documentclass[a4paper]{article}
\usepackage{array,graphicx}
\usepackage{calc}
\usepackage{booktabs}
\usepackage{geometry}
\usepackage{ifxetex}
\usepackage{booktabs}
\usepackage{pifont}
\usepackage{multirow}

\usepackage{helvet}
\newcommand*\rot{\rotatebox{90}}

\ifxetex
  \usepackage{fontspec}
  \setmonofont{Latin Modern Mono}
\else
  \usepackage{lmodern}
\fi
\renewcommand{\familydefault}{\sfdefault}
\geometry{
    a4paper,
    total={170mm,240mm},
    left=20mm,
    top=10mm,
}

\newcolumntype{C}[1]{@{}>{\centering\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\newcommand\Tstrut{\rule[0pt]{0pt}{0pt}}
\newcommand\Bstrut{\rule[0pt]{0pt}{0pt}}

\newcommand{\TBstrut}{}

\setlength\extrarowheight{0pt}

\begin{document}

\section*{PAGE 0x01000}
\newcommand\w{0.3cm}

\begin{tabular}{r|C{\w}|C{\w}|C{\w}|C{\w}|C{\w}|C{\w}|C{\w}|C{\w}|C{\w}|C{\w}|C{\w}|C{\w}|C{\w}|C{\w}|C{\w}|C{\w}|C{\w}|C{\w}|C{\w}|C{\w}|C{\w}|C{\w}|C{\w}|C{\w}|C{\w}|C{\w}|C{\w}|C{\w}|C{\w}|C{\w}|C{\w}|C{\w}|}
    & \rot{\textbf{0x00}} & \rot{\textbf{0x00}} & \rot{\textbf{0x00}} & \rot{\textbf{0x00}} & \rot{\textbf{0x00}} & \rot{\textbf{0x00}} & \rot{\textbf{0x00}} & \rot{\textbf{0x00}}& \rot{\textbf{0x00}} & \rot{\textbf{0x00}} & \rot{\textbf{0x00}} & \rot{\textbf{0x00}} & \rot{\textbf{0x00}} & \rot{\textbf{0x00}} & \rot{\textbf{0x00}} & \rot{\textbf{0x00}}& \rot{\textbf{0x00}} & \rot{\textbf{0x00}} & \rot{\textbf{0x00}} & \rot{\textbf{0x00}} & \rot{\textbf{0x00}} & \rot{\textbf{0x00}} & \rot{\textbf{0x00}} & \rot{\textbf{0x00}}& \rot{\textbf{0x00}} & \rot{\textbf{0x00}} & \rot{\textbf{0x00}} & \rot{\textbf{0x00}} & \rot{\textbf{0x00}} & \rot{\textbf{0x00}} & \rot{\textbf{0x00}} & \rot{\textbf{0x00}}\\
    \hline

    \multirow{2}{*}{\textbf{0x00000}} & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \TBstrut\\

    & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \TBstrut\\
    \hline


    \textbf{0x00000} & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \TBstrut\\
    \hline
    \textbf{0x00000} & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \TBstrut\\
    \hline
    \textbf{0x00000} & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \TBstrut\\
    \hline
    \textbf{0x00000} & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \TBstrut\\
    \hline
    \textbf{0x00000} & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \TBstrut\\
    \hline
    \textbf{0x00000} & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \TBstrut\\
    \hline
    \textbf{0x00000} & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \TBstrut\\
    \hline
    \textbf{0x00000} & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \TBstrut\\
    \hline
    \textbf{0x00000} & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \TBstrut\\
    \hline
    \textbf{0x00000} & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \TBstrut\\
    \hline
    \textbf{0x00000} & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \TBstrut\\
    \hline
    \textbf{0x00000} & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \TBstrut\\
    \hline
    \textbf{0x00000} & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \TBstrut\\
    \hline
    \textbf{0x00000} & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \TBstrut\\
    \hline
    \textbf{0x00000} & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \TBstrut\\
    \hline
    \textbf{0x00000} & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \TBstrut\\
    \hline
    \textbf{0x00000} & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \TBstrut\\
    \hline
    \textbf{0x00000} & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \TBstrut\\
    \hline
    \textbf{0x00000} & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \TBstrut\\
    \hline
    \textbf{0x00000} & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \TBstrut\\
    \hline
    \textbf{0x00000} & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \TBstrut\\
    \hline
    \textbf{0x00000} & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \TBstrut\\
    \hline
    \textbf{0x00000} & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \TBstrut\\
    \hline
    \textbf{0x00000} & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \TBstrut\\
    \hline
    \textbf{0x00000} & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \TBstrut\\
    \hline
    \textbf{0x00000} & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \TBstrut\\
    \hline
    \textbf{0x00000} & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \TBstrut\\
    \hline

\end{tabular}
\end{document}

有没有简单的方法可以实现我想要的目标?

在此处输入图片描述

答案1

通过 (a) 从 a 切换tabulartabularx环境,(b) 将 的值\tabcolsep从 6pt(默认值)减小到 1pt,以及 (c) 将 的值减小\arrayrulewidth到 0.25pt,即可只是可以将所有 33 列挤进可用空间。请注意,无需减小文本的字体大小。最后,我将值设置\extrarowheight2pt

在此处输入图片描述

\documentclass[a4paper]{article}
\usepackage{array,graphicx}
\newcommand*\rot{\rotatebox{90}}
\newcommand{\rt}[1]{\rot{\textbf{#1}}}

\usepackage{geometry}
\geometry{a4paper,total={170mm,240mm},left=20mm,top=10mm}

\usepackage{multirow}

\usepackage{helvet}
\renewcommand{\familydefault}{\sfdefault}

\usepackage{ifpdf}
\ifpdf
  \usepackage{lmodern}
\else
  \usepackage{fontspec}
  \setmonofont{Latin Modern Mono}
\fi

\usepackage{tabularx}
\newcolumntype{C}{>{\centering\arraybackslash}X}
\begin{document}

\section*{PAGE 0x01000}

\setlength\extrarowheight{2pt}    % default: 0pt
\setlength\arrayrulewidth{0.25pt} % default: 0.4pt
\setlength\tabcolsep{1pt}         % default: 6pt

\begin{tabularx}{\textwidth}{@{} r |*{32}{C|} }
& \rt{0x00} & \rt{0x00} & \rt{0x00} & \rt{0x00} 
& \rt{0x00} & \rt{0x00} & \rt{0x00} & \rt{0x00} 
& \rt{0x00} & \rt{0x00} & \rt{0x00} & \rt{0x00} 
& \rt{0x00} & \rt{0x00} & \rt{0x00} & \rt{0x00} 
& \rt{0x00} & \rt{0x00} & \rt{0x00} & \rt{0x00} 
& \rt{0x00} & \rt{0x00} & \rt{0x00} & \rt{0x00} 
& \rt{0x00} & \rt{0x00} & \rt{0x00} & \rt{0x00} 
& \rt{0x00} & \rt{0x00} & \rt{0x00} & \rt{0x00}\\
    \hline

    \multirow{2}{*}{\textbf{0x00000}} & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \\

    & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \\
    \hline
    \textbf{0x00000} & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \\
    \hline
    \textbf{0x00000} & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \\
    \hline
    \textbf{0x00000} & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \\
    \hline
    \textbf{0x00000} & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \\
    \hline
    \textbf{0x00000} & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \\
    \hline
    \textbf{0x00000} & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \\
    \hline
    \textbf{0x00000} & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \\
    \hline
    \textbf{0x00000} & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \\
    \hline
    \textbf{0x00000} & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \\
    \hline
    \textbf{0x00000} & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \\
    \hline
    \textbf{0x00000} & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \\
    \hline
    \textbf{0x00000} & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \\
    \hline
    \textbf{0x00000} & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \\
    \hline
    \textbf{0x00000} & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \\
    \hline
    \textbf{0x00000} & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \\
    \hline
    \textbf{0x00000} & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \\
    \hline
    \textbf{0x00000} & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \\
    \hline
    \textbf{0x00000} & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \\
    \hline
    \textbf{0x00000} & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \\
    \hline
    \textbf{0x00000} & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \\
    \hline
    \textbf{0x00000} & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \\
    \hline
    \textbf{0x00000} & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \\
    \hline
    \textbf{0x00000} & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \\
    \hline
    \textbf{0x00000} & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \\
    \hline
    \textbf{0x00000} & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \\
    \hline
    \textbf{0x00000} & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \\
    \hline
    \textbf{0x00000} & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \\
    \hline
\end{tabularx}
\end{document}

答案2

您的表格非常大,因此很难适应定义的\textwidth,即表格内容应使用 \footnotesize\scriptsize作为列标题的字体大小。对于简单的定义表格宽度以及单元格宽度,请选择tabularx表格环境。

MWE 仅考虑XeLaTeX引擎和Helvetica缩放到 0.92 的字体。

编辑(1): 现在删除了旋转节点之间的垂直线以及第一列和第一列左(边框)线的水平线。

编辑(2): 现在已修正定义 时的小错误\rotheadsize。到目前为止,它的测量被认为是字 0x00,它不是列标题中最长的。可以通过添加空格(而不是搜索最长的字)或查找最长的字(似乎是 0x04 和 0x6)来修复此问题。此修正允许使用字体大小\small作为正文和列标题。使用此字体大小会使表格有点太宽,因此需要进一步减小\tabcolsep(至 0pt)并在第一列和第二列之间添加小空间。此更改在代码中标记为% <---

编辑(3):对于外列和外行的粗体字体,字体定义更改为

\usepackage[scaled=0.92]{helvet}
\renewcommand{\familydefault}{\sfdefault}
\usepackage{fontspec}
\setmonofont{Latin Modern Mono}

(预计编译仅使用 XeLaTeX)

\documentclass[a4paper]{article}
\usepackage[total={170mm,240mm},
            left=20mm,
            top=10mm,
            ]{geometry}

\usepackage{array,graphicx}
\usepackage{rotating}
\usepackage{makecell, tabularx}
\renewcommand\theadfont{\small}            % <---
\renewcommand\rotheadgape{}
\newcolumntype{C}{>{\centering\arraybackslash}X}
\newcommand\RH[1]{\multicolumn{1}{c}{\rothead{#1}}}
\usepackage{fontspec}
\usepackage[scaled=0.84]{helvet}
\renewcommand{\familydefault}{\sfdefault}
\usepackage{pifont}

\begin{document}

\section*{PAGE 0x01000}
\begingroup
\small                                     % <---
\settowidth\rotheadsize{\theadfont 0x00 }  % <---
\setlength\tabcolsep{0pt}                  % <---
\setcellgapes{2pt}
\makegapedcells
\begin{tabularx}{\linewidth}{@{} r!{\ \vrule width 0.6pt}   % <---
                        *{31}{C|}C!{\vrule width 0.6pt}}
\RH{}   & \RH{0x00} & \RH{0x01} & \RH{0x02} & \RH{0x03}
        & \RH{0x04} & \RH{0x05} & \RH{0x06} & \RH{0x07}
        & \RH{0x00} & \RH{0x01} & \RH{0x02} & \RH{0x03}
        & \RH{0x04} & \RH{0x05} & \RH{0x06} & \RH{0x07}
        & \RH{0x00} & \RH{0x01} & \RH{0x02} & \RH{0x03}
        & \RH{0x04} & \RH{0x05} & \RH{0x06} & \RH{0x07}
        & \RH{0x00} & \RH{0x01} & \RH{0x02} & \RH{0x03}
        & \RH{0x04} & \RH{0x05} & \RH{0x06} & \RH{0x07}\\
    \Xcline{2-33}{0.6pt}
0x00000 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 
        & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 
        & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \\
    \cline{2-33}
0x00000 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03
        & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03
        & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \\ 
    \cline{2-33}
0x00000 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03
        & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03
        & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \\
    \cline{2-33}
0x00000 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03
        & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03
        & 00 & 01 & 02 & 03 & 00 & 01 & 02 & 03 \\
    \Xcline{2-33}{0.6pt}
\end{tabularx}
\endgroup
\end{document}

在此处输入图片描述

相关内容