From 14c4ab52b25f4384f6db7938c2666fdd0f75a723 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Fri, 16 Dec 2022 03:01:21 +0000 Subject: CTAN sync 202212160301 --- macros/generic/pdfmsym/README.md | 10 + macros/generic/pdfmsym/pdfmsym-doc.pdf | Bin 0 -> 190599 bytes macros/generic/pdfmsym/pdfmsym-doc.tex | 400 +++ macros/generic/pdfmsym/pdfmsym.tex | 344 ++ macros/jptex/latex/platex/LICENSE | 2 +- macros/jptex/latex/platex/README.md | 2 +- macros/jptex/latex/platex/exppl2e.pdf | Bin 137664 -> 140856 bytes macros/jptex/latex/platex/exppl2e.sty | 13 +- macros/jptex/latex/platex/jclasses.dtx | 5 +- macros/jptex/latex/platex/jltxdoc.dtx | 5 +- macros/jptex/latex/platex/kinsoku.dtx | 5 +- macros/jptex/latex/platex/pl209.dtx | 5 +- macros/jptex/latex/platex/platex-en.pdf | Bin 148274 -> 155662 bytes macros/jptex/latex/platex/platex.dtx | 32 +- macros/jptex/latex/platex/platex.pdf | Bin 253604 -> 260304 bytes macros/jptex/latex/platex/platexrelease.dtx | 5 +- macros/jptex/latex/platex/platexrelease.pdf | Bin 107850 -> 109693 bytes macros/jptex/latex/platex/plcore.dtx | 19 +- macros/jptex/latex/platex/pldoc.pdf | Bin 874744 -> 1367858 bytes macros/jptex/latex/platex/plexpl3.dtx | 5 +- macros/jptex/latex/platex/plext.dtx | 5 +- macros/jptex/latex/platex/plfonts.dtx | 5 +- macros/jptex/latex/platex/plvers.dtx | 57 +- macros/latex/contrib/bibcop/DEPENDS.txt | 3 +- macros/latex/contrib/bibcop/README.md | 8 + macros/latex/contrib/bibcop/bibcop.1 | 15 +- macros/latex/contrib/bibcop/bibcop.dtx | 140 +- macros/latex/contrib/bibcop/bibcop.pdf | Bin 331588 -> 341825 bytes macros/latex/contrib/bibcop/bibcop.pl | 404 ++- .../biblatex-contrib/biblatex-lncs/lncs.bbx | 39 +- .../biblatex-contrib/biblatex-lncs/lncs.cbx | 2 +- macros/latex/contrib/eolang/README.md | 2 +- macros/latex/contrib/eolang/eolang.dtx | 94 +- macros/latex/contrib/eolang/eolang.pdf | Bin 1869634 -> 2003793 bytes macros/latex/contrib/msu-thesis/README.md | 7 +- .../latex/contrib/msu-thesis/docs/msu-thesis.tex | 89 +- macros/latex/contrib/msu-thesis/msu-thesis.cls | 318 +- macros/latex/contrib/msu-thesis/msu-thesis.pdf | Bin 107301 -> 107658 bytes .../samples/MSU-thesis-chapterbib-testfile.pdf | Bin 0 -> 139638 bytes .../samples/MSU-thesis-chapterbib-testfile.tex | 51 + .../msu-thesis/samples/MSU-thesis-template.pdf | Bin 0 -> 16293 bytes .../msu-thesis/samples/MSU-thesis-template.tex | 66 +- .../msu-thesis/samples/MSU-thesis-testfile.bib | 46 +- .../msu-thesis/samples/MSU-thesis-testfile.pdf | Bin 160095 -> 215147 bytes .../msu-thesis/samples/MSU-thesis-testfile.tex | 77 +- .../latex/contrib/msu-thesis/samples/chap1bib.tex | 15 + .../latex/contrib/msu-thesis/samples/chap2bib.tex | 19 + .../latex/contrib/msu-thesis/samples/chap3bib.tex | 13 + .../latex/contrib/msu-thesis/samples/chap4bib.tex | 16 + macros/latex/contrib/namedtensor/LICENSE.md | 7 + macros/latex/contrib/namedtensor/README.md | 44 + macros/latex/contrib/namedtensor/namedtensor.sty | 13 + .../latex/contrib/proflycee/doc/ProfLycee-doc.pdf | Bin 744621 -> 755212 bytes .../latex/contrib/proflycee/doc/ProfLycee-doc.tex | 116 +- macros/latex/contrib/proflycee/tex/ProfLycee.sty | 259 +- macros/latex/contrib/ufrgscca/README.md | 9 +- macros/latex/contrib/ufrgscca/doc/ufrgscca.pdf | 3321 ++++++++++---------- macros/latex/contrib/ufrgscca/doc/ufrgscca.tex | 8 +- .../latex/contrib/ufrgscca/latex/ufrgscca-abnt.sty | 35 +- .../contrib/ufrgscca/latex/ufrgscca-coord.sty | 6 +- .../latex/contrib/ufrgscca/latex/ufrgscca-core.sty | 6 +- .../contrib/ufrgscca/latex/ufrgscca-cover.sty | 10 +- .../contrib/ufrgscca/latex/ufrgscca-curr-graph.sty | 6 +- .../contrib/ufrgscca/latex/ufrgscca-curr-tab.sty | 6 +- .../latex/contrib/ufrgscca/latex/ufrgscca-curr.sty | 6 +- .../contrib/ufrgscca/latex/ufrgscca-en-base.def | 6 +- .../contrib/ufrgscca/latex/ufrgscca-en-coord.def | 6 +- .../contrib/ufrgscca/latex/ufrgscca-en-core.def | 6 +- .../contrib/ufrgscca/latex/ufrgscca-en-forms.def | 6 +- .../contrib/ufrgscca/latex/ufrgscca-forms.sty | 6 +- .../latex/contrib/ufrgscca/latex/ufrgscca-gen.sty | 6 +- .../contrib/ufrgscca/latex/ufrgscca-lists.sty | 6 +- .../latex/contrib/ufrgscca/latex/ufrgscca-ppc.sty | 6 +- .../contrib/ufrgscca/latex/ufrgscca-ptBR-base.def | 6 +- .../contrib/ufrgscca/latex/ufrgscca-ptBR-coord.def | 6 +- .../contrib/ufrgscca/latex/ufrgscca-ptBR-core.def | 6 +- .../contrib/ufrgscca/latex/ufrgscca-ptBR-forms.def | 6 +- macros/latex/contrib/ufrgscca/latex/ufrgscca.cls | 28 +- 78 files changed, 3931 insertions(+), 2364 deletions(-) create mode 100644 macros/generic/pdfmsym/README.md create mode 100644 macros/generic/pdfmsym/pdfmsym-doc.pdf create mode 100644 macros/generic/pdfmsym/pdfmsym-doc.tex create mode 100644 macros/generic/pdfmsym/pdfmsym.tex create mode 100644 macros/latex/contrib/msu-thesis/samples/MSU-thesis-chapterbib-testfile.pdf create mode 100644 macros/latex/contrib/msu-thesis/samples/MSU-thesis-chapterbib-testfile.tex create mode 100644 macros/latex/contrib/msu-thesis/samples/MSU-thesis-template.pdf create mode 100644 macros/latex/contrib/msu-thesis/samples/chap1bib.tex create mode 100644 macros/latex/contrib/msu-thesis/samples/chap2bib.tex create mode 100644 macros/latex/contrib/msu-thesis/samples/chap3bib.tex create mode 100644 macros/latex/contrib/msu-thesis/samples/chap4bib.tex create mode 100644 macros/latex/contrib/namedtensor/LICENSE.md create mode 100644 macros/latex/contrib/namedtensor/README.md create mode 100644 macros/latex/contrib/namedtensor/namedtensor.sty (limited to 'macros') diff --git a/macros/generic/pdfmsym/README.md b/macros/generic/pdfmsym/README.md new file mode 100644 index 0000000000..5954add2ed --- /dev/null +++ b/macros/generic/pdfmsym/README.md @@ -0,0 +1,10 @@ +# PDF Math Symbols - pdfMsym +## version 1.0.2 +The pdfMsym package provides mathematical symbols for PDF-dependent TeX compilers. +Read the documentation (documentation.pdf) for more details. +The pdfMsym package is provided under the MIT license. + +Compile the documentation via `pdftex pdfsym-doc.tex`. + +The pdfMsym package was created and is maintained by Slurp who can be reached via email: slurper04@gmail.com +Please report any bugs or issues with the package, doing so would be greatly appreciated. diff --git a/macros/generic/pdfmsym/pdfmsym-doc.pdf b/macros/generic/pdfmsym/pdfmsym-doc.pdf new file mode 100644 index 0000000000..6e0305bb56 Binary files /dev/null and b/macros/generic/pdfmsym/pdfmsym-doc.pdf differ diff --git a/macros/generic/pdfmsym/pdfmsym-doc.tex b/macros/generic/pdfmsym/pdfmsym-doc.tex new file mode 100644 index 0000000000..f7e84d1bb4 --- /dev/null +++ b/macros/generic/pdfmsym/pdfmsym-doc.tex @@ -0,0 +1,400 @@ +\catcode`\@=11 + +\input pdfmsym +\pdfmsymsetscalefactor{10} + + +\let\@xp=\expandafter +\font\scten = cmcsc10 + +\def\fakebold#1{\pdf@literal{2 Tr .2 w}#1\pdf@literal{0 Tr 1 w}} +\def\scalebox[#1]#2{{\setbox0=\hbox{#2}\hbox to#1\wd0{\pdfliteral{q #1 0 0 #1 0 0 cm}\rlap{#2}\pdfliteral{Q}\hfil}}} +\def\begincenter{\bgroup\leftskip=0pt plus 1fill \rightskip=\leftskip} +\def\endcenter{\par\egroup} + +\def\fbox#1{\vbox{\hrule\hbox{\vrule$#1$\vrule}\hrule}} + +\def\flip#1{{\setbox0=\hbox{#1}\kern\wd0\pdf@literal{q -1 0 0 1 0 0 cm}\rlap{#1}\pdf@literal{Q}}} + +\font\sevenrm = cmr7 +\def\MatheX{Math\kern-.1ex\lower .6ex\hbox {E}\kern -.125emX} +\def\xetex{X\kern-.125em\lower.5ex\hbox{\flip{E}}\kern-.1667em\TeX} +\def\LaTeX{L\kern-.36em{\setbox0=\hbox{T}\vbox to\ht0{\hbox{\sevenrm A}\vss}}\kern-.15em\TeX} + +\def\fontuse{\afterassignment\@@ \font\@@} +\def\scalefont{\fontuse \curr@font scaled } + +%\def\title#1{\leavevmode\vskip.1\vsize\centerline{\fontuse cmcsc10 scaled 5000 \fakebold{#1}}\bigskip} +\def\title#1{\leavevmode\vskip.1\vsize\centerline{\scalebox[8]{\fakebold{#1}}}\bigskip} + +\newcount\c@section +\newcount\c@subsection +\def\section#1{\bigskip\advance\c@section by 1 \c@subsection=0 \bgroup\fontuse cmbx10 scaled 2000 \the\c@section. #1\par\bigskip\egroup} +\def\subsection#1{\medskip\advance\c@subsection by 1 \bgroup\fontuse cmbx10 scaled 1500 \the\c@section.\the\c@subsection. #1\par\medskip\egroup} + +\chardef\fslash=`\/ +{\catcode`\^^M=\active% +\gdef\begincode{% + \bgroup\everypar={}% + \medskip% + \setbox0=\vbox\bgroup% + \global\dimen69=0pt% + \tt% + \catcode`\^^M=\active% + \def^^M{\egroup\ifnum\wd1>\dimen69 \global\dimen69=\wd1\fi\copy1\setbox1=\hbox\bgroup}% + \catcode`\ =\active% + \catcode`\{=12% + \catcode`\}=12% + \catcode`\/=0% + \catcode`\$=12% + \catcode`\\=12% + \catcode`\%=12 \setbox1=\hbox\bgroup}} +\def\endcode{% + \egroup\egroup% + \hfil\hbox to \dimen69{\box0}\hfil\par% + \medskip% + %\let\@par=\par% + \egroup% +} + +\def\icode{\bgroup\tt% + \catcode`\ =\active% + \catcode`\/=0% + \catcode`\{=12% + \catcode`\}=12% + \catcode`\$=12% + \catcode`\\=12% +} +\def\eicode{\egroup} + +{\catcode`\<=\active +\gdef\macrousage{\bgroup\setbox0=\hbox\bgroup\tt% + \catcode`\ =\active% + \catcode`\/=0% + \catcode`\{=12% + \catcode`\}=12% + \catcode`\$=12% + \catcode`\\=12% + \catcode`\<=\active% + \def<##1>{$\langle${\it ##1}$\rangle$}% +}} +\def\emacrousage{\egroup\par\smallskip\centerline{\box0}\egroup\par\smallskip} +\def\emacrousageB{\egroup\box0\egroup} + +\def\macroname#1{{\tt\string#1}} + +\chardef\lbrace="7B +\chardef\rbrace="7D + +\def\macroexp#1{\par\smallskip\bgroup\leftskip=1cm\leavevmode\kern-1cm\macrousage \scantokens{#1}\emacrousageB:} +\def\emacroexp{\par\egroup\smallskip} + +\def\showcase#1#2{{\openup3\jot\halign{\tt\hskip 1cm\string##\hfil&\quad\hfil##\cr + \omit\tt\string#1: & $\displaystyle#1$\cr\noalign{\kern3pt\hrule\kern3pt} + \displaystyle & $\displaystyle #2$\cr + \textstyle & $\textstyle #2$\cr + \scriptstyle & $\scriptstyle #2$\cr + \scriptscriptstyle & $\scriptscriptstyle #2$\cr} +}} + +\def\showcasevecc#1#2#3{\hbox to\hsize{\hss\vbox{\tabskip=5pt\openup3\jot% +\halign{\tt\hskip 1cm\string##\tabskip=0pt\hfil&\quad##\hfil&\quad\hfil##\tabskip=5pt\cr + \omit\tt\string#1: & \tt\string#1 & \tt\expandafter\string\csname short\m@strip#1\endcsname% + \cr\noalign{\kern3pt\hrule\kern3pt} + \displaystyle & $\displaystyle #2$ & $\displaystyle #3$\cr + \textstyle & $\textstyle #2$ & $\textstyle #3$\cr + \scriptstyle & $\scriptstyle #2$ & $\scriptstyle #3$\cr + \scriptscriptstyle & $\scriptscriptstyle #2$ & $\scriptscriptstyle #3$\cr} +}\hss}\bigskip} + +\def\showcasearrow#1#2#3#4{\hbox to\hsize{\hss\vbox{\tabskip=0pt\openup3\jot +\halign{\tt\hskip 1cm\string##\tabskip=0pt\hfil&\quad##\hfil&\quad\hfil##\hfil\quad&\quad\hfil##\tabskip=5pt\cr + \omit\tt\string#1: & \tt\string#1 & \tt\expandafter\string\csname long\m@strip#1\endcsname & + \tt\expandafter\string\csname x\m@strip#1\endcsname\cr\noalign{\kern3pt\hrule\kern3pt} + \displaystyle & $\displaystyle #2$ & $\displaystyle #3$ & $\displaystyle #4$\cr + \textstyle & $\textstyle #2$ & $\textstyle #3$ & $\textstyle #4$\cr + \scriptstyle & $\scriptstyle #2$ & $\scriptstyle #3$ & $\scriptstyle #4$\cr + \scriptscriptstyle & $\scriptscriptstyle #2$ & $\scriptscriptstyle #3$ & $\scriptscriptstyle #4$\cr} +}\hss}\bigskip} + +\def\showcaseaccent#1#2{{\openup3\jot\halign{\tt\hskip 1cm\string##\hfil&\quad\hfil##\cr + \omit\tt\string#1: & \cr\noalign{\kern3pt\hrule\kern3pt} + \displaystyle & $\displaystyle #2$\cr + \textstyle & $\textstyle #2$\cr + \scriptstyle & $\scriptstyle #2$\cr + \scriptscriptstyle & $\scriptscriptstyle #2$\cr} +}} + +\parindent=0pt +\parskip=3pt +\hoffset=\dimexpr 2cm - 1in \relax +\advance\hsize by -2\hoffset +\voffset=2\hoffset +\advance\vsize by -2\voffset + +\nopagenumbers +\title{\pdfMsym} +\unskip +{\setbox0=\hbox{\fakebold{\pdfMsym}}\centerline{\hbox to8\wd0{\hfil\it version \pdfMsymversion}}} +\centerline{\it S. Lurp} +\centerline{\tt slurper04@gmail.com} +\centerline{\it December 15, 2022} + +\bigskip +\hbox to \hsize{\hfil\vbox{\hsize=.7\hsize +\hrule +\smallskip +\begincenter +The \pdfMsym{} package (the {\scten pdf} Math Symbols package) was created as an extension to the math macros provided by \TeX{} and \LaTeX{}. +It provides more obscure symbols not found in popular preexisting and reimpliments macros which were viewed as flawed. + +A big part of the package was implemented through \macroname\pdfliteral s and other {\scten pdf} primitives. +So the \pdfMsym{} package is intended for use with {\scten pdf}\TeX, Lua\TeX, \xetex, and their \LaTeX{} counterparts. +Unfortunately, some macros are not supported by \xetex. +\endcenter +\smallskip +\hrule +}\hfil} + +\vfill\break + +\footline={\hfil\folio\hfil} +\section{An Introduction to \scalebox[2]{\fakebold\pdfMsym}} + +The main motivator for creating \pdfMsym{} was \TeX's poor implementation of the \macroname\overrightarrow{} macro which many +times yields unsavory results. +For example \icode \overrightarrow{\hbox{ABC}}/eicode{} yields: + +$$ \overrightarrow{\hbox{ABC}} $$ + +As you can see, the arrow overlaps with the {\tt ABC} which is undesirable. +This can be fixed by altering the \macroname\rightarrow{} macro, but I decided to make a more versatile alternative. +The \pdfMsym{} alternative, \macroname\vecc{}, on the other hand yields: + +$$ \vecc{\hbox{ABC}} $$ + +Along with a few other features, \pdfMsym{} provides a simple interface for creating your own style of arrows. + +\pdfMsym{} requires the current font size in order to properly scale its symbols, which must be provided after +{\tt\string\input}ing {\tt pdfmsym.tex}. +This can be done with the \macroname\pdfmsymsetscalefactor{} macro. +If your font is 12pt then you can load \pdfMsym{} like so: + +\begincode +\input pdfmsym +\pdfmsymsetscalefactor{12} +/endcode\par + +It is {\it imperative} that you set the scale factor after loading {\tt pdfmsym} as otherwise almost none of the macros will +work. + +\section{The Predefined Symbols} + +This section will simply be an exhaustive list of all the predefined symbols \pdfMsym{} provides. + +\subsection{Math Symbols} + +{\tabskip=10pt plus 5pt minus 5pt\openup3\jot\halign to \hsize{{\hsize=.45\hsize#}\hfil&\hfil{\hsize=.45\hsize#}\cr +\vbox{\showcase\dwedge{A\dwedge B}} & \vbox{\showcase\dcup{A\dcup B}}\cr +\vbox{\showcase\bigdwedge{A\dwedge\bigdwedge_{n=1}^N B_n}} & \vbox{\showcase\bigdcup{A\dcup\bigdcup_{n=1}^N B_n}}\cr +\noalign{\vfil\eject} +\vbox{\showcase\aint{f(x) + \aint_a^b g(x)\, dx}} & \vbox{\showcase\divs{n\divs m}}\cr +\vbox{\showcase\ndivs{n\ndivs m}} & \cr}} + +Additionally, \macroname\lightning{} is provided as a textmode command and renders \lightning. + +\subsection{Vector Symbols} + +Each vector comes as a pair: the normal form and the short form. +The normal form is meant to cover longer material while the short form covers shorter material. + +\bigskip +\showcasevecc\vecc{\vecc{\hbox{ABC}}}{\shortvecc{a}} +\showcasevecc\lvecc{\lvecc{\hbox{ABC}}}{\shortlvecc{a}} +\showcasevecc\overrightharp{\overrightharp{\hbox{ABC}}}{\shortoverrightharp{a}} +\vfill\eject +\showcasevecc\overleftharp{\overleftharp{\hbox{ABC}}}{\shortoverleftharp{a}} +\showcasevecc\oveleftrrightvecc{\overleftrightvecc{\hbox{ABC}}}{\shortoverleftrightvecc{a}} +\showcasevecc\oveleftrrightharp{\overleftrightharp{\hbox{ABC}}}{\shortoverleftrightharp{a}} +\showcasevecc\overrightleftharp{\overrightleftharp{\hbox{ABC}}}{\shortoverrightleftharp{a}} +\showcasevecc\straightvecc{\straightvecc{\hbox{ABC}}}{\shortstraightvecc{a}} +\showcasevecc\straightlvecc{\straightlvecc{\hbox{ABC}}}{\shortstraightlvecc{a}} + +\unless\ifx\pdfxform\undefined +The \macroname\constvec{} macro has the following usage: +\macrousage \constvec{} /emacrousage +And it centers the {\tt vector macro} above {\tt material} as if it had the same height as {\tt x}, cropping anything above +that height. +So for example \icode \constvec\vecc{abc}/eicode{} yields $\constvec\vecc{abc}$. +This macro cannot be used in \xetex. +\fi +\subsection{Arrow Symbols} + +Each arrow comes as a triplet: the normal form, the long form, and the extendable form. +The extendable form is similar to \macroname\xrightarrow{} and friends, an extendable arrow has the following use: +\macrousage \xarrow{}[] /emacrousage +And creates an extended arrow to fit both the top and bottom material. + +\bigskip +\showcasearrow\varrightarrow{A\varrightarrow B}{A\longvarrightarrow B}{A\xvarrightarrow{ABC}[abc] B} +\showcasearrow\varleftarrow{A\varleftarrow B}{A\longvarleftarrow B}{A\xvarleftarrow{ABC}[abc] B} +\showcasearrow\varrightharp{A\varrightharp B}{A\longvarrightharp B}{A\xvarrightharp{ABC}[abc] B} +\showcasearrow\varleftharp{A\varleftharp B}{A\longvarleftharp B}{A\xvarleftharp{ABC}[abc] B} +\showcasearrow\varleftrightarrow{A\varleftrightarrow B}{A\longvarleftrightarrow B}{A\xvarleftrightarrow{ABC}[abc] B} +\vfill\eject +\showcasearrow\varleftrightharp{A\varleftrightharp B}{A\longvarleftrightharp B}{A\xvarleftrightharp{ABC}[abc] B} +\showcasearrow\varrightleftharp{A\varrightleftharp B}{A\longvarrightleftharp B}{A\xvarrightleftharp{ABC}[abc] B} +\showcasearrow\varmapsto{A\varmapsto B}{A\longvarmapsto B}{A\xvarmapsto{ABC}[abc] B} +\showcasearrow\varhookrightarrow{A\varhookrightarrow B}{A\longvarhookrightarrow B}{A\xvarhookrightarrow{ABC}[abc] B} +\showcasearrow\varhookleftarrow{A\varhookleftarrow B}{A\longvarhookleftarrow B}{A\xvarhookleftarrow{ABC}[abc] B} +\showcasearrow\vardoublerightarrow{A\vardoublerightarrow B}{A\longvardoublerightarrow B}{A\xvardoublerightarrow{ABC}[abc] B} +\showcasearrow\vardoubleleftarrow{A\vardoubleleftarrow B}{A\longvardoubleleftarrow B}{A\xvardoubleleftarrow{ABC}[abc] B} +\showcasearrow\varcirclerightarrow{A\varcirclerightarrow B}{A\longvarcirclerightarrow B}{A\xvarcirclerightarrow{ABC}[abc] B} +\showcasearrow\varcircleleftarrow{A\varcircleleftarrow B}{A\longvarcircleleftarrow B}{A\xvarcircleleftarrow{ABC}[abc] B} + +\subsection{Wide Accents} +Wide accents provide variants to the commonly used accents like \macroname\widehat{} and \macroname\widetilde. +Unlike these accents, \pdfMsym's wide accents can grow arbitrarily large. + +\bigskip +{\tabskip=20pt plus 10pt minus 5pt\halign{{\hsize=.45\hsize#}\hfil&\hfil{\hsize=.45\hsize#}\cr +\vbox{\showcaseaccent\varwidehat{\varwidehat{ABC}+D}} & \vbox{\showcaseaccent\varwidecheck{\varwidecheck{ABC}+D}}\cr}} +\bigskip +\hbox to\hsize{\hfil\vbox{\tabskip=20pt plus 10pt minus 5pt\showcaseaccent\varwidetilde{\varwidetilde{ABC}+D}}\hfil} + +\unless\ifx\pdfxform\undefined +\subsection{Extendable Operators} +Extendible operators extend to the width of the material in their limits. +These operators should only be used in display mode, since they use the display modes of the operators. +They are \macroname\suum{} and \macroname\prood{}: + +$$ \suum_{\hbox{abcdef}}^{\hbox{ABCDEF}} \qquad \prood_{\hbox{abcdef}}^{\hbox{ABCDEF}} $$ + +These are not available in \xetex. +\fi + +\vfill\eject +\section{Defining Your Own Symbols} + +\pdfMsym{} provides an interface for creating your own mathematical symbols through the use of \macroname\pdfliteral s. +This interface requires prior knowledege of drawing with PDFs. + +\macroexp{\@linehead@type{}{}} This creates a ``linehead'' which is used to cap lines, like +\macroname\@rarrow{} ($\@rarrow{.4}{2.5}$). +{\it pdf code} is the actual code used to draw the symbol, and it should be noted that all necessary transformations to the +linehead are done by \macroname\@linehead@type{} and should not be included in the code. +This includes the setting of the width and transforming the coordinate system. +The {\it width} is the width of the drawing of the {\it pdf code}. + +This macro actually accepts more parameters, but they're used internally and therefore aren't necessary to explain. +Therefore the only use this macro should be for is defining line heads. +For example, the definition of \macroname\@rarrow{} is: +\begincode +\def\@rarrow {\@linehead@type{0 0 m 2 0 l 1 0 0 1 0 1.5 c 2 0 m 1 0 0 -1 0 -1.5 c S}{2}} +/endcode + +The predefine lineheads are +\icode \@rarrow, \@larrow, \@rharp, \@lharp, \@rdharp, \@rlharp, \@mapcap, \@rsarrow, \@lsarrow, \@backhook, \@fronthook, \@doublerarrow, \@doublelarrow, /hfil/break\@circlecap/eicode. +\emacroexp + +\macroexp{\@vecc@def{}} This creates a vector macro, like \macroname\vecc. +This creates both the normal and short variations of the vector. +For example, the definition of the {\tt vecc} vectors is: +\begincode +\@vecc@def{vecc}\@linecap\@rarrow +/endcode +\emacroexp + +\macroexp{\@arrow@def{}} This creates an arrow macro, like \macroname\varrightarrow. +This creates the normal, long, and extendable versions of the arrow. +For example, the definition of the {\it varrightarrow} vectors is: +\begincode +\@arrow@def{varrightarrow}\@linecap\@rarrow +/endcode +\emacroexp + +\macroexp{\@wide@accent{}} This creates a wide accent, like \macroname\varwidecheck. +The width of the drawing by the {\it pdf code} should be $1$, and it should be filled not stroked (since the accent is +transformed to stretch over the material beneath it). +Again this macro should only be used to define wide accents. +For example, the definition of \macroname\varwidecheck{} is: +\begincode +\def\varwidecheck{\@wide@accent{0 1.3 m .5 -.4 l 1 1.3 l 1 1.6 l .5 .3 l 0 1.6 l f}} +/endcode +\emacroexp + +\macroexp{\pdf@drawing@macro{}{}{}{}{}{}} This creates a text mode +symbol like \macroname\lightning. +It is important that the {\it pdf code} fits inside the box created by {\it width, height,\/} and {\it depth} since the +drawing is placed inside of an XForm and so anything outside the box will be cropped. +The {\it horizontal skew} can be used to shift the symbol so that it fits horizontally inside the box. +For example, the definition of \macroname\lightning{} is: +\begincode +\pdf@drawing@macro{lightning} % The lightning symbol is drawn upright + {.86603 -.5 .5 .86603 0 0 cm % and rotated 30 degrees + 1 J 1 j .6 w + -3 10 m -3 4.133975 l 0 5.866025 l 0 0 l -1.125 1.5 l 0 0 l 1.125 1.5 l S} + {4.2pt}{10.5pt}{.5pt}{.9pt} +/endcode +\emacroexp + +\macroexp{\pdf@drawing@math@macro{}{}{}{}{}{}