Estoy buscando obtener un delimitador en un tamaño (punto) exacto y especificado por el usuario, en lugar del valor predeterminado "un tamaño discreto lo suficientemente grande como para contener el contenido", \left(
etc.
es posible? Intenté jugar con las definiciones de \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}
pero estos todavía tienen saltos ya que uno varía \vbraceheight
continuamente (y no estoy muy seguro de por qué).
Respuesta1
Capturaría el contenido \vbig
y cambiaría el tamaño verticalmente (manteniendo la relación de aspecto) a \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}
Respuesta2
[Respuesta escrita por OP, movida de la pregunta]
Gracias por los comentarios y la respuesta. Creo que ya tengo claro por qué esto es algo difícil de hacer. Publiqué una pregunta similar en comp.text.tex y recibí la siguiente "construcción manual" de Dan Luecking, pensé que valía la pena compartirla (hice algunas modificaciones menores de espaciado e incluyo el código solo para la llave izquierda):
\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
}}%
}%
}
Esto tiene la ventaja de que no depende de Graphicx y no se tienen las discontinuidades (ciertamente pequeñas) en el espesor de la riostra que resultan del \scalebox de la solución de Werner. Sin embargo, lo anterior es mucho menos flexible ya que solo usa un tamaño particular de "pieza de refuerzo" (por lo que solo funciona si el contenido mide más de 50 puntos), depende completamente de las fuentes modernas de la computadora y tiene artefactos en los visores de PDF. .