%% %% This is file `phy-ab.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% physics2-code.dtx (with options: `ab') %% %% Copyright (C) 2023 by Zhang Tingxuan %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either %% version 1.3c 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 Zhang Tingxuan. %% %% This work consists of the files physics2-code.dtx, %% and the derived files physics2.ins, %% physics2.sty, %% phy-.sty, %% physics2-code.pdf, %% and README.md. %% \ProvidesFile{phy-ab.sty} [2023/10/24 `ab' (autobraces) module of physics2] \phy@define@key{ab}{tightbraces}[true]{\def\@phy@abtight{#1}} \phy@setkeys{ab}{tightbraces=true} \phy@processkeyopt{ab} \ifx\@phy@abtight\phy@true \let\phy@abopen\delopen \let\phy@abclose\delclose \else \let\phy@abopen\left \let\phy@abclose\right \fi \def\phy@AB@gen#1#2{\expandafter\DeclareDocumentCommand\csname phy@#1@\string#2\endcsname} \phy@AB@gen{ab}({r()}{\phy@abopen(#1\phy@abclose)} \phy@AB@gen{ab}[{r[]}{\phy@abopen[#1\phy@abclose]} \phy@AB@gen{ab}\{{r\{\}}{\phy@abopen\{#1\phy@abclose\}} \phy@AB@gen{ab}|{r||}{\phy@abopen|#1\phy@abclose|} \phy@AB@gen{ab}\|{r\|\|}{\phy@abopen\|#1\phy@abclose\|} \phy@AB@gen{ab}<{r<>}{\phy@abopen<#1\phy@abclose>} \phy@AB@gen{ab}\lbrace{r\lbrace\rbrace}{\phy@abopen\lbrace#1\phy@abclose\rbrace} \phy@AB@gen{ab}\vert{r\vert\vert}{\phy@abopen\vert#1\phy@abclose\vert} \phy@AB@gen{ab}\Vert{r\Vert\Vert}{\phy@abopen\Vert#1\phy@abclose\Vert} \phy@AB@gen{ab}\langle{r\langle\rangle}{\phy@abopen\langle#1\phy@abclose\rangle} \phy@AB@gen{mb}({mr()}{\mathopen#1(#2\mathclose#1)\endgroup} \phy@AB@gen{mb}[{mr[]}{\mathopen#1[#2\mathclose#1]\endgroup} \phy@AB@gen{mb}\{{mr\{\}}{\mathopen#1\lbrace#2\mathclose#1\rbrace\endgroup} \phy@AB@gen{mb}|{mr||}{\mathopen#1\vert#2\mathclose#1\vert\endgroup} \phy@AB@gen{mb}\|{mr\|\|}{\mathopen#1\Vert#2\mathclose#1\Vert\endgroup} \phy@AB@gen{mb}<{mr<>}{\mathopen#1\langle#2\mathclose#1\rangle\endgroup} \phy@AB@gen{mb}\lbrace{mr\lbrace\rbrace}{\mathopen#1\lbrace#2\mathclose#1\rbrace\endgroup} \phy@AB@gen{mb}\vert{mr\vert\vert}{\mathopen#1\vert#2\mathclose#1\vert\endgroup} \phy@AB@gen{mb}\Vert{mr\Vert\Vert}{\mathopen#1\Vert#2\mathclose#1\Vert\endgroup} \phy@AB@gen{mb}\langle{mr\langle\rangle}{\mathopen#1\langle#2\mathclose#1\rangle\endgroup} \def\phy@del#1#2#3{\phy@abopen#1#3\phy@abclose#2} \expandafter\def\csname phy@del\string*\endcsname#1#2#3{\mathopen#1#3\mathclose#2} \expandafter\def\csname phy@del\string\big\endcsname#1#2#3{\bigl#1#3\bigr#2} \expandafter\def\csname phy@del\string\Big\endcsname#1#2#3{\Bigl#1#3\Bigr#2} \expandafter\def\csname phy@del\string\bigg\endcsname#1#2#3{\biggl#1#3\biggr#2} \expandafter\def\csname phy@del\string\Bigg\endcsname#1#2#3{\Biggl#1#3\Biggr#2} \expandafter\def\csname phy@del\string\biggg\endcsname#1#2#3{\bigggl#1#3\bigggr#2} \expandafter\def\csname phy@del\string\Biggg\endcsname#1#2#3{\Bigggl#1#3\Bigggr#2} \def\phy@d@lx#1#2#3{% \ifcsname phy@del\string#3\endcsname \def\reserved@a{#1}% #3 is star or \biggg \else \def\reserved@a{#2}% #3 is delimiter \fi \csname phy@d@lx\reserved@a\endcsname#3} \def\phy@d@l@genxm#1{% \expandafter\def\csname phy@d@lx#1\endcsname##1##2{% \begingroup % \endgroup is at the end of #4 of \phy@AB@gen \ifx##1*\let\phy@tempa=\relax\else\let\phy@tempa=##1\fi \csname phy@#1@\string##2\endcsname\phy@tempa##2}} \def\phy@d@l@genxa#1{% \expandafter\def\csname phy@d@lx#1\endcsname##1{% \csname phy@#1@\string##1\endcsname##1}} \phy@d@l@genxm{mb} \phy@d@l@genxa{ab} \DeclareRobustCommand\ab{\phy@d@lx{mb}{ab}} \def\phy@d@l@geny#1#2#3{% \DeclareDocumentCommand#1{som}{% ##1: star; ##2: bigg (csname); ##3: subformula. \IfBooleanTF{##1}% {#2##3#3}% {\IfValueTF{##2}% {\csname##2l\endcsname#2##3\csname##2r\endcsname#3}% {\phy@abopen#2##3\phy@abclose#3}% }% }% } \phy@d@l@geny\pab() \phy@d@l@geny\bab[] \phy@d@l@geny\Bab\lbrace\rbrace \phy@d@l@geny\vab\vert\vert \phy@d@l@geny\aab\langle\rangle \phy@d@l@geny\Vab\Vert\Vert \endinput %% %% End of file `phy-ab.sty'.