Ich suche nach einem Trennzeichen mit einer exakten und benutzerdefinierten Größe (Punkt) und nicht der Standardgröße „einer diskreten Größe, die groß genug ist, um den Inhalt aufzunehmen“ \left(
usw.
Ist das möglich? Ich habe versucht, mit den Definitionen von herumzuspielen \big*
.
\newlength{\vbraceheight}
\setlength{\vbraceheight}{50pt}
\def\vbig#1{{\hbox{$\left#1\vbox to\vbraceheight{}\right.\n@space$}}}
\def\vbigl{\mathopen\vbig}
\def\vbigr{\mathclose\vbig}
aber diese haben immer noch Sprünge, da man \vbraceheight
kontinuierlich variiert (und ich bin nicht wirklich sicher, warum).
Antwort1
Ich würde den Inhalt erfassen \vbig
und die Größe vertikal (unter Beibehaltung des Seitenverhältnisses) ändern auf \vbraceheight
:
\documentclass{article}
\usepackage{graphicx}% http://ctan.org/pkg/graphicx
\makeatletter
\newlength{\vbraceheight}
\setlength{\vbraceheight}{50pt}
\def\vbig#1{{\resizebox{!}{\vbraceheight}{$\left#1\vbox to\vbraceheight{}\right.\n@space$}}}
\def\vbigl{\mathopen\vbig}
\def\vbigr{\mathclose\vbig}
\makeatother
\begin{document}
\[
\setbox0=\hbox{$\displaystyle\vbigl\{\frac{1}{2}\vbigr\}$}\usebox0\ \mbox{has height \the\ht0}
\]
\end{document}
Antwort2
[Antwort vom OP geschrieben, aus der Frage verschoben]
Danke für die Kommentare und Antworten. Ich glaube, ich habe verstanden, warum das so schwierig ist. Ich habe eine ähnliche Frage auf comp.text.tex gestellt und von Dan Luecking die folgende „manuelle Konstruktion“ erhalten, die ich für teilenswert hielt (ich habe einige geringfügige Änderungen an den Abständen vorgenommen und den Code nur für die linke Klammer eingefügt):
\DeclareMathSymbol{\bracetr}{\mathord}{largesymbols}{"38}
\DeclareMathSymbol{\bracetl}{\mathord}{largesymbols}{"39}
\DeclareMathSymbol{\bracebr}{\mathord}{largesymbols}{"3A}
\DeclareMathSymbol{\bracebl}{\mathord}{largesymbols}{"3B}
\makeatletter
\def\leftbracefill{%
\setbox\z@\hbox{$\m@th\bracetr$}%
\@tempdima=.5\wd\z@
\advance\@tempdima-.6\p@
\offinterlineskip
\hbox{\kern-\@tempdima$\m@th\bracetr$}
\leaders\hrule \@width 1.18\p@ \vfill
\hbox{\kern-\@tempdima$\m@th\bracebl$}
\kern-.5\p@
\hbox{\kern-\@tempdima$\m@th\bracetl$}
\leaders\hrule \@width 1.18\p@ \vfill
\hbox{\kern-\@tempdima$\m@th\bracebr$}
}
\newcommand\leftbrace[1]{%
\setbox\z@\hbox{$\m@th\bracetl$}%
\@tempdima=.5\wd\z@
\advance\@tempdima-.6\p@
\vcenter{\m@th\everycr{}\tabskip\z@skip
\hbox{\valign{##\crcr\noalign{\kern\@tempdima}
\leftbracefill\crcr
\hbox{$\m@th\displaystyle{#1}$}\crcr
}}%
}%
}
Dies hat den Vorteil, dass es nicht von GraphicX abhängt und man nicht die (zugegebenermaßen kleinen) Diskontinuitäten in der Klammerdicke hat, die sich aus der \scalebox von Werners Lösung ergeben. Das Obige ist jedoch viel weniger flexibel, da es nur eine bestimmte Größe von „Klammerstücken“ verwendet (es funktioniert also nur wirklich, wenn der Inhalt höher als 50 pt ist), es hängt vollständig von den modernen Schriftarten des Computers ab und weist Artefakte in PDF-Viewern auf.