LaTeXにアンダーブレースの高さを無視させるにはどうすればよいですか?



How Can I Make Latex Ignore Height Underbrace



解決:

を使用したソリューション対角ブレースのTikZ:

 documentclass {article}  usepackage {amsmath、array}  usepackage {tikz}  usetikzlibrary {decorations.pathreplacing}  setlength  arraycolsep {4pt}%デフォルト値:6pt  newcommand  tikzmark [1] {% tikz [overlay、画像、ベースラインを覚えておいてください]  coordinate [anchor = base](#1);}  newcommand  DrawBrace [3] {% draw [decorate、decoration = {brace、amplitude = 2pt、mirror、raise = 2pt}](# 1)-(#2)ノード[黒、途中、傾斜、yshift = -10pt] { footnotesize $#3 $}; }  begin {document}  begin {equation *}  left( begin {array} {* {9} {c}}  tikzmark {a}  phantom {-} 1 \& ddots&\ &&  tikzmark {b}  phantom {-} 1 \ &&&  tikzmark {c} -1 \ &&&&  ddots&\ &&&&&  tikzmark {d} -1 \ && &&&&  tikzmark {e}  phantom {-} 0 \ &&&&&&&  ddots&\ &&&&&&&&  tikzmark {f}  phantom {-} 0 \  end {array}  right) end {equation *}  begin {tikzpicture} [remember picture、overlay]  DrawBrace {a} {b} {r _ {+}(s)-mal}  DrawBrace {c} { d} {r _ {-}(s)-mal}  DrawBrace {e} {f} {r_ {0}(s)-mal}  end {tikzpicture}  end {document}

ここに画像の説明を入力してください




本当にエレガントなソリューションではありません。基本的に、必要なのは、によって生成される追加の垂直スペースを設定することです。アンダーブレースをゼロにします。このための簡単なツールの1つは raiseboxは最初と2番目に オプション 引数を使用すると、結果のボックスに明示的な高さと深さを指定できます。

2つの合併症:



  1. NS 内側 配列は垂直方向の中央に配置されるため、 underbrace構造は曖昧です。
  2. 線の1つが深さゼロの場合、外側の配列に追加の垂直スペースが挿入されるため、ボックス化された構成全体を再度下げる必要があります。

これはこの「解決策」につながります:

 begin {equation *}  left(、 begin {array} {[email protected] {} [email protected] {} rrr}%@ {}は、列間の空白を抑制するために2回使用されます overbrace { boxed { begin {array} {rrr}%最初のブロック(1)1 && \& ddots&\ && 1 \  end {array}}} ^ {r _ +(s)-mal} \& raisebox {-.5  height} [。5  height] [。5  height] {%$  underbrace { raisebox { depth} {%$  boxed { begin {array} {rrr}%2番目のブロック(- 1)-1 && \& ddots&\ && -1 \  end {array}} $%}%} _ {r _ {-}(s)-mal} $%}%\& & underbrace { boxed { begin {array} {rrr}%3番目のブロック0 && \& ddots&\ && 0 \  end {array}}} _ {r_0(s)-mal} \  end {array} 、 right) end {equation *}

例


あるに違いないtikzmarkの方法。でも今は時間がありません。一方、醜いハックは、を使用して手動でスペースを縮小することです\ [長さ]のように



 documentclass {article}  usepackage [pdftex、active、tightpage] {preview}  setlength  PreviewBorder {2mm}  usepackage {amsmath、array}  renewcommand  arraycolsep {4pt}%デフォルト値:6pt  begin {document}  begin {preview}  begin {equation *}  left(、 begin {array} {[email protected] {} [email protected] {} rrr}%@ {}は、列間の空白を抑制するために2回使用されます overbrace { boxed { begin {array} {rrr}%最初のブロック(1)1 && \& ddots&\ && 1 \  end {array}}} ^ {r _ +(s)-mal} \ & underbrace { boxed { begin {array} {rrr}%2番目のブロック(-1)-1 && \& ddots&\ && -1 \  end {array}}} _ {r_ {-}(s)-mal} \ [-17pt] %%%<--Here & & underbrace{ oxed{ egin{array}{rrr} % Third block 0 & & \ & ddots & \ & & 0\ end{array} } }_{r_0(s)-mal} \ end{array},
ight) end{equation*} end{preview} end{document}  

ここに画像の説明を入力してください

の適切な値を見積もるのに、目を見張るようなことはほとんど必要ありません。\ [-17pt]、しかし。