减少 TikZ 图片周围的空白区域?

减少 TikZ 图片周围的空白区域?

有没有简单的方法可以减少下面粘贴的 MWE 周围的空白量TikZ(特别是在 x 方向)?

\documentclass{article}
\usepackage{xcolor}
\usepackage{tikz}

\begin{document}
VRCRCRCRCC \tikz[baseline] \node[fill=yellow!30, anchor=base,inner sep=0.7pt, outer xsep=-2pt] {ABCDE}; VBZBZBBBBG
\end{document}

在此处输入图片描述

PS:这个问题可能与有没有办法控制 TikZ 图片周围的空白?。尽管如此,我还是发布了它,因为 1) 我的示例要简单得多(因此可能有更简单的解决方案)和 2) 我看不出那里给出的答案对我的情况有什么帮助。如果您不同意,请随时将我的问题标记为“完全相同(!)...”。

答案1

只需删除源中内联 TikZ 图像周围的空白 - 删除空格或在行尾使用百分号:

\documentclass{article}
\usepackage{xcolor}
\usepackage{tikz}
\begin{document}
VRCRCRCRCC%
\tikz[baseline]
  \node[fill=yellow!30, anchor=base, inner sep=0.7pt,
     outer xsep=-2pt] {ABCDE};%
VBZBZBBBBG
\end{document}

TikZ 图像周围的间距

答案2

我认为问题出在inner sep设置上。它在 pgfmanual 中的定义是:

将在形状内部、文本和形状的背景路径之间添加一个额外的(不可见的)尺寸分隔空间。效果就像您在文本的开头和结尾添加了适当的水平和垂直跳跃,使其稍微“变大”一些。

对于熟悉 css 的人来说,这与 padding 相同。

一些测试代码(已注释):它包含一些示例,显示您使用的某些选项的不同值。

\documentclass{article}
%\usepackage{xcolor} % no need: tikz loads xcolor
\usepackage{tikz}

\begin{document}

\begin{minipage}{0.45\textwidth}
\texttt{initial code}\\[1ex]
\texttt{no outer xsep}\\[1ex]
\texttt{no inner sep}\\[1ex]
\texttt{set 0pt to inner sep}\\[1ex]
\texttt{set 0pt only to inner xsep}\\[1ex]
\texttt{removing all spaces (sep)}\\[1ex]
\texttt{removing all spaces (xsep)}
\end{minipage}%
\begin{minipage}{0.55\textwidth}
VRCRCRCRCC \tikz[baseline] \node[fill=yellow!30, anchor=base,inner sep=0.7pt, outer xsep=-2pt] {ABCDE}; VBZBZBBBBG\\[1ex] %original code
VRCRCRCRCC \tikz[baseline] \node[fill=yellow!30, anchor=base,inner sep=0.7pt] {ABCDE}; VBZBZBBBBG\\[1ex] % without outer xsep
VRCRCRCRCC \tikz[baseline] \node[fill=yellow!30, anchor=base,outer xsep=-2pt] {ABCDE}; VBZBZBBBBG\\[1ex] % completely different: initially it's .333em much larger than your 0.7pt
VRCRCRCRCC \tikz[baseline] \node[fill=yellow!30, anchor=base,inner sep=0pt] {ABCDE}; VBZBZBBBBG\\[1ex] % so setting inner sep to 0pt removes completely the white space in both x,y directions
VRCRCRCRCC \tikz[baseline] \node[fill=yellow!30, anchor=base,inner xsep=0pt] {ABCDE}; VBZBZBBBBG\\[1ex] % removed just in x direction
VRCRCRCRCC\tikz[baseline] \node[fill=yellow!30, anchor=base,inner sep=0pt] {ABCDE};VBZBZBBBBG\\[1ex]
VRCRCRCRCC\tikz[baseline] \node[fill=yellow!30, anchor=base,inner xsep=0pt] {ABCDE};VBZBZBBBBG
\end{minipage}

\end{document}

结果:

在此处输入图片描述

相关内容