结果如下:你会看到它太拥挤了。 MWE 是:
\documentclass[12pt,a4paper]{book}
\usepackage{fontspec,amsmath}
\usepackage{tabularx}
\usepackage{pbox}
% For multiletter symbols
\newcommand\Rey{\mbox{\textit{Re}}} % Reynolds number
\newcommand\Str{\mbox{\textit{St}}}
\begin{document}
\begin{tabularx}{\textwidth}{l}\hline
\hline
\pbox{55cm}{$\Rey=68$ \\$\Str=0.12$ }\\
\pbox{55cm}{$\Rey=84$ \\$\Str=0.13$}\\
\pbox{55cm}{$\Rey=103$\\$\Str=0.14$}\\
\pbox{55cm}{$\Rey=119$\\$\Str=0.15$}\\
\pbox{55cm}{$\Rey=134$\\$\Str=0.16$}\\
\pbox{55cm}{$\Rey=171$\\$\Str=0.17$}\\\hline
\end{tabularx}
\end{document}
答案1
不要使用\pbox
。
\documentclass[12pt,a4paper,oneside,openany]{book}
\usepackage{fontspec,tabularx,amsmath}
% For multiletter symbols
\DeclareMathOperator\Real{Re} % cf plain TeX's \Re and Reynolds number
\DeclareMathOperator\imag{Im} % cf plain TeX's \Im
\newcommand{\constant}[1]{\mathit{#1}}
\newcommand\Rey{\constant{Re}} % Reynolds number
\newcommand\Pran{\constant{Pr}} % Prandtl number, cf TeX's \Pr product
\newcommand\Pen{\constant{Pe}} % Peclet number
\newcommand\Str{\constant{St}}
\newcommand{\splitbox}[1]{%
\linespread{1}\selectfont
\renewcommand{\arraystretch}{1}%
\begin{tabular}{@{}l@{}}
\strut#1\strut
\end{tabular}%
}
\linespread{1.3}
\pagestyle{plain}
\begin{document}
\mainmatter
\begin{table}
\begin{center}
\begin{tabularx}{\textwidth}{lXXXXXX}\hline
&1d&&3d&&6d&\\
&MSP&SLP&MSP&SLP&MSP&SLP\\\hline
\splitbox{$\Rey=68$ \\$\Str=0.12$}& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$\\
\splitbox{$\Rey=84$ \\$\Str=0.13$}& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$\\
\splitbox{$\Rey=103$\\$\Str=0.14$}& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$\\
\splitbox{$\Rey=119$\\$\Str=0.15$}& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$\\
\splitbox{$\Rey=134$\\$\Str=0.16$}& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$\\
\splitbox{$\Rey=171$\\$\Str=0.17$}& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$\\\hline
\end{tabularx}
\end{center}
\caption{sss}
\label{tab2:2}
\end{table}
\backmatter
\end{document}
笔记
我删除了示例中不需要的包,并以更好的方式修改了常量的定义:这将确保在任何情况下都使用斜体。
避免篡改诸如\hoffset
和之类的参数\voffset
:使用来更改页面参数要容易得多geometry
。
不要加载xunicode
(没有必要);也不xltxtra
应该有必要:它的某些功能也可能会引发问题,因此请加载它仅有的如果您需要这些额外的功能(通常不需要)。
答案2
tabularx 会影响多行单元格的设置,以及您未使用的唯一一行以上的列X
。此外,我还删除了一些包,以使您的示例更加简洁(它们会生成为我发布的缺失字体错误)
这只是使用了 X 并删除了 pbox:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% (UTF-8/XeLaTex)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% !Mode:: "TeX:UTF-8"
\documentclass[12pt,a4paper,oneside,openany]{book}
\usepackage{amsmath}
\usepackage{tabularx}
% For multiletter symbols
\newcommand\Real{\mbox{Re}} % cf plain TeX's \Re and Reynolds number
\newcommand\imag{\mbox{Im}} % cf plain TeX's \Im
\newcommand\Rey{\mbox{\textit{Re}}} % Reynolds number
\newcommand\Pran{\mbox{\textit{Pr}}} % Prandtl number, cf TeX's \Pr product
\newcommand\Pen{\mbox{\textit{Pe}}} % Peclet number
\newcommand\Str{\mbox{\textit{St}}}
\setlength{\oddsidemargin}{0pt}
\setlength{\evensidemargin}{0pt}
\setlength{\marginparsep}{0pt}
\setlength{\hoffset}{0.46cm}
\setlength{\textwidth}{15cm}
\setlength{\voffset}{0.46cm}
\setlength{\topmargin}{0pt}
\setlength{\headheight}{0pt}
\setlength{\headsep}{0pt}
\setlength{\textheight}{23.7cm}
\linespread{1.3}
\pagestyle{plain}
\begin{document}
\mainmatter
\begin{table}
\centering
\renewcommand\tabularxcolumn[1]{m{#1}}
\begin{tabularx}{\textwidth}{>{\raggedright}XXXXXXX}\hline
&1d&&3d&&6d&\\
&MSP&SLP&MSP&SLP&MSP&SLP\\\hline
$\Rey=68$ \\$\Str=0.12$ & $6 \sim 86$& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$\\
$\Rey=84$ \\ $\Str=0.13$& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$\\
$\Rey=103$\\$\Str=0.14$& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$\\
$\Rey=119$\\$\Str=0.15$& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$\\
$\Rey=134$\\$\Str=0.16$& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$\\
$\Rey=171$\\$\Str=0.17$& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$&$6 \sim 86$\\\hline
\end{tabularx}
\caption{sss}
\label{tab2:2}
\end{table}
\backmatter
\end{document}
答案3
修改解决方案以消除使用。在这里,我用 替换了您对\pbox
的使用,并通过 提供额外的垂直分隔。我将其全部包装在一个新定义的宏 中。在该定义中,和垂直间隙说明符可以更改为适合。\pbox
\stackanchor
\addstackgap
\mystack{}{}
[3pt]
[6pt]
\documentclass[12pt,a4paper]{book}
%\usepackage{fontspec}
\usepackage{amsmath}
\usepackage{tabularx}
\usepackage{pbox}
% For multiletter symbols
\newcommand\Rey{\mbox{\textit{Re}}} % Reynolds number
\newcommand\Str{\mbox{\textit{St}}}
\usepackage{stackengine}
\newcommand\mystack[2]{\ensurestackMath{%
\def\stackalignment{l}\addstackgap[3pt]{\stackanchor[6pt]{#1}{#2}}}}
\begin{document}
\mainmatter
\begin{table}
\begin{center}
\begin{tabularx}{\textwidth}{lXXXXXX}\hline
&1d&&3d&&6d&\\
&MSP&SLP&MSP&SLP&MSP&SLP\\\hline
\mystack{\Rey=68}{\Str=0.12}& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$\\
\mystack{\Rey=84}{\Str=0.13}& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$\\
\mystack{\Rey=103}{\Str=0.14}& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$\\
\mystack{\Rey=119}{\Str=0.15}& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$\\
\mystack{\Rey=134}{\Str=0.16}& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$\\
\mystack{\Rey=171}{\Str=0.17}& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$& $6 \sim 86$&$6 \sim 86$\\\hline
\end{tabularx}
\end{center}
\caption{sss}
\label{tab2:2}
\end{table}
\backmatter
\end{document}
将垂直间隙说明符更改为,例如,
\newcommand\mystack[2]{\ensurestackMath{%
\def\stackalignment{l}\addstackgap[6pt]{\stackanchor[4pt]{#1}{#2}}}}
给出了视觉上改变的结果: