我经常会遇到这样的情况:希望center
环境与前面的文本粘合在一起,如下所示:
Some text
%
\begin{center}
\begin{tikzpicture}
some commands
\end{tikzpicture}
\end{center}
是否有可能为此提出一个通用的解决方案,例如定义基于新环境center
或全新环境来完成任务?
谢谢您的回答!
答案1
环境\center
使用\trivlist
并发出一个\item
命令,该命令添加\@beginparpenalty
,通常是−51。因此,在之前始终有一个分页点可用center
。
\documentclass{article}
\usepackage[lines=7]{geometry}
\usepackage{lipsum}
\makeatletter
\newenvironment{gluecenter}
{\@beginparpenalty\@M\center}
{\endcenter}
\makeatletter
\begin{document}
\lipsum*[2]
\begin{gluecenter}
This should stay
\end{gluecenter}
\end{document}
中心线center
单独位于一页上(该\lipsum
段落有七行)。
另一种解决方案是滥用displaymath
,因为 atikzpicture
与调用它的模式无关。
Some text
\[
\begin{tikzpicture}
...
\end{tikzpicture}
\]