我想定义一个类似于 的符号\pitchfork
,amssymb
我使用它表示“横向”。我的新符号将代表“切线”,我希望它是一个\cap
上面有一条水平线的符号,与\cap
符号相切。如果可能的话,我希望这个横线与 中的竖线大小相同\pitchfork
。
我尝试使用在 TexExchange 上找到的一些示例来解决这个问题,但由于两个原因,最终都失败了。
- 我不知道如何使水平条与垂直条的高度一样宽
\pitchfork
,也不知道如何正确对齐它\cap
; - 我不知道如何让它正确调整大小。我知道有一种方法可以使用
\mathpalette
或\mathchoice
,但我无法使用它们。
这是我的尝试。
\documentclass{article}
\usepackage{amssymb}
\newcommand{\tangent}{\ooalign{$\cap$\cr\raise.80ex\hbox{$\mkern2mu -$}\cr\raise.80ex\hbox{$\mkern-4mu -$}\cr}}
\newcommand{\Tangent}{\mathrel{\mathpalette{\ooalign{$\cap$\cr\raise.80ex\hbox{$\mkern2mu -$}\cr\raise.80ex\hbox{$\mkern-4mu -$}\cr}}}}
\begin{document}
$\pitchfork \tangent$
\end{document}
答案1
该实现对水平线使用了更正的减号(以便它填充其边界框),水平缩放以匹配草叉的高度并降低以使其与交叉点符号相切。
符号也\cap
缩小了。两个部分没有完美地重叠,但这应该不是问题。
\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{color}
\makeatletter
\newcommand{\tangent}{\mathrel{\vphantom{\cap}\mathpalette\@tangent\relax}}
\newcommand{\@tangent}[2]{%
\vbox{\offinterlineskip
\sbox\z@{$#1\pitchfork$}%
\ialign{##\cr
\raisebox{-0.37\height}[0pt][0pt]{%
\resizebox{\ht\z@}{\height}{$\m@th\mspace{-1.5mu}-\mspace{-1.5mu}$}%
}\cr
\hidewidth\scalebox{1}[0.89]{$\m@th#1\cap$}\hidewidth\cr
}%
}%
}
\makeatother
\begin{document}
{\ooalign{$\pitchfork$\cr\hidewidth\textcolor{red}{$\tangent$}\cr}}
$\pitchfork \tangent$
$\scriptstyle \pitchfork \tangent$
\sbox0{$\pitchfork$}\the\ht0
\sbox0{$\tangent$}\the\wd0
\end{document}
如您所见,草叉的高度和“切线”符号的宽度之间的差异非常小,为 0.00031pt,约为 10 −4毫米