
В моем документе уже есть конфигурация шрифта math, но она не содержит символ для двойных скобок. Следующийэтот ответ, я импортировал его из 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
.