TikZ 图片之间没有垂直间距

TikZ 图片之间没有垂直间距

我希望两个 TikZ 图片之间绝对没有垂直空间。我可以使用例如,\\[-1pt]但我不知道 1pt 是否真的是精确的值...(所以我从代码中删除了它)!

这个垂直空间从何而来?我希望这两个盒子有联系!

\documentclass{article}
\usepackage{tikz}

\setlength{\parindent}{0pt}
\setlength\textwidth{5cm} 

\begin{document}

\begin{tikzpicture}[every node/.style={inner sep=2,outer sep=0}]
    \node[draw,text width=\textwidth] {A};
\end{tikzpicture} %\\[-1pt]
\begin{tikzpicture}[every node/.style={inner sep=2,outer sep=0}]
    \node[draw,text width=\textwidth] {B};
\end{tikzpicture}

\end{document}

两张 TikZ 图片

答案1

尽管使用\offinterlineskip,如希瑟建议,在某种意义上会起作用,关闭整个文档的行间跳过可能不是您想要的:

任何地方都无跨行

相反,您可能只想针对这种特殊情况将其关闭。在这种情况下,您要么需要限制范围\offinterlineskip并确保垂直间距正确,要么使用更像胡桃夹子而不是大锤的东西。

在这种情况下,\nointerlineskip效果很好,只要你注意到两张图片之间的段落间隔是必需的。如果没有它,您将收到编译错误。还有其他方法可以避免这种情况,但段落分隔在这里不会造成任何损害,而且似乎是一个简单的解决方案。

\documentclass{article}
\usepackage{tikz}
\usepackage{kantlipsum}
\setlength{\parindent}{0pt}
\setlength\textwidth{5cm}
\begin{document}
\kant[1]

\begin{tikzpicture}[every node/.style={inner sep=2,outer sep=0}]
  \node[draw,text width=\textwidth] {A};
\end{tikzpicture}

\nointerlineskip
\begin{tikzpicture}[every node/.style={inner sep=2,outer sep=0}]
  \node[draw,text width=\textwidth] {B};
\end{tikzpicture}

\kant[2]
\end{document}

关闭此情况下的行间跳过

答案2

感谢 Christian Hupfer 的评论。

你需要代码

\documentclass{article}
\usepackage{tikz}

\setlength{\parindent}{0pt}
\setlength\textwidth{5cm} 
\offinterlineskip

\begin{document}
\centerline{
\begin{tikzpicture}[every node/.style={inner sep=2,outer sep=0}]
    \node[draw,text width=\textwidth] {A};
\end{tikzpicture}}

\begin{tikzpicture}[every node/.style={inner sep=2,outer sep=0}]
    \node[draw,text width=\textwidth] {B};
\end{tikzpicture}

\end{document}

具体来说,该行\offinterlineskip。这给出

在此处输入图片描述

希望这可以帮助!

再次感谢 Christian Hupfer。

相关内容