如何实现顺序表的自动换行

如何实现顺序表的自动换行

因此,看起来 是\hspace不可破坏的,但如果后面跟着 ,则是\allowbreak。或者,您可以使用\hskip1.0em因为 是可破坏的。

那么,如果我的理解是正确的,那么为什么红色的表格没有出现在左侧?

在此处输入图片描述

问题:

  • 我该如何处理这种情况:我有一堆排成一行的表格,并希望它们彼此相邻(如果它们适合当前行的剩余部分),或者转到下一行。

笔记:

  • \hspace似乎可以解决第一组表的情况,但不能解决第二组表的情况。
  • 这是一份内部文件,所以不必太在意它看起来有多好。至少现在还不必。:-)

参考:

代码:

\documentclass{article}
\usepackage{showframe}

\newcommand*{\Space}{\hskip1.0em}%
%\newcommand*{\Space}{\hspace*{1.0em}\allowbreak}%  `\allowbreak`.
\newcommand*{\MyTabularA}{%
    \begin{tabular}{ccc}%
        Column 1 & Column 2 & Column 3 \\
        1 & 2 & A\\%
        3 & 4 & B\\%
        5 & 6 & C\\%
    \end{tabular}%
}%

\newcommand*{\MyTabularB}{%
    \begin{tabular}{ccc}%
        1 & 2 & 3 \\
        1 & 2 & A\\%
        3 & 4 & B\\%
        5 & 6 & C\\%
    \end{tabular}%
}%

\begin{document}\noindent
\MyTabularA\Space%
\MyTabularA\Space%
\color{red}\MyTabularA\Space%
\color{blue}\MyTabularA\Space%
\MyTabularA\Space%


\bigskip\color{black}\noindent
\MyTabularB\Space%
\MyTabularB\Space%
\MyTabularB\Space%
\MyTabularB\Space%
\MyTabularB\Space%
\color{red}\MyTabularB\Space%
\color{blue}\MyTabularB\Space%
\end{document}

答案1

\raggedright%%%%%%%%%%%%%%%%%%

在此处输入图片描述

答案2

\hspace{1em}和之间没有任何区别\hskip1em(只要后者后面没有plusminus:使用前者,您将获得内部版本

\@hspace{1em}

最终扩展为\hskip 1em\relax

你的文档中有什么问题?tabular对于 TeX 来说,环境就像一个大字母。它只想按照规则排版段落。实际上,你会收到两条消息:

Overfull \hbox (168.00093pt too wide) in paragraph at lines 24--30
[] [] [][]

Overfull \hbox (26.00035pt too wide) in paragraph at lines 32--40
[] [] [] [] [] [][]

其含义很简单:“亲爱的彼得,如果不违反当前的规定,我就无法排版您的段落\tolerance,因此我在右边距留下了一些突出的线条。”

如果你定义

\newcommand*{\Space}{\hspace{1.0em}}

因为你只是告诉 TeX 同样的事情。

通过允许拉伸来轻松获得理由\Space

\documentclass{article}
\usepackage{showframe}

\newcommand*{\Space}{\hspace{1.0em plus 3em}}
\newcommand*{\MyTabularA}{%
    \begin{tabular}{ccc}
        Column 1 & Column 2 & Column 3 \\
        1 & 2 & A\\
        3 & 4 & B\\
        5 & 6 & C\\
    \end{tabular}%
}

\newcommand*{\MyTabularB}{%
    \begin{tabular}{ccc}
        1 & 2 & 3 \\
        1 & 2 & A\\
        3 & 4 & B\\
        5 & 6 & C\\
    \end{tabular}%
}

\begin{document}

\noindent
\MyTabularA\Space
\MyTabularA\Space
\color{red}\MyTabularA\Space
\color{blue}\MyTabularA\Space
\MyTabularA

\bigskip

\color{black}\noindent
\MyTabularB\Space
\MyTabularB\Space
\MyTabularB\Space
\MyTabularB\Space
\MyTabularB\Space
\color{red}\MyTabularB\Space
\color{blue}\MyTabularB

\end{document}

(像往常一样,我删除了无用的东西。;-)

在此处输入图片描述

当然,由于 TeX 的规则,第二段的最后一行不会扩展空间。

相关内容