我正在为我的乳胶文档创建一些使用 tikz 重复的自定义图标。
但是,为了将它们与文本对齐,我需要知道下降量,以便将基线设置在正确的位置。我还希望根据字体大小计算下降量。
以下是一个例子。
\documentclass{article}
\usepackage{tikz}
\newcommand{\increasing}{%
\begin{tikzpicture}[baseline=0]
\draw[->] (0,0) -- (1ex,1em);
\end{tikzpicture}
}
\begin{document}
f \increasing
\end{document}
我想要箭头更低一些,所以我需要在 tikzpicture 中设置 baseline=descent。我该怎么做?有其他高度的文档吗?
答案1
像这样吗?我使用活动字体大小,将基线设置为g
下降部的深度,将箭头的顶部设置为的高度。X
\documentclass{article}
\usepackage{tikz}
\newcommand{\increasing}{%
\setbox0=\hbox{Xg}%
\begin{tikzpicture}[baseline=\dp0]
\draw[->] (0,0) -- (1ex,\dimexpr\ht0+\dp0\relax);
\end{tikzpicture}
}
\begin{document}
\Large fg\increasing
\normalsize fg\increasing
\tiny fg\increasing
\end{document}
答案2
您可以测量最大下降高度:
\documentclass{article}
\usepackage{tikz}
\newcommand{\showbaseline}{%
\settodepth{\alphabetdepth}{fgjpqy}
\makebox[0pt][l]{\vrule width 5cm height -\alphabetdepth depth \dimexpr\alphabetdepth+0.1pt\relax}%
\ignorespaces
}
\newlength{\alphabetdepth}
\newcommand{\increasing}{%
\settodepth{\alphabetdepth}{fgjpqy}%
\begin{tikzpicture}[baseline=\alphabetdepth]
\draw[->] (0,0) -- (1ex,1em);
\end{tikzpicture}%
}
\begin{document}
\showbaseline
f \increasing\quad {g \increasing} {\itshape f \increasing}
\bigskip
{\LARGE\showbaseline f \increasing\quad g \increasing}
\bigskip
{\tiny \showbaseline\itshape f \increasing}
\end{document}
该\showbaseline
命令只是为了明确最大深度位于哪里。