我注意到比\cos
要大一些\sin
,于是我想到用类似于的命令\hphantom{\cos}\neghphantom{\sin}
来在我的某个表达式后添加差值。然而,事实证明没有这样的命令。有人知道其他方法吗?或者也许有自己定义这种负幻影的方法?
*编辑*
附加信息
我试图在表达式末尾添加空格差异,因此在之后\alpha
。类似\sin \alpha ABC+additional spacing
使用 Hendrik 的示例我可以做类似的事情\mathop{\rlap{$\sin\alpha ABC$}}\hphantom{$\cos\alpha ABC$}
但行 ABC 需要出现两次,所以我希望有一个替代方案。
答案1
您可以使用mathtools
,但我不推荐这样做。这会在“sin”的右侧留下一个空隙,但将其置于可用空间的中心会更糟糕。
\documentclass{article}
\usepackage{mathtools}
\let\sin\relax % remove the previous definition of \sin
\DeclareMathOperator{\sin}{%
\mathrlap{\operatorname{sin}}\hphantom{\cos}%
}
\begin{document}
$\sin\alpha$
$\cos\alpha$
$e^{\sin x}$
$e^{\cos x}$
\end{document}
\sin<expression>
另一种解决方案是,在后面添加空格
\documentclass{article}
\usepackage{mathtools}
\newcommand{\csin}[1]{%
\mathop{}\!\mathrlap{\sin#1}\hphantom{\cos#1}%
}
\begin{document}
$3\csin{\alpha}+\cos\beta$
$3\cos\alpha+\cos\beta$
$e^{\csin{x}+i\cos{x}}$
$e^{\cos x+i\cos x}$
\end{document}
因为我们需要知道参数是什么\csin
,所以需要用括号来界定它。
然而,这有局限性,因为很难捕捉参数中最后一个对象的类型\csin
,所以这可能会因括号表达式而中断,需要手动更正,例如
\csin{(x+y)}\mathclose{}
还有另一项建议:\sincorr
在必要时手动添加空格:
\documentclass{article}
\newcommand{\sincorr}{\mathpalette\dosincorr\relax}
\newcommand{\dosincorr}[2]{%
\sbox0{$#1\cos$}\sbox2{$#1\sin$}%
\kern\dimexpr\wd0-\wd2\relax}
\begin{document}
$3\sin\alpha\sincorr+\cos\beta$
$3\cos\alpha+\cos\beta$
$e^{\sin x\sincorr+i\cos x}$
$e^{\cos x+i\cos x}$
\end{document}
输出与之前的解决方案相同。