UTF-8
抑扬符号看起来太小,而且它们与XeLaTeX 从源代码生成的 PDF 中的符号太接近了体位数学数学字体:
来源:
\documentclass[12pt]{article}
\usepackage[T1]{fontenc}
\usepackage{fontspec}
\usepackage[math-style=ISO,bold-style=ISO,nabla=upright,partial=upright,vargreek-shape=unicode]{unicode-math}
\setmathfont{[Asana-Math]}
\newcommand*{\op}[1]{\hat{\mathup{#1}}}
\begin{document}
\begin{equation}
\op{H} = \op{T} + \op{V}
\end{equation}
\end{document}
我想让脱字符变宽,以便与下面的符号更清晰地区分开,但这\widehat
不是一个选择,因为它会产生可变大小的脱字符。解决方案我如何手动选择宽重音的大小?(数学模式)对我来说不起作用。似乎accents
包装和UTF-8
编码。
我非常喜欢 Asana Math,所以我不想更改字体。
答案1
也许值得尝试通过xparse
包引入两个命令:
\DeclareDocumentCommand{\operator}{ s m }{
\IfBooleanTF{#1}{
\widehat{#2}
}{
\hat{#2}}
}
}
然后\operator{H}
给出“正常”输出并\operator*{H}
拉长抑扬符。
或许你还想看看以下帖子:非常宽的帽子符号包的使用位置scalerel
。您可能会想到定义一个包含两个输入的命令,第一个输入给出帽子的宽度,第二个输入给出角色
编辑:
我认为在看完之后我现在有一个解决方案source2e.pdf
和encguide.pdf
。
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{fontspec}
\usepackage[math-style=ISO,bold-style=ISO,nabla=upright,partial=upright,vargreek-shape=unicode]{unicode-math}
\setmathfont{[Asana-Math]}
\DeclareSymbolFont{mylargesymbols}{OMX}{cmex}{m}{n}
\DeclareMathAccent{\mywidehat}{\mathord}{mylargesymbols}{"62}
\begin{document}
$\hat{\mathrm{H}} = \hat{\mathrm{T}} + \hat{\mathrm{V}} +\hat{abcdefgh}$
$ \widehat{\mathrm{H}} = \widehat{\mathrm{T}} + \widehat{\mathrm{V}} +\widehat{abcdefgh}$
$ \mywidehat{\mathrm{H}} = \mywidehat{\mathrm{T}} + \mywidehat{\mathrm{V}} +\mywidehat{abcdefgh}$
\end{document}
将产生以下结果
帽子仍然会扩大,但不会像以前那么明显。
答案2
[注意:编辑 1 以获得更好的垂直定位;编辑 2 以获得“帽子”而不是“楔形”] 我无法访问您的特定字体,因此我针对默认 LaTeX 字体解决了该问题。您必须重新参数化我的解决方案。它涉及使用scalerel
用于拉伸\hat
符号的包 ( \char'136
)。我展示了未修改的结果,然后展示了一组拉伸参数的结果。校准字体的三个参数后,将这些值锁定到定义中。 \Ht
定义垂直拉伸;\Wd
定义水平拉伸;并\Dp
定义字母和帽子之间的垂直分离乘数。
\documentclass{article}
\usepackage{amsmath}
\usepackage{scalerel}
\usepackage{adjustbox}
\newlength\svarraycolsep
\newcommand\althat[1]{%
\renewcommand\arraystretch{\Dp}%
\setlength\svarraycolsep{\arraycolsep}%
\setlength\arraycolsep{0in}%
\begin{array}{c}%
\vstretch{\Ht}{%
\hstretch{\Wd}{%
\trimbox{.15ex .75ex .15ex .2ex}{\scalerel*{\char'136}{\rule{1ex}{1ex}}}%
}%
}\\%
#1\\%
\rule{1ex}{0ex}\\%
\end{array}%
\renewcommand\arraystretch{1.0}%
\setlength\arraycolsep{\svarraycolsep}%
}
\parindent 0in
\begin{document}
Hat:
\( \hat{\mathrm{H}} = \hat{\mathrm{T}} + \hat{\mathrm{V}} \)
Carat(char'136):
\def\Ht{1.8}
\def\Wd{4.5}
\def\Dp{.3}
\( \althat {\mathrm{H}} = \althat {\mathrm{T}} + \althat {\mathrm{V}} \)
\end{document}