如何将中心环境粘贴到文本上?

如何将中心环境粘贴到文本上?

我经常会遇到这样的情况:希望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}
\]

相关内容