我是 LaTeX 的初学者,正在尝试使用它来编写工业测试报告。我的文档中有许多表格,最近我发现了 的功能siunitx
。我想尽可能使用列。我尝试修改了一个表格来进行实验,但我发现我选择的选项会使表格的列相当大,有些列不再适合页面。此外,在附加的示例中,列S
似乎没有很好地居中。可以应用什么修复方法?S
\documentclass[a4paper, oneside,11pt, english, numbers=noenddot, captions=tableheading]{scrreprt}
\usepackage[T1]{fontenc} % Usual fonts
\usepackage{tgheros,textcomp}% Fonts
\usepackage{siunitx}% Handling Si units
\usepackage{tabularx} % More elaborate form of tables
\usepackage{multirow} %handling of fusionned cells in tables
\renewcommand{\familydefault}{\sfdefault}%selecting default font (clone of helvetica)
%-----------------------------------------------------------------
%BEGIN CONFIG 2 CAVITIES--------------
\newcommand{\ConfigTwoGang}[3]{%
AAAAAAA & 1-20  &1-20 \\
BBBBBBBB & 1-8  &1-20 \\
CCCCCCC& 1-20  &Power \\
}%
%-------------------------------------------------------
%END CONFIG 2 CAVITIES--------------
%------------------------------------------------------
% BEGIN INSERT TABLE TWO CAV
\newcommand{\TableIRTwoGang}[4]{%
\begin{table}[#4]%
\noindent
\begin{center}
\sisetup{table-number-alignment=center,table-figures-integer = 4}
\caption{Insulation resistance (\si{\mega\ohm}) - 2 gang versions}
\begin{tabular}{|c|cS[table-comparator = true]|cS[table-comparator = true]|}
\hline
\multirow{2}{*}{Part number}&\multicolumn{2}{c|}{{Cavity 1}}&\multicolumn{2}{c|}{{Cavity 2}}\\
%\hline
&Position&{Ins. Res.}&Position&{Ins. Res.}\\
\hline\hline
\ConfigTwoGang{#1}{#2}{#3}%
\hline
\end{tabular}
\end{center}
\end{table}
}%
%------------------------------------------------------
\begin{document}
\TableIRTwoGang{> 1500}{> 2000}{> 5000}{H}
\end{document}
答案1
可以采取什么修复措施?
在您提供的 MWE 中,您仅最低限度地使用了包S
提供的列类型的功能siunitx
。在这种情况下,最好只使用指令
\sisetup{table-parse-only}
并省略所有其他选项。以下稍微修改过的 MWE 形式表明,使用此选项后,两S
列的内容将很好地居中,而这正是我所理解的您想要的。
\documentclass[a4paper, oneside, 11pt, english,
numbers=noenddot, captions=tableheading]{scrreprt}
\usepackage[T1]{fontenc}
\usepackage{tgheros,textcomp}% Fonts
\usepackage{siunitx}% Handling Si units
\usepackage{tabularx} % More elaborate form of tables
\usepackage{multirow} %handling of fused cells in tables
\renewcommand{\familydefault}{\sfdefault}%select default font (clone of helvetica)
\newcommand{\ConfigTwoGang}[3]{%
AAAAAAA & 1-20  &1-20 \\
BBBBBBBB & 1-8  &1-20 \\
CCCCCCC & 1-20  &Power \\ }
\newcommand{\TableIRTwoGang}[4]{%
\begin{table}[#4]%
\sisetup{table-parse-only}
\caption{Insulation resistance (\si{\mega\ohm}) --- 2 gang versions}
\centering
\begin{tabular}{|c|cS|cS|}
\hline
\multirow{2}{*}{Part number}
& \multicolumn{2}{c|}{Cavity 1}
& \multicolumn{2}{c|}{Cavity 2}\\
& Position & {Ins.\ Res.}
& Position & {Ins.\ Res.}\\
\hline\hline
\ConfigTwoGang{#1}{#2}{#3}%
\hline
\end{tabular}
\end{table}
}
\begin{document}
\TableIRTwoGang{> 1500}{> 2000}{> 5000}{ht!}
\end{document}
单独评论:使用您当前的字体选择命令,即,
\usepackage{tgheros}
\renewcommand{\familydefault}{\sfdefault}
你最终会得到(Helvetica
文本字体和Computer Modern Sans
数学字体的克隆)。检查第 1、2 和 4 列与第 3 和 5 列的字符粗细和形状,会发现一些差异;这些差异并不大,但它们是很明显。(例如,字形“1”在 中有“页脚”,Computer Modern Sans
但在 中没有页脚Helvetica
。)有些人可能会发现在一个表格中使用两种不同的无衬线字体有点分散注意力。如果您需要在整个文档中使用无衬线字体,您可能需要使用arev
字体包,它将文本和数学字体都设置为无衬线字体,在我看来,这种字体非常适合在表格中显示数字材料。下图显示了与之前相同的表格,但现在使用命令\usepackage{arev}
代替\usepackage{tgheros}
: