我的 MWE:
\documentclass{scrreprt}
\usepackage{tikz}
\begin{document}
Text \tikz\filldraw [lightgray,radius = 1pt] (0,0) circle[anchor = north]; more Text \tikz\filldraw [black,radius = 1pt] (0,0) circle[anchor = north]; more Text.
\end{document}
产生以下结果
如您所见,圆圈位于文本行的基线上。
如何使文本行内的圆圈垂直居中?垂直居中是指在小写字母的垂直中心画一条虚拟线,不包括高度“非标准”的字母:f、g、h、i、j、k、l、p、q、t、y。
提前感谢您的帮助和努力!
答案1
您可以将 tikzpicture 括进去\vcenter{\hbox{...}}
以避免手动调整。
\documentclass{scrreprt}
\usepackage{tikz}
\begin{document}
Text $\vcenter{\hbox{\tikz\filldraw [lightgray,radius = 1pt] (0,0) circle[anchor = north];}}$ more
Text $\vcenter{\hbox{\tikz\filldraw [black,radius = 1pt] (0,0) circle[anchor = north];}}$ more Text.
\end{document}
答案2
y = 0.5ex
这是使用不同字体进行缩放的一种可能方法:
\documentclass{scrreprt}
\usepackage{tikz}
\begin{document}
\noindent Text \tikz[baseline]\filldraw [lightgray,radius = 1pt] (0,0.5ex) circle;
more Text \tikz[baseline]\filldraw [black,radius = 1pt] (0,0.5ex) circle;
more Text.
\end{document}
您甚至可以创建一个命令来进一步简化文本:
\documentclass{scrreprt}
\usepackage{tikz}
\NewDocumentCommand{\MidDot}{O{black} O{1}}{%
\tikz[baseline]\filldraw [#1, radius=#2pt] (0,0.5ex) circle;%
}
\begin{document}
\noindent Text \tikz[baseline]\filldraw [lightgray,radius = 1pt] (0,0.5ex) circle;
more Text \tikz[baseline]\filldraw [black,radius = 1pt] (0,0.5ex) circle;
more Text.\\
Text \MidDot[lightgray]
more Text \MidDot\
more Text.
\end{document}
生成结果: