答案1
您可以创建一个node
包含参数的节点。命名节点,然后就可以使用baseline=(A.text)
(假设名称为A
)。然后您可以控制线条的各个方面:粗细、长度、颜色、与文本的间距等。设置inner xsep
为 0,然后设置inner ysep
为您想要的任何值。
\documentclass{article}
\usepackage{tikz}
\newcommand{\rota}[1]{\tikz[baseline=(A.text)]{
\node[inner xsep=0pt, inner ysep=1pt](A){$#1$};
\draw[semithick] (A)--++(0,.2)(A)--++(0,-.2);
}}
\begin{document}
The axis \rota{s} is the axis of rotation.
\end{document}
答案2
您可以使用小竖条,tipa
字体里就有一条。
唯一的问题是保持主角的基线,使用\vbox
带有嵌套的解决了\vtop
这个问题。小条排版在一定高度,因此需要降低并打破其深度。
\documentclass{article}
\NewDocumentCommand{\axis}{m}{%
\mathord{\vbox{%
\offinterlineskip
\ialign{%
\hfil##\hfil\cr
\SMALLVERT\cr
\noalign{\vskip0.5pt}
\vtop{%
\ialign{%
\hfil##\hfil\cr
$\mathsurround=0pt #1$\cr
\noalign{\vskip1pt}
\SMALLVERT\cr
}%
}\cr
}%
}}%
}
\DeclareFontFamily{U}{cmrtipa}{}
\DeclareFontShape{U}{cmrtipa}{m}{n}{<-> tipa10}{}
\newcommand{\SMALLVERT}{%
\usefont{U}{cmrtipa}{m}{n}%
\raisebox{-1ex}[\dimeval{\height-1ex}][0pt]{\symbol{34}}%
}
\begin{document}
$\axis{s}+\axis{r}+\axis{x}+\axis{y}$
\end{document}