如何防止代码被视为段落的一部分?

如何防止代码被视为段落的一部分?

我正在进行的一个项目要求每个部分都以一个小图表开始。然而,我希望它不被视为文本的一部分。

代码如下:

\documentclass{article}

\usepackage{lipsum}
\usepackage{tikz}

\begin{document}%
\section{Test}

\tikz{\draw[fill=black!30] (0,0) rectangle (10,5);}

\lipsum

\end{document}

最终结果如下:

在此处输入图片描述

现在,如果我删除命令和段落开头之间的空格tikz,缩进就会消失。但是,图表是通过宏插入的,我不希望命令和文本之间的空白处有如此严格/脆弱的限制(首先,这会让代码看起来很丑陋)。我想我可以把它变成浮点数,但我不想让它到处移动、计入目录中、被赋予额外的填充或诸如此类的事情。

答案1

那么像这样创建 tikz 宏怎么样?

\makeatletter
\newcommand{\rect}{%
  \tikz{\draw[fill=black!30] (0,0) rectangle (10,5);}
  \par\@afterindentfalse\@afterheading
}
\makeatother

那么无论你是否

\rect
\lipsum

或者

\rect

\lipsum

答案2

您可以添加\par您可以在行尾\tikz并删除难看的空格;)

...
\tikz{\draw[fill=black!30] (0,0) rectangle (10,5);}\par
\lipsum
...

相关内容