我的文档中已经存在数学字体配置,但它不包含双括号符号。以下这个答案,我从字体中导入了一个fourier
。
然而,从图中可以看出,与正常括号相比,该符号看起来太小了:
实际上我认为[\mkern-4mu[
看起来更好,但不幸的是这不适用于\left
和\right
。
因此,我的问题是,是否可以缩放这些导入的符号?或者更好的是,是否有某种方法可以将此符号定义为看起来像[\mkern-4mu[
(从而与当前数学字体一致)但可以自动缩放(\left
而\right
无需写入\left[\mkern-4mu\left[
)?
下面是 MWE。对我来说,\mkern-4mu
哪一个是最美丽的,如果知道如何定义\llbracket
它,我将不胜感激。
\documentclass{article}
\usepackage[warnings-off={mathtools-colon, mathtools-overbracket}]{unicode-math}
\unimathsetup{math-style = ISO, partial = upright, nabla = upright}
\setmathfont{KpMath-Regular.otf}
\usepackage{mathtools}
\DeclareFontEncoding{FML}{}{}%
\DeclareFontSubstitution{FML}{futm}{m}{it}%
\DeclareFontEncoding{FMS}{}{}
\DeclareFontSubstitution{FMS}{futm}{m}{n}
\DeclareFontEncoding{FMX}{}{}
\DeclareFontSubstitution{FMX}{futm}{m}{n}
\DeclareSymbolFont{symbols}{FMS}{futm}{m}{n}%
\DeclareSymbolFont{largesymbols}{FMX}{futm}{m}{n}%
\DeclareMathDelimiter{\llbracket}{\mathopen}{symbols}{153}{largesymbols}{133}
\DeclareMathDelimiter{\rrbracket}{\mathclose}{symbols}{154}{largesymbols}{134}
\begin{document}
\begin{center}
\( K \llbracket X \rrbracket [X] [\mkern-4mu[ X ]\mkern-4mu] \)
\end{center}
\[
\left\llbracket \frac{X}{Y} \right\rrbracket \left[ \frac{X}{Y} \right] \left[\mkern-4mu\left[ \frac{X}{Y} \right]\mkern-4mu\right]
\]
\end{document}
答案1
首先,您应该使用不同于symbols
和的名称largesymbols
;然后您可以缩放符号字体。
\documentclass{article}
\usepackage[warnings-off={mathtools-colon, mathtools-overbracket}]{unicode-math}
\unimathsetup{math-style = ISO, partial = upright, nabla = upright}
\setmathfont{KpMath-Regular.otf}
\usepackage{mathtools}
\DeclareFontEncoding{FML}{}{}
\DeclareFontSubstitution{FML}{futm}{m}{it}
\DeclareFontEncoding{FMS}{}{}
\DeclareFontSubstitution{FMS}{futm}{m}{n}
\DeclareFontEncoding{FMX}{}{}
\DeclareFontSubstitution{FMX}{futm}{m}{n}
\DeclareFontFamily{FMS}{futm}{\skewchar \font =48}
\DeclareFontShape{FMS}{futm}{m}{n}{<-> s * [1.2] futsy}{}
%\DeclareFontFamily{FMX}{futm}{}
%\DeclareFontShape{FMX}{futm}{m}{n}{<-> s * [0.92] fourier-mex}{}
\DeclareSymbolFont{fouriersymbols}{FMS}{futm}{m}{n}%
\DeclareSymbolFont{fourierlargesymbols}{FMX}{futm}{m}{n}%
\DeclareMathDelimiter{\llbracket}{\mathopen}{fouriersymbols}{153}{fourierlargesymbols}{133}
\DeclareMathDelimiter{\rrbracket}{\mathclose}{fouriersymbols}{154}{fourierlargesymbols}{134}
\begin{document}
\begin{center}
\( K \llbracket X \rrbracket [X] \)
\end{center}
\[
\left\llbracket \frac{X}{Y} \right\rrbracket \left[ \frac{X}{Y} \right]
\]
\end{document}
我报告(注释掉)了大符号字体的设置。
尝试各种缩放因子,但无论如何都无法获得良好的对齐。
另一种策略可能是
\usepackage[only,llbracket,rrbracket]{stmaryrd}
而不是从 导入fourier
。