TikZ 节点:如何减少两行文本之间的垂直空间?

TikZ 节点:如何减少两行文本之间的垂直空间?

brace假设我们有一些简单的代码来在样式节点上方显示文本TikZ


最小工作示例(MWE):

\documentclass{standalone}
\usepackage{pgfplots}

\begin{document}
\begin{tikzpicture}
\begin{axis}[xmin=0,xmax=1,ymin=0,ymax=1]

\draw [decorate,decoration={brace,amplitude=5pt,raise=4pt},yshift=0pt]
(20,50) -- (80,50) node [black,midway,align=center,yshift=0.75cm] {\footnotesize Test\\\footnotesize Test};

\end{axis}
\end{tikzpicture}
\end{document}

结果截图:

结果截图


问题说明:

如您所见,这两行文本之间的空白空间非常大,因此看起来不太美观。

如何减少两行文本之间的空白?

答案1

使用字体\footnotesize(或任何其他大小\small,如\large等)的适当用法是

font=\footnotesize

或者

node font=\footnotesize

据我所知,对于您的 MWE,这两个选项的输出没有明显差异。但是,有两个字体命令可能会很有用,因此您可以说\tikzset{every node/.append style={font=\sffamily}}并添加到特定节点,node font=\footnotesize这样该节点的节点字体将同时是无衬线和小字体。

应用于你的 MWE,你可以这样做

\documentclass[tikz,border=3.14mm]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[xmin=0,xmax=1,ymin=0,ymax=1]

\draw [decorate,decoration={brace,amplitude=5pt,raise=4pt},yshift=0pt]
(20,50) -- (80,50) node
[black,midway,align=center,yshift=0.75cm,font=\footnotesize] {Test\\ Test};

\end{axis}
\end{tikzpicture}
\end{document}

在此处输入图片描述

如果要进一步减小距离,请使用例如 这样的节点内容{Test\\[-0.2em] Test}。无论大小如何,此调整始终可用。如果文本的不同行具有不同的字体大小,那么这可能更为重要。

相关内容