% \iffalse meta-comment % % Copyright (C) 2021 by Miguel R. Clemente % --------------------------------------------------------------------------- % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.3 % of this license or (at your option) any later version. % The latest version of this license is in % http://www.latex-project.org/lppl.txt % and version 1.3 or later is part of all distributions of LaTeX % version 2005/12/01 or later. % % This work has the LPPL maintenance status `maintained'. % % The Current Maintainer of this work is Miguel R. Clemente. % % This work consists of the files dynbrackets.dtx and dynbrackets.ins % and the derived filebase dynbrackets.sty. % % \fi % % \iffalse %<*driver> \ProvidesFile{dynbrackets.dtx} % %\NeedsTeXFormat{LaTeX2e}[2005/12/01] %\ProvidesPackage{dynbrackets} %<*package> [2021/04/01 v1.0.0 Simplifies the syntax of calling dynamic math brackets] % % %<*driver> \documentclass{ltxdoc} \usepackage{dynbrackets}[2021/04/01] \usepackage{amsmath} \usepackage{indentfirst} \usepackage{booktabs} \usepackage{caption} \EnableCrossrefs \CodelineIndex \RecordChanges \begin{document} \DocInput{dynbrackets.dtx} \PrintChanges \end{document} % % \fi % % \CheckSum{122} % % \CharacterTable % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z % Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z % Digits \0\1\2\3\4\5\6\7\8\9 % Exclamation \! Double quote \" Hash (number) \# % Dollar \$ Percent \% Ampersand \& % Acute accent \' Left paren \( Right paren \) % Asterisk \* Plus \+ Comma \, % Minus \- Point \. Solidus \/ % Colon \: Semicolon \; Less than \< % Equals \= Greater than \> Question mark \? % Commercial at \@ Left bracket \[ Backslash \\ % Right bracket \] Circumflex \^ Underscore \_ % Grave accent \` Left brace \{ Vertical bar \| % Right brace \} Tilde \~} % % % \changes{v1.0.0}{2021/04/01}{Public release} % % \DoNotIndex{\newcommand,\newenvironment} % % \providecommand*{\url}{\texttt} % \GetFileInfo{dynbrackets.dtx} % \title{The \textsf{dynbrackets} package} % \author{Miguel R. Clemente \\ \url{miguel.clemente@dem.uc.pt}} % \date{\fileversion~from \filedate} % % \maketitle % % \section{Introduction} % % This package simplifies the syntax of calling dynamic math brackets. % Dynamic math brackets builds on \verb!\left! and \verb!\right! syntax of deploying size sensible brackets in math mode. % \section{Usage} % \verb!dynbrackets! implements commands to the math braces and parentheses found in Table~\ref{Tab:MathBrackets}. Note that \LaTeX markup on the table doesn't correspond to dynamic brackets, just the brackets themselves. % % To have the brackets change size dynamically with the content one would have to use \verb!\left! and \verb!\right! on each bracket respectively. To simplify the syntax, \verb!dynbrackets! implements a command for each bracket pair. When calling a dynamic bracket, content inside the bracket will automatically be in math mode. % % \begin{table}[] % \centering % \captionsetup{justification=centering} % \caption{List of Math Brackets} % \label{Tab:MathBrackets} % \begin{tabular}{@{} l c c c @{}} % \toprule % \toprule % \textbf{Type} & \textbf{\LaTeX} & \verb!dynbrackets! & \textbf{Renders as} \\ \midrule % Parentheses; round brackets & \verb!( x+y )! & \verb!\dbr{}! & $( x+y )$ \\ % Brackets; square brackets & \verb![ x+y ]! & \verb!\dbs{}! & $[ x+y ]$ \\ % Braces; curly brackets & \verb!\{ x+y\}! & \verb!\dbc{}! & $\{ x+y \}$ \\ % Angle brackets & \verb!\langle x+y \rangle! & \verb!\dba{}! & $\langle x+y \rangle$ \\ % Pipes; vertical bars & \verb!| x+y |! & \verb!\dbp{}! & $| x+y |$ \\ % Double pipes & \verb!\| x+y \|! & \verb!\dbdp{}! & $\| x+y \|$\\ \bottomrule % \bottomrule % \end{tabular} % \end{table} % % \StopEventually{} % % \section{Implementation} % % \iffalse %<*package> % \fi % % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{dynbrackets} [2021/04/01 v1.0.0 Simplifies the syntax of calling dynamic math brackets] % \end{macrocode} % % \begin{macro}{\dbr} % \begin{macrocode} \newcommand{\dbr}[1]{\ensuremath{\left(#1\right)}} % \end{macrocode} % \end{macro} % % \begin{macro}{\dbs} % \begin{macrocode} \newcommand{\dbs}[1]{\ensuremath{\left[#1\right]}} % \end{macrocode} % \end{macro} % % \begin{macro}{\dbc} % \begin{macrocode} \newcommand{\dbc}[1]{\ensuremath{\left\{#1\right\}}} % \end{macrocode} % \end{macro} % % \begin{macro}{\dba} % \begin{macrocode} \newcommand{\dba}[1]{\ensuremath{\left\langle#1\right\rangle}} % \end{macrocode} % \end{macro} % % \begin{macro}{\dbp} % \begin{macrocode} \newcommand{\dbp}[1]{\ensuremath{\left|#1\right|}} % \end{macrocode} % \end{macro} % % \begin{macro}{\dbdp} % \begin{macrocode} \newcommand{\dbdp}[1]{\ensuremath{\left\|#1\right\|}} % \end{macrocode} % \end{macro} % \endinput % \end{macrocode} % % \iffalse % % \fi % % \Finale \endinput