我目前有以下 TikZ 代码:
\documentclass{scrbook}
\usepackage{tikz}
\begin{document}
\tikzset{
tlstartyear/.style={
name=tlstartyear,
above=5pt,
inner xsep=0pt,
anchor=base west,
}
}
\tikz{
\fill [blue] (0,0)
++(3em,0pt)
node [tlstartyear] {Some text}
node {$\bullet$};
}
\end{document}
感谢 Jake 生成了以下内容:
我怎样才能使文本与节点居中?
我尝试过玩align=center
、align=flush center
和,right
但是left
都没有成功……
答案1
将中的更改anchor=base west
为。或者,如果要为其他节点保留中的锚点,请使用。anchor=base
\tikzset
base west
\tikzset
node [tlstartyear,anchor=base] {Some text}
答案2
看来只要你简单地删除这些anchor=base west
东西就可以了:
\tikzset{
tlstartyear/.style={
name=tlstartyear,
above=5pt,
inner xsep=0pt,
%anchor=base west,
}
}
在原始解决方案中,我已将其替换above=5pt
为above
。正如@Gonzalo 指出的那样,这与水平对齐无关。对我来说,如果将 替换为above=5pt
,看起来会更好above
,但这是主观的,因此在上面的代码中将其恢复了。显示的图像是使用above
不带长度的选项。