简短的背景信息:我(很遗憾;-)
)必须使用 Helvetica 字体,因此我加载了该tgheros
包并用 Helvetica 中相应的字形替换了数学符号。对于分隔符,我考虑使用\DeclareMathDelimiter
Helvetica 中的“正常”大小版本和 CM 中的较大变体。这个 MWE
\documentclass{article}
\usepackage[scale]{tgheros}
% \usepackage{amsmath}
\DeclareSymbolFont{sfmathup}{OT1}{qhv}{m}{n}
\DeclareMathDelimiter{(}{\mathopen}{sfmathup}{"28}{largesymbols}{"00}
\begin{document}
\setbox0=\hbox{$\{$} \the\wd0: \box0
\setbox0=\hbox{$\bigl\{$} \the\wd0: \box0
\end{document}
产生以下输出:
(免责声明:实际上我也在使用无衬线字体largesymbols
,但这与这里的问题无关。)但是,如果我取消注释,amsmath
我会得到
真正让我吃惊的是,重新定义插入语在某种程度上影响了支撑。 我做记得缩放分隔符的问题,amsmath
但我找不到任何想法。
顺便说一句,只有当tgheros
加载该scale
选项时才会发生这种情况,但我需要它,因此删除它不是一个选择。
答案1
原因是amsmath
使用(
来构建一个框,并在其周围使用\left
和\right
并生成\big
分隔符。但是,(
您设置的字体中的 太小,不足以使\big
增大尺寸。
\documentclass{article}
\usepackage[scale]{tgheros}
\usepackage{amsmath}
\DeclareSymbolFont{sfmathup}{OT1}{qhv}{m}{n}
\DeclareMathDelimiter{(}{\mathopen}{sfmathup}{"28}{largesymbols}{"00}
\makeatletter
\renewcommand{\big}{\bBigg@{1.1}} % originally it's 1
\makeatother
\begin{document}
$\{\big\{\Big\{\bigg\{\Bigg\{$
$(\big(\Big(\bigg(\Bigg($
\end{document}
请注意\bigl
,\bigr
和\bigm
基于\big
。
答案2
这有效...您可以粘贴您想要的任何其他数学字体。
% !TeX program = lualatex
\documentclass{article}
\usepackage{fontspec,unicode-math}
\usepackage[scale]{tgheros}
% \usepackage{amsmath}
\setmathfont[version=termes]{TeX Gyre Termes Math}
\mathversion{termes}
\begin{document}
\setbox0=\hbox{$\{$} \the\wd0: \box0
\setbox0=\hbox{$\bigl\{$} \the\wd0: \box0
\end{document}