Создайте новый символ двойной скобки или правильно масштабируйте существующий.

Создайте новый символ двойной скобки или правильно масштабируйте существующий.

В моем документе уже есть конфигурация шрифта 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.

введите описание изображения здесь

Связанный контент