我正在尝试使用 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 会吞噬其自身环境中的虚假空格。