因此,看起来 是\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
(只要后者后面没有plus
或minus
:使用前者,您将获得内部版本
\@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 的规则,第二段的最后一行不会扩展空间。