summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2013-03-19 22:11:12 +0000
committerKarl Berry <karl@freefriends.org>2013-03-19 22:11:12 +0000
commit0edafd76969b5b7fe4ffdc756947598312974038 (patch)
treec195102f29b6e47fac13fb2021d5f6925efe4ddb
parentcf03be0bec33856ec8d7264260f5be52badb330a (diff)
scalerel (19mar13)
git-svn-id: svn://tug.org/texlive/trunk@29435 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/scalerel/scalerel.pdfbin229407 -> 233706 bytes
-rw-r--r--Master/texmf-dist/doc/latex/scalerel/scalerel.tex64
-rw-r--r--Master/texmf-dist/tex/latex/scalerel/scalerel.sty14
3 files changed, 67 insertions, 11 deletions
diff --git a/Master/texmf-dist/doc/latex/scalerel/scalerel.pdf b/Master/texmf-dist/doc/latex/scalerel/scalerel.pdf
index 444861629c0..64e455e4b8b 100644
--- a/Master/texmf-dist/doc/latex/scalerel/scalerel.pdf
+++ b/Master/texmf-dist/doc/latex/scalerel/scalerel.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/scalerel/scalerel.tex b/Master/texmf-dist/doc/latex/scalerel/scalerel.tex
index cd0f42b5186..45e1673116c 100644
--- a/Master/texmf-dist/doc/latex/scalerel/scalerel.tex
+++ b/Master/texmf-dist/doc/latex/scalerel/scalerel.tex
@@ -1,5 +1,5 @@
\documentclass{article}
-\def\version{1.1}
+\def\version{1.2}
%% Copyright 2013 Steven B. Segletes
%
% This work may be distributed and/or modified under the
@@ -16,6 +16,8 @@
% V1.01 Correct typos in documentation
% V1.1 Corrected usepackage dependencies; Significant doc rewrite.
+% V1.11 Corrected typo in documentation
+% V1.2 Added \scaleleftright and \stretchleftright; revised docs.
\parskip 1em
\parindent 0em
\newcommand\rl{\rule{3em}{0in}}
@@ -53,6 +55,13 @@ of which have star variants:
\scaleto[max_width]{object}{height}
\stretchto[min_aspect]{object}{height}
\end{verbatim}
+In addition, there are two added commands that have been implemented as
+composites of the four basic commands, they are
+\begin{verbatim}
+ \scaleleftright[max_width]{left-obj.}{reference}{right-obj.}
+ \stretchleftright[min_aspect]{left-obj.}{reference}{right-obj.}
+\end{verbatim}
+
In all cases, \verb|object| is the object to be scaled or vertically
stretched. It can be as simple as a symbol, like a summation sign
($\sum$), or it can be an object of complex description. Likewise, in
@@ -97,6 +106,11 @@ object. Because this may not always be desired, the star (*) version of
these commands suppresses the output of the \verb|reference| object, so
that only the \verb|object| that was manipulated is output.
+The \verb|\scaleleftright| and \verb|\stretchleftright| commands are
+intended to provide the functional capability of the \verb|\left| and
+\verb|\right| commands in math mode, for delimiting symbols not
+otherwise supported by those commands.
+
\section{Usage Examples}
Now for a few examples. Let us define
@@ -146,7 +160,9 @@ same delimiters as
$\scalerel[3ex]{\triangleleft}{Q}\scalerel*[3ex]{\triangleright}{Q}$
Because the width limit had not been reached, no horizontal compression
-of the object was required.
+of the object was required. Note: see the \verb|\scaleleftright| and
+\verb|\stretchleftright| commands for a more direct way to employ these
+sort of transformations.
\subsection{The $\backslash$\texttt{stretchrel} Command}
@@ -225,11 +241,32 @@ the aspect ratio to no less than 1.75.
\rl\verb|$\stretchto[175]{\Phi}{60pt}$ | $\stretchto[175]{\Phi}{80pt}$
+\subsection{The $\backslash$\texttt{scaleleftright} and
+ $\backslash$\texttt{stretchleftright}\\Commands}
+
+These commands are composites of several \verb|\scalerel| and
+\verb|\stretchrel| commands, intended to provide the functionality of
+the \verb|\left ...\right| syntax of mathmode, for symbols for which
+the \verb|\left ...\right| syntax does not work. It uses the same
+optional arguments as \verb|\scalerel| and \verb|\stretchrel| in order
+to limit the width or aspect ratio of the respective manipulated
+objects. If one of the symbols on the left or right end of the enclosed
+reference block is to be blank, these commands support the use of the
+period argument \verb|{.}| as a blank placeholder, in a fashion
+analogous to the \verb|\left ...\right| syntax of mathmode.
+
+\rl\verb|$\scaleleftright[3ex]{\prod}{\blob}{\coprod}$ |
+$\scaleleftright[3ex]{\prod}{\blob}{\coprod}$
+
+\rl\verb|$\stretchleftright[450]{.}{\blob}{\in}$ |
+$\stretchleftright[450]{.}{\blob}{\in}$
+
\section{Real World Application}
\subsection{White Curly Brackets}
-Ref: http://tex.stackexchange.com/questions/100966/defining-scalable-white-curly-brackets-and-and
+Ref: http://tex.stackexchange.com/questions/100966/defining-
+scalable-white- curly-brackets-and-and
\newcommand*{\llbrace}{%
\BeginAccSupp{method=hex,unicode,ActualText=2983}%
@@ -248,14 +285,15 @@ Ref: http://tex.stackexchange.com/questions/100966/defining-scalable-white-curly
A user defined two new symbols made by combining the font glyphs of a
brace and a vertical strut, calling them \verb|\llbrace| and
-\verb|\rrbrace|, to look as follows:
+\verb|\rrbrace|, to look as follows around an argument (in this case
+$x$):
\def\wbrace{\scalebox{5}{$\llbrace x\rrbrace$}}
\indent\wbrace
But they found that when represented in reduced size fonts, the symbol
-glyphs of the brace and the strut separated (note: \verb|\tiny| font
-scaled up to match prior figure's height):
+glyphs of the brace and the strut separated (note: \verb|\tiny| font has
+been scaled up to match prior figure's height):
\def\tinywbrace{\scalebox{3}{\tiny$\llbrace x\rrbrace$}}
\indent$\scalerel*{\tinywbrace}{\wbrace}$
@@ -269,7 +307,7 @@ representation to change in unacceptable ways.
The \textsf{scalerel} solution was to use the image from the normal-size
representation and to shrink it down as needed. So, in this case, a
normal-sized copy of the braces were stored in boxes called
-\verb|\lxbrace| and \verb|\rXbrace|, resepctively. Then the following
+\verb|\lXbrace| and \verb|\rXbrace|, resepctively. Then the following
terms were defined:
\begin{verbatim}
\def\lxbrace{\scalerel*{\usebox{\lXbrace}}{\llbrace}}
@@ -332,8 +370,10 @@ With these definitions,
\stretchto{%
\scaleto{%
\scalerel*[\widthof{#1}]{\bigwedge}%
- {\rule[-\textheight/2]{1ex}{\textheight}}% WIDTH-LIMITED BIG WEDGE
- }{1.25\textheight}% THIS STRETCHES THE WEDGE A LITTLE EXTRA WIDE
+ {\rule[-\textheight/2]{1ex}{\textheight}}% WIDTH-LIMITED
+% BIG WEDGE
+ }{1.25\textheight}% THIS STRETCHES THE WEDGE A LITTLE EXTRA
+% WIDE
}{0.9ex}\\% THIS SQUEEZES THE WEDGE TO 0.9ex HEIGHT
#1\\% THIS STACKS THE WEDGE ATOP THE ARGUMENT
\rule{0ex}{.01ex}%
@@ -346,8 +386,10 @@ With these definitions,
\stretchto{%
\scaleto{%
\scalerel*[\widthof{#1}]{\frown}%
- {\rule[-\textheight/2]{1ex}{\textheight}}% WIDTH-LIMITED BIG WEDGE
- }{1.25\textheight}% THIS STRETCHES THE WEDGE A LITTLE EXTRA WIDE
+ {\rule[-\textheight/2]{1ex}{\textheight}}% WIDTH-LIMITED
+% BIG WEDGE
+ }{1.25\textheight}% THIS STRETCHES THE WEDGE A LITTLE EXTRA
+% WIDE
}{0.6ex}\\% THIS SQUEEZES THE WEDGE TO 0.6ex HEIGHT
#1\\% THIS STACKS THE WEDGE ATOP THE ARGUMENT
\rule{0ex}{.01ex}%
diff --git a/Master/texmf-dist/tex/latex/scalerel/scalerel.sty b/Master/texmf-dist/tex/latex/scalerel/scalerel.sty
index d7cb4baa52c..998095a2a45 100644
--- a/Master/texmf-dist/tex/latex/scalerel/scalerel.sty
+++ b/Master/texmf-dist/tex/latex/scalerel/scalerel.sty
@@ -18,6 +18,7 @@
% V1.01 Correct typos in documentation
% V1.1 Corrected usepackage dependencies; Significant doc rewrite.
+% V1.2 Added \scaleleftright and \stretchleftright; revised docs.
\usepackage{calc}
\usepackage{graphicx}
\global\newlength\thesrwidth
@@ -90,4 +91,17 @@
{\resizebox{\thesrwidth}{\thesrheight}{\usebox{\prebox}}}%
}
+\def\bl@nk{\rule{-.01ex}{1ex}}
+
+\newcommand\scaleleftright[4][99in]{%
+ \if.#2\def\leftarg{\bl@nk}\else\def\leftarg{#2}\fi%
+ \if.#4\def\rightarg{\bl@nk}\else\def\rightarg{#4}\fi%
+ \scalerel[#1]{\leftarg}{#3}\scalerel*[#1]{\rightarg}{#3}%
+}
+\newcommand\stretchleftright[4][10000]{%
+ \if.#2\def\leftarg{\bl@nk}\else\def\leftarg{#2}\fi%
+ \if.#4\def\rightarg{\bl@nk}\else\def\rightarg{#4}\fi%
+ \stretchrel[#1]{\leftarg}{#3}\stretchrel*[#1]{\rightarg}{#3}%
+}
+
\endinput