为什么 LaTeX 不允许我随时将所有内容放在一页上?为什么这不容易做到?原因如下:
也许这种方法总是有效,或者有时有效,但如果这样,那就太乱了。这是一个糟糕的答案,或者说,这是一个操纵看似糟糕或有缺陷的系统的好答案。
我知道\minipage
,但和其他提问者一样,我不想要迷你页面。我只想要一个普通页面,其中的普通元素在我要求时会停留在同一页面上。
这个问题已经提出超过和超过和超过无论如何,我认为我可以接受这个问题没有真正好的答案。为什么没有好的答案吗?
是不是因为 TeX 从根本上来说内部存在问题?
如果是的话,请问出了什么问题?
我不明白为什么告诉 LaTeX 将某些元素保持在同一页上会这么难。我不明白为什么防止分页会这么难。你明白吗?
对我来说,这对于 LaTeX 来说应该是小菜一碟。
使用案例
[更新:评论者表示,以下内容不能很好地说明问题,或者不能很好地说明我认为的问题。不幸的是,尽管多年来我多次遇到上述问题,但目前我手头没有更好的案例。]
我的问题很笼统,因为它经常出现在各种情况下。但是,如果您想听听我的最新用例作为示例:我有一组六个表格,它们加在一起几乎填满了一个漂亮的两列页面。我不在乎表格具体出现在哪个页面上,但如果它们都在同一页面上,这六个表格看起来会好得多。我不想做任何奇怪的技巧。我只希望这六个表格(正常的普通表格)保持在一起。
为什么这么难?
答案1
正如评论中所提到的,如果要将一组 6 张表一起浮动,那么它们应该在一个浮动中。
\documentclass[twocolumn]{article}
\def\a{\addtocounter{enumi}{7}\roman{enumi}: One two three four five six seven }
\def\b{\a\a\par\a\a\a\a\par\a\a\a\a\a\a}
\def\c{\b\b Red yellow green blue \a\a\b}
\def\t{\begin{minipage}{.4\textwidth}\centering
\begin{tabular}{cc}
1&2\\3&4\\55&66\\777&888\\9999&aaaaa\\A&B\\X&Y
\end{tabular}\caption{zzzzzz \a\a}
\end{minipage}}
\begin{document}
\c\c
\begin{table*}
\t\hfill \t
\bigskip
\t\hfill \t
\bigskip
\t\hfill \t
\end{table*}
\c\c
\end{document}
答案2
用例答案:假设六个表格真的可以放在一页两列的页面中,即使它们真的不在源代码中,你也可以将它们放在一起。你只需要 (a) 六个或多或少的相邻table
浮点数和 (b) 使用[p]
选项来拥有一个浮动页面. 例如,第 1 页中有 4+2 个表格,它们一起打印在第 2 页中:
\documentclass[twocolumn]{article}
\usepackage{lipsum}
\def\Warning#1{\vbox to 3\baselineskip {\vfil\bfseries\huge\sffamily\dotfill\fbox{#1}\vfil}}
\def\TABLE{\begin{table}[p]\centering
\begin{tabular}{|llll|}
\hline
11 & 12 & 13 & 14\\
21 & 22 & 23 & 24\\
31 & 32 & 33 & 34\\
41 & 42 & 43 & 44\\
11 & 12 & 13 & 14\\
21 & 22 & 23 & 24\\
31 & 32 & 33 & 34\\
41 & 42 & 43 & 44\\
11 & 12 & 13 & 14\\
21 & 22 & 23 & 24\\
31 & 32 & 33 & 34\\
41 & 42 & 43 & 44\\
\hline
\end{tabular}
\caption{A Table}
\end{table}}
\begin{document}
\lipsum[1-4]
\Warning{Tables are here ...} \TABLE\TABLE\TABLE\TABLE
\lipsum[5]
\Warning{... and here.} \TABLE\TABLE
\lipsum[6-10]
\end{document}