Ako môžem prinútiť LaTeX ignorovať výšku podprsenky?
How Can I Make Latex Ignore Height Underbrace
Riešenie:
Riešenie pomocouTikZ pre diagonálne vzpery:
documentclass {article} usepackage {amsmath, array} usepackage {tikz} usetikzlibrary {decoration.pathreplacing} setlength arraycolsep {4pt} % default value: 6pt newcommand tikzmark [1] { % tikz [overlay, zapamätajte si obrázok, základnú čiaru] súradnice [kotva = základňa] (#1);} newcommand DrawBrace [3] {% draw [ozdobiť, dekorácia = {rovnátka, amplitúda = 2pt, zrkadlo, zdvihnúť = 2pt}] (# 1)-(#2) uzol [čierny, uprostred, šikmý, yshift = -10pt] { poznámka pod čiarou $#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} 
Nie je to skutočne elegantné riešenie. V zásade stačí nastaviť dodatočný zvislý priestor vytvorený systémom podprsenka na nulu. Jeden ľahký nástroj na to je raisebox, ktorý je v prvom a druhom voliteľné argument umožňuje zadať explicitnú výšku a hĺbku pre výsledné pole.
Dve komplikácie:
- The vnútorné pole vychádza vertikálne na stred, takže výška a hĺbka poľa
konštrukcia podprsenky je zakalená.
- Ak má jeden z riadkov hĺbku nula, do vonkajšieho poľa sa vloží ďalší zvislý priestor, takže celý boxový konštrukčný prvok je potrebné znova spustiť.
Výsledkom je toto „riešenie“:
begin {rovnica*} vľavo (, begin {array} {[email protected] {} [email protected] {} rrr} % @{} sa používa dvakrát na potlačenie medzisloupcového medzier overbrace { boxu { begin {array} {rrr} % Prvý blok (1) 1 & & \ & ddots & \ & & 1 \ end {array}}}^{r _+(s) -mal} \ & raisebox {-.5 height} [. 5 height] [. 5 height] {% $ underbrace { raisebox { depth} {% $ boxed { begin {array} {rrr}% Second block (- 1) -1 & & \ & ddots & \ & & -1 \ end {array}} $%}%} _ {r _ { -} (s) -mal} $%}% \ & & underbrace { boxed { begin {array} {rrr} % Third block 0 & & \ & ddots & \ & & 0 \ end {array}}} _ {r_0 (s) -mal} \ end {array} , right) end {rovnica*} 
Musí existovať atikzmark spôsobom. Ale teraz nemám čas. Medzitým bude škaredým hackom manuálne zmenšenie priestoru pomocou\ [dĺžka] ako v
documentclass {article} usepackage [pdftex, active, tightpage] {preview} setlength PreviewBorder {2mm} usepackage {amsmath, array} renewcommand arraycolsep {4pt} % default value: 6pt begin {document} begin {preview} begin {equation*} left (, begin {array} {[email protected] {} [email protected] {} rrr} % @{} sa používa dvakrát na potlačenie medzisloupcového medzier overbrace { box { begin {array} {rrr} % Prvý blok (1) 1 & & \ & ddots & \ & & 1 \ end {array}}}^{r _+(s) -mal} \ & underbrace { boxed { begin {array} {rrr} % Second block (-1) -1 & & \ & ddots & \ & & -1 \ end {array}}} _ {r_ {-} (s) -mal} \ [-17 bodov] %%%<--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} 
Na odhadnutie vhodnej hodnoty pre by bolo potrebné malé očarovanie\ [-17 bodov].