我正在尝试使用生成圆圈的宏来制作各种月相的垂直列,但是当我将节点标签添加到圆圈(以指定它是满月)时,它会将包含标签的圆圈稍微向上和向右移动。
\documentclass[leqno,12pt]{article}
\usepackage{tikz}
\usetikzlibrary{calendar,fpu}
\newcommand{\moon}[2][]{%
\def\lunarage{#2}%
\pgfmathsetmacro\textF{ifthenelse(\lunarage==15,"F","")}
\tikz []{
\draw (0,0) circle [radius=1ex];
\node[color=black] (0,0) {\textF};
%
}%
}
\begin{document}\noindent%
\foreach \d in {0,1,...,30}{%
\moon[]{\d} \\ }
\end{document}
谢谢你的帮助!
答案1
您正在绘制一个circle
,并node
在其上方绘制一个 。由于此节点比圆宽,因此此节点moon
比所有其他 都宽moons
。
我认为最好使用一个circular
节点,而不是circle
在其上放置一个未绘制的节点。您必须确保它minimum size
足够大以包含F
(或您想要的任何字母)。这样,所有节点都moons
具有相同的大小。
\documentclass[leqno,12pt]{article}
\usepackage{tikz}
\usetikzlibrary{calendar,fpu}
\newcommand{\moon}[2][]{%
\def\lunarage{#2}%
\pgfmathsetmacro\textF{ifthenelse(\lunarage==15,"F","")}
\tikz []{
\node[draw, circle, color=black, inner sep=0pt, minimum size=5mm] (0,0) {\textF};
%
}%
}
\begin{document}\noindent%
\foreach \d in {0,1,...,30}{%
\moon[]{\d} \\ }
\end{document}