删除运行文本中 tikz 图片周围的空白

删除运行文本中 tikz 图片周围的空白

我正在尝试使用 tikz 在文本括号中绘制一颗星,但我不知道如何删除左右两侧的大片空白。代码如下:

\documentclass{article}
\usepackage{tikz}

\usetikzlibrary{shapes.geometric}

\newcommand{\yellowstar}{
\tikzstyle{scorestars}=[star, star points=5, star point ratio=2.5, draw,inner sep=1.3pt,anchor=outer point 3]
  \begin{tikzpicture}[baseline]
    \draw (0,0) node[name=star,scorestars,fill=yellow]  {};
  \end{tikzpicture}
}

\begin{document}
Hello (\yellowstar).
\end{document}

代码基于此:使用 Tikz 绘制星星/类似图案

在“(”后添加 % 符号并将 \yellowstar 放在下一行的建议不起作用:减少 TikZ 图片周围的空白区域?

答案1

您有行尾空格。要删除它们,%请像我一样在行尾添加一些标记。

\documentclass{article}
\usepackage{tikz}

\usetikzlibrary{shapes.geometric}

\newcommand{\yellowstar}{%
\tikzstyle{scorestars}=[star, star points=5, star point ratio=2.5, draw,inner sep=1.3pt,anchor=outer point 3]%
  \begin{tikzpicture}[baseline]
    \draw (0,0) node[name=star,scorestars,fill=yellow]  {};
  \end{tikzpicture}%
}

\begin{document}
Hello (\yellowstar).
\end{document}

或者,你可以简单地使用首选的语法句柄将样式命令推送到 TikZ 图片内/.。请参阅应该使用 \tikzset 还是 \tikzstyle 来定义 TikZ 样式?了解更多详细信息。然后宏定义变为

\newcommand{\yellowstar}{\begin{tikzpicture}[baseline,
          scorestars/.style={star, star points=5, star point ratio=2.5,
                             draw,inner sep=1.3pt,anchor=outer point 3}
 ]
    \draw (0,0) node[name=star,scorestars,fill=yellow]  {};
  \end{tikzpicture}%
}

那么 TeX 就看不到任何空格,因为 TikZ 会吞噬其自身环境中的虚假空格。

相关内容