\pbox 使文本变得拥挤

\pbox 使文本变得拥挤

结果如下:你会看到它太拥挤了。 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}}}}

给出了视觉上改变的结果:

在此处输入图片描述

相关内容