寻找一种将垂直线放在另一个字符上的方法。类似于 \cancel 功能,但使用垂直线而不是斜线。例如,在大写字母 S 上,垂直线会将其变成类似于美元符号的东西:$。(此文本框中的垂直性似乎取决于字体选择)即在 C 上叠加一个 |
答案1
以下解决方案使用 TikZ(更多配置选项,如圆角线帽等)。可选参数\vertchar
允许水平微调:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\newcommand*{\vertchar}[2][0pt]{%
\tikz[
inner sep=0pt,
shorten >=-.15ex,
shorten <=-.15ex,
line cap=round,
baseline=(c.base),
]\draw
(0,0) node (c) {#2}
($(c.south)+(#1,0)$) -- ($(c.north)+(#1,0)$);%
}
\begin{document}
\vertchar{S} and \vertchar{C} or \vertchar[.08ex]{C}
\end{document}
答案2
\stackinset
允许你使用语法来做到这一点
\stackinset{H-anchor}{H-offset}{V-anchor}{V-offset}{inset}{base}
插入和基部可以是字形、短语、图像,任何可以放入 LaTeX 框中的东西。H 锚点是 l、c 或 r。V 锚点是 t、c 或 b。您可以通过发出 来默认堆叠数学\stackMath
,这是针对 MWE 的第二个示例完成的,其中我@
通过a
在数学中插入数学来模拟符号O
。
\documentclass{article}
\usepackage{stackengine}
\begin{document}
\stackinset{c}{}{c}{}{\rule{.4pt}{2ex}}{C}
\stackMath
\stackinset{c}{}{b}{1pt}{a}{O}
\end{document}
插图可以嵌套,以在一个基础上插入多个内容,例如在此答案中:图表上的数学公式(不是由 TeX 制作的)