Как сделать нижний кронштейн тоньше

Aug 18 2020

Рассмотрим этот код,

\documentclass{article}
\usepackage{mathtools}
\begin{document}
\[
C(s)=\underbracket{\frac{K_1}{s}}_{\text{forced}}+\underbracket{\frac{K_2}{s+2}+\frac{K_3}{s+4}+\frac{K_4}{s+5}}_{\text{natural}}
\]
\end{document}

и результат ниже

Я считаю, что нижний кронштейн слишком толстый. Как сделать тоньше?

Ответы

13 Mico Aug 18 2020 at 11:45

Выдержка из п. 14 руководства пользователя mathtoolsпакета (выделение добавлено):

В руководстве пользователя указано, что ширина нижних скобок по умолчанию - ca 5/18ex= ca. 0.28ex. На следующем снимке экрана показаны выражения с нижними скобками, которые включают ширину по умолчанию, а также половину, две трети и три четверти ширины по умолчанию. Выбери свой фаворит.

\documentclass{article}
\usepackage{mathtools} % for '\underbracket' macro
\begin{document}
\[
% default width: 5/18ex = ca 0.28ex
 \underbracket{1+2+3}_{\text{default}} % default width
+\underbracket[0.140ex]{1+2+3}_{\text{tubelike}}% (1/2)default
+\underbracket[0.187ex]{1+2+3}_{\text{skinny}}  % (2/3)default
+\underbracket[0.210ex]{1+2+3}_{\text{thin}}    % (3/4)default
+\underbracket[0.280ex]{1+2+3}_{\text{default}} %      default
\]
\end{document}
8 muzimuzhiZ Aug 18 2020 at 11:51

Толщина скобок может быть указана в первом необязательном аргументе \underbracketи \overbracket. Толщина по умолчанию - это высота $\braceld$(текущим математическим шрифтом).

\documentclass{article}
\usepackage{mathtools}
\begin{document}
\[
  C(s) = 
  % use thickness 0.5pt
  \underbracket[.5pt]{\frac{K_1}{s}}_{\text{forced}} + 
  % use default thickness
  \underbracket{\frac{K_2}{s+2}+\frac{K_3}{s+4}+\frac{K_4}{s+5}}_{\text{natural}}
\]
\end{document}

Также можно раз и навсегда изменить толщину скоб:

\documentclass{article}
\usepackage{mathtools}
\usepackage{xpatch}

% change default thickness of brackets to .6pt
\MHInternalSyntaxOn
\xpatchcmd\upbracketfill
  {\sbox\z@{$\braceld$}\edef\l_MT_bracketheight_fdim{\the\ht\z@}}
  {\edef\l_MT_bracketheight_fdim{.6pt}}
  {}{\fail}

\xpatchcmd\downbracketfill
  {\sbox\z@{$\braceld$}\edef\l_MT_bracketheight_fdim{\the\ht\z@}}
  {\edef\l_MT_bracketheight_fdim{.6pt}}
  {}{\fail}
\MHInternalSyntaxOff

\begin{document}
\[
  C(s) = 
  \underbracket{\frac{K_1}{s}}_{\text{forced}} + 
  % use default thickness
  \overbracket{\frac{K_2}{s+2}+\frac{K_3}{s+4}+\frac{K_4}{s+5}}^{\text{natural}}
\]
\end{document}