summaryrefslogtreecommitdiff
path: root/Master/texmf-dist
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2010-10-15 22:30:05 +0000
committerKarl Berry <karl@freefriends.org>2010-10-15 22:30:05 +0000
commit997de50715b1ee678641cc9f12b4cba4cf964c90 (patch)
treecc54d7fda1df3d81e949050c69254658cc46b278 /Master/texmf-dist
parentb70007a8daf8fc353a5ff23ca5cb6f3105cacfea (diff)
reinstate bezos
git-svn-id: svn://tug.org/texlive/trunk@20113 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r--Master/texmf-dist/doc/latex/bezos/README76
-rw-r--r--Master/texmf-dist/doc/latex/bezos/accents.pdfbin0 -> 251294 bytes
-rw-r--r--Master/texmf-dist/doc/latex/bezos/accents.tex217
-rw-r--r--Master/texmf-dist/doc/latex/bezos/bezos.pdfbin0 -> 121994 bytes
-rw-r--r--Master/texmf-dist/doc/latex/bezos/bezos.tex260
-rw-r--r--Master/texmf-dist/doc/latex/bezos/esindex.pdfbin0 -> 141690 bytes
-rw-r--r--Master/texmf-dist/doc/latex/bezos/esindex.tex179
-rw-r--r--Master/texmf-dist/doc/latex/bezos/tensind.pdfbin0 -> 231270 bytes
-rw-r--r--Master/texmf-dist/doc/latex/bezos/tensind.tex194
-rw-r--r--Master/texmf-dist/tex/latex/bezos/accents.sty281
-rw-r--r--Master/texmf-dist/tex/latex/bezos/arabicfront.sty60
-rw-r--r--Master/texmf-dist/tex/latex/bezos/checkend.sty55
-rw-r--r--Master/texmf-dist/tex/latex/bezos/dotlessi.sty59
-rw-r--r--Master/texmf-dist/tex/latex/bezos/esindex.sty204
-rw-r--r--Master/texmf-dist/tex/latex/bezos/subdocs.sty152
-rw-r--r--Master/texmf-dist/tex/latex/bezos/tensind.sty284
16 files changed, 2021 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/bezos/README b/Master/texmf-dist/doc/latex/bezos/README
new file mode 100644
index 00000000000..3e4677c8ba4
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/bezos/README
@@ -0,0 +1,76 @@
+This directory contains some unrelated packages which I grouped for
+not to clutter the contrib directory.
+
+There is a manual with the basics of all of these packages
+as bezos.pdf.
+
+Contact: http://www.tex-tipografia.com/contact.html
+
+accents
+~~~~~~~
+Tools for math accents: multiple and newly defined ones.
+
+Manual: accents.tex
+Page: http://www.tex-tipografia.com/accents.html
+
+tensind
+~~~~~~~
+Tensorial indexes, with fine tuning and optional subtitution
+of letters (a -> \alpha, for instance)
+
+Both accents and tensind takes into account the
+slight displacement of indexes in some letters (like $f^1_1$).
+
+Manual: tensind.tex
+Page: http://www.tex-tipografia.com/tensind.html
+
+dotlessi
+~~~~~~~~
+Another math tool. It provides dotless i's and j's for
+use in any math font (\mathrm, etc.). A single file---it is
+documented in the sty file itself.
+
+Manual: clear text in dotless.sty
+
+esindex
+~~~~~~~
+A tool to easy typing of Spanish index entries.
+
+Manual: esindex.tex (in Spanish)
+Page: http://www.tex-tipografia.com/esindex.html
+
+babeltools
+~~~~~~~~~~
+Fixes some babel annoyances (beta).
+
+Manual: babeltools.tex
+
+subdocs
+~~~~~~~
+An alternative to \include's for large works consisting of
+several subdocuments. Still alpha.
+
+Manual: clear text in subdocs.sty
+
+checkend
+~~~~~~~~
+More useful error messages when there are open environments
+at \end{document}.
+
+Manual: clear text in checkend.sty
+
+arabicfront
+~~~~~~~~~~~
+Arabic page numbering starting from the front matter.
+
+Manual: clear text in arabicfront.sty
+
+_________________________________________________________________
+Javier Bezos | http://www.tex-tipografia.com
+¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
+
+2010-10-13
+
+
+
+
diff --git a/Master/texmf-dist/doc/latex/bezos/accents.pdf b/Master/texmf-dist/doc/latex/bezos/accents.pdf
new file mode 100644
index 00000000000..ad1b0361e7a
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/bezos/accents.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/bezos/accents.tex b/Master/texmf-dist/doc/latex/bezos/accents.tex
new file mode 100644
index 00000000000..fa456253c42
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/bezos/accents.tex
@@ -0,0 +1,217 @@
+% +--------------------------------------------------+
+% | Typeset this file to get the documentation. |
+% +--------------------------------------------------+
+%
+%% Copyright (C) 1998, 1999, 2000, 2006 Javier Bezos
+%% All Rights Reserved
+%% http://www.tex-tipografia.com
+%%
+%% 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 2003/12/01 or later.
+%%
+%% This work has the LPPL maintenance status "maintained".
+%%
+%% This Current Maintainer of this work is Javier Bezos.
+%%
+%% This work consists of the files accents.tex and accents.sty.
+
+\def\fileversion{1.3}
+\def\docdate{May 12, 2006}
+
+\documentclass{ltxguide}
+\usepackage{accents}
+
+\title{The \textsf{accents} Package\footnote{This
+package is currently at version \fileversion.}}
+
+\author{Javier Bezos\footnote{For bug reports, comments and
+suggestions go to
+\texttt{http://www.tex-tipografia.com}.
+English is not my strong point, so contact me when you find mistakes
+in the manual. Other packages by the same author: \textsf{tensind}
+(tensorial indexes), \textsf{spanish} (for babel), \textsf{titlesec}
+(to redefine sectioning macros), \textsf{dotlessi} (dotless i in any
+math group).}}
+
+\date{\docdate}
+
+\newenvironment{sample}{\begin{quote}\small\begin{tabbing}%
+ \hskip14pc\=\hskip6pc\\}
+ {\end{tabbing}\end{quote}}
+
+\DeclareMathAccent{\wtilde}{\mathord}{largesymbols}{"65}
+
+\raggedright
+\advance\textheight24pt
+
+\begin{document}
+
+\maketitle
+
+This package provides some miscellaneous tools for mathematical
+accents, with the following goals in mind:
+\begin{itemize}
+\item Creating faked accents from non-accent symbols, like
+$\accentset{\star}{s}$.
+\item Grouping them, perhaps including actual accents, like
+$\hat{\accentset{\star}{\hat h}}$. That
+has the side effect that multiple actual accents can be built
+as well.
+\item Putting them below the main symbol instead of above.
+\end{itemize}
+
+That is done so that the faked accents behave in quite similar fashion
+to actual accents do; i.e., the skew of the letter is taken into
+account (compare $\accentset{\ast}{d}$ with
+$\accentset{\ast}{h}$) and the sub and superscripts attached to
+it aren't misplaced (look carefully at $\accentset{\star}{f}_1^1$).
+
+Release 1.1 included a few new features, some of them following
+suggestions by Donald Arseneau. In particular, the |\underaccent|
+command has been fully reimplemented for the slant to be taken into
+account and the ``accent'' to be placed below the symbol can be
+anyone, not only real accents. This release just makes it compatible
+with \textsf{amsmath} 2 with a quick fix.
+
+\begin{decl}
+|\DeclareMathAccent|
+\end{decl}
+
+This \LaTeXe{} command is reimplemented so that newly defined accents
+will incorporate the features of this package. The standard accents
+are automatically redefined, including |\mathring| if you are using
+one of the latest \LaTeX{} releases. However, both |\widetilde| and
+|\widehat| remains untouched. If you are using a non standard
+math encoding, the accents following the standard encoding names are
+rightly redefined, but new accents are not converted because
+\textsf{accents} is not aware of its existence.
+
+See |fntguide.tex| in the \LaTeX{} standard distribution for a discussion on
+ |\DeclareMathAccent|.
+
+\begin{decl}
+|\ring{<symbol>}|
+\end{decl}
+
+The accent in $\ring{x}$, which was available in this package (and
+in fact in many others) before
+the |\mathring| command was added to the \LaTeX{} kernel.
+
+\begin{decl}
+|\accentset{<accent>}{<symbol>}|
+\end{decl}
+
+Builds a faked accent, as for instance
+\begin{sample}
+|\accentset{\star}{d}| \> $\accentset{\star}{d}$\\
+|\accentset{\diamond}{h}| \> $\accentset{\diamond}{h}$\\
+|\tilde{\accentset{\circ}{\phi}}| \>
+ $\tilde{\accentset{\circ}{\phi}}$
+\end{sample}
+The |<accent>| is always in |\scriptscriptmode|; hence, using
+|\accentset| in scripts won't give the desired result. Of course,
+if you use some faked accent many times, you can define:
+\begin{verbatim}
+\newcommand\starred[1]{\accentset{\star}{#1}}
+\end{verbatim}
+and |\starred| will become an accent, like |\hat|, |\tilde|, etc.
+
+\begin{decl}
+|\dddot \ddddot|
+\end{decl}
+
+Two prefabricated faked accents: $\dddot{f}$ and $\ddddot{f}$.
+
+\begin{decl}
+|\underaccent{<accent>}{<symbol>}|
+\end{decl}
+
+This command puts the |<accent>| under the |<symbol>|. Both real
+and faked accents are allowed. For instance,
+\begin{sample}
+|\underaccent{\hat}{x}| \> $\underaccent{\hat}{x}$\\
+|\underaccent{\bar}{\gamma}| \> $\underaccent{\bar}{\gamma}$\\
+|\underaccent{\triangleright}{q}| \>
+ $\underaccent{\triangleright}{q}$\\
+|\underaccent{\tilde}{\mathcal{A}}| \>
+ $\underaccent{\tilde}{\mathcal{A}}$
+\end{sample}
+
+Many people likes using the wider version of the tilde accent as
+printed by the |\widetilde| command, i.e., $\widetilde{A}$ instead of
+$\tilde{A}$. I find that aesthetically questionable, but anyway it
+can be used under the symbol as well. Since |\widetilde| remains
+untouched, you should define:
+\begin{verbatim}
+\DeclareMathAccent{\wtilde}{\mathord}{largesymbols}{"65}
+\end{verbatim}
+and write |\underaccent{\wtilde}{V}|, say (giving
+$\underaccent{\wtilde}{V}$). You may build an accent with
+|\sim|, too. (The value for a wide hat is |"62|)
+
+Sadly, \TeX{} lacks of a mechanism to place underaccents similar to
+that used in accents. Letters have a large variety of shapes and
+finding an automatic adjusting is practically impossible. Compare for
+instance the following letters:
+\begingroup
+\def\\{\underaccent{\bar}}%
+$\\V$, $\\Q$, $\\p$, $\\q$, $\\f$,
+$\\\beta$, $\\\gamma$, $\\{\mathcal{F}}$, $\\{\mathcal{A}}$
+\endgroup
+and you wil understand the difficulties.
+
+\begin{decl}
+|\undertilde{<symbols>}|
+\end{decl}
+
+This is the ``under'' version of |\widetilde| and like the latter is intended for constructions
+involving several symbols. For instance:
+\begin{sample}
+|\undertilde{CV}| \> $\undertilde{CV}$
+\end{sample}
+Note that in this case no correction is made in the placement of the tilde.
+
+\begin{decl}
+|nonscript single|
+\end{decl}
+
+These package options are intended mainly for speeding up the
+typesetting of document. The algorithm used here is recursive and
+very slow; although in fast processors that is not felt, in slow
+system that could be very annoying.
+
+\begin{description}
+\item[single] If you are interested only in |\accentset|.
+ Accents are not reimplemented.
+\item[nonscript] If you intend to use multiple accents in
+ text and display modes only.
+\end{description}
+
+Macros are speeded up dramaticaly with both options; if your system is slow,
+I commend using them in drafts and removing them for the final print.
+
+Finally, some remarks:
+\begin{itemize}
+\item The package does not provides alternative accents for fonts
+ lacking them. If you want an accented |\mathcal| letter you had to
+ write |\hat{\hat{\mathcal{A}}}| ($\hat{\hat{\mathcal{A}}}$).
+\item |\mathbf{\hat{\hat h}}| gets the bold accent;
+ |\hat{\hat{\mathbf{h}}}| not.
+\item The symbol in |\accentset| must be a single symbol.
+\item If you use \textsf{accents} with \textsf{amsmath} 2, you must
+load \textsf{accents} after. Note that \textsf{amsmath} could redefine
+some accents; in particular, if you experience problems with |\vec|
+and you are using the standard math encodings, define:
+\begin{verbatim}
+\let\vec\relax
+\DeclareMathAccent{\vec}{\mathord}{letters}{"7E}
+\end{verbatim}
+\end{itemize}
+
+\end{document}
+
diff --git a/Master/texmf-dist/doc/latex/bezos/bezos.pdf b/Master/texmf-dist/doc/latex/bezos/bezos.pdf
new file mode 100644
index 00000000000..866138541ea
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/bezos/bezos.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/bezos/bezos.tex b/Master/texmf-dist/doc/latex/bezos/bezos.tex
new file mode 100644
index 00000000000..d79651a8bc8
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/bezos/bezos.tex
@@ -0,0 +1,260 @@
+\documentclass[twocolumn]{ltxguide}
+\usepackage[cp1252]{inputenc}
+
+\raggedbottom
+
+\usepackage{accents}
+\usepackage{tensind}
+
+\tensordelimiter{?}
+\tensorformat{lrb}
+
+\usepackage{dotlessi}
+
+\title{The \textsf{Bezos} bundle of packages}
+\author{Javier Bezos\\\normalsize\texttt{www.tex-tipografia.com}}
+\date{2010-10-13}
+
+\newenvironment{sample}{\small\begin{tabbing}%
+ \hskip14pc\=\hskip6pc\\}
+ {\end{tabbing}}
+
+\renewenvironment{decl}%
+ {\par\small
+ \addvspace{4.5ex plus 1ex}%
+ \vskip-\parskip
+ \noindent
+ \begin{tabular}{\string|l\string|}\hline\ignorespaces}%
+ {\\\hline\end{tabular}\par\nobreak
+ \vspace{2.3ex}%
+ \vskip-\parskip}
+
+\usepackage{mathptmx}
+
+\begin{document}
+\maketitle
+
+This document expains briefly the packages written by me and grouped
+under the Bezos directory in CTAN. They are in some sense small
+packages and this is the very reason they have been grouped here.
+Large packages like \textsf{gloss} (written with Jos\'e Luis D\'\i
+az), \textsf{titlesec} (including \textsf{titletoc}) and
+\textsf{enumitem} are under their own directories.
+
+\section{Accents}
+
+This package provides some miscellaneous tools for mathematical
+accents, with the following goals in mind:
+\begin{itemize}
+\item Creating faked accents from non-accent symbols, like
+$\accentset{\star}{s}$.
+\item Grouping them, perhaps including actual accents, like
+$\hat{\accentset{\star}{\hat h}}$. That
+has the side effect that multiple actual accents can be built
+as well.
+\item Putting them below the main symbol instead of above.
+\end{itemize}
+
+That is done so that the faked accents behave in quite similar fashion
+to actual accents do; i.e., the skew of the letter is taken into
+account (compare $\accentset{\ast}{d}$ with
+$\accentset{\ast}{h}$) and the sub and superscripts attached to
+it aren't misplaced (look carefully at $\accentset{\star}{f}_1^1$).
+
+The two basic commands are the following:
+\begin{decl}
+|\accentset{<accent>}{<symbol>}|
+\end{decl}
+Builds a faked accent, as for instance
+\begin{sample}
+|\accentset{\star}{d}| \> $\accentset{\star}{d}$\\
+|\accentset{\diamond}{h}| \> $\accentset{\diamond}{h}$\\
+|\tilde{\accentset{\circ}{\phi}}| \>
+ $\tilde{\accentset{\circ}{\phi}}$
+\end{sample}
+
+\begin{decl}
+|\underaccent{<accent>}{<symbol>}|
+\end{decl}
+
+This command puts the |<accent>| under the |<symbol>|. Both real
+and faked accents are allowed. For instance,
+\begin{sample}
+|\underaccent{\hat}{x}| \> $\underaccent{\hat}{x}$\\
+|\underaccent{\bar}{\gamma}| \> $\underaccent{\bar}{\gamma}$\\
+|\underaccent{\triangleright}{q}| \>
+ $\underaccent{\triangleright}{q}$\\
+|\underaccent{\tilde}{\mathcal{A}}| \>
+ $\underaccent{\tilde}{\mathcal{A}}$
+\end{sample}
+
+Typeset \texttt{accents.tex} for further details.
+
+\section{Esindex}
+
+This package defines the command \verb|\esindex| which
+easies writing Spanish index entries:
+\begin{verbatim}
+\esindex{cañón}
+\end{verbatim}
+is equivalent to
+\begin{verbatim}
+\index{can^^ffon@cañón}
+\end{verbatim}
+This way, entries with diacritical marks are properly
+sorted. It has options to ignore spaces (letter-by-letter) and
+particles, and to predefine sort keys.
+
+The manual is \texttt{esindex.tex} and is in Spanish.
+
+\section{Tensind}
+
+This package provides typographically fine tensorial notation, with
+the following features:
+\begin{itemize}
+\item Dots filling gaps.
+
+\item Symbol subtitution to easy typing (if you are using greek
+letters, for example).
+
+\item Corrected position of indexes: horizontally, to compensate the
+small displacement in letters like $f$ (look carefully at $f_*^*$) and
+vertically, to avoid superscripts too raised.
+
+\item Aditional minute corrections are also allowed.
+\end{itemize}
+
+After setting a \textit{tensor delimiter} with \verb|\tensordelimiter|
+you can write tensorial indexes in a very compact way. In subsequent
+examples we will assume
+\begin{verbatim}
+\tensordelimiter{?}
+\end{verbatim}
+and every instance of |?| will actually mean |<tensor-delim>|.
+
+Tha basic commands are the following:
+
+\begin{decl}
+|?[<format>]{<nucleous>}{<special-index>}...|\\
+| <super-or-sub>...?|
+\end{decl}
+
+Creates a tensor. A few examples will be illustrative:
+\begin{sample}
+|?R_ij^kl_\alpha^\beta?| \> $?R_ij^kl_\alpha^\beta?$\\[2pt]
+|?R^ij_kl^\alpha_\beta?| \> $?R^ij_kl^\alpha_\beta?$\\[2pt]
+|?R**_ij^kl_\alpha^\beta?| \> $?R**_ij^kl_\alpha^\beta?$\\[2pt]
+|?R**^ij_kl^\alpha_\beta?| \> $?R**^ij_kl^\alpha_\beta?$
+\end{sample}
+
+The following letters may be used in format:
+\begin{itemize}
+\item[\texttt{l}] Gaps to the left of the last index are filled with dots.
+\item[\texttt{r}] Gaps to the right of the first index are filled.
+\item[\texttt{e}] If there is no index (empty), gaps are filled.
+\item[\texttt{b}] Only gaps in subscripts are filled.
+\end{itemize}
+(There are further options to set the vertical spacing.)
+\begin{sample}
+|?[]f\prime_ij^kl?| \> $?[]f\prime_ij^kl?$\\[2pt]
+|?[e]f^ij?| \> $?[e]f^ij?$ \\[2pt]
+|?[l]f*_ij^kl?| \> $?[l]f*_ij^kl?$\\[2pt]
+\end{sample}
+
+Please, typeset \verb|tensind.tex| for further details.
+
+\section{Babeltools}
+
+This package fixes some babel annoyances. With it, you can decide
+which shorthands are used or even cancel the mechanism altogether.
+You can prevent config files to be loaded, and citation and cross
+reference macros to be redefined, too.
+
+\section{Subdocs}
+
+This is a tentative package aiming to provide a different approach for
+multidocument works (mainly, books with a document per chapter).
+Unlike the \verb|\include| mechanism, every subdocument is a complete
+normal \LaTeX{} document and can be typeset separately. What the
+package does is sharing the \texttt{aux} files. It's still an alpha version,
+and no attempt has been done yet to make it to work with, say,
+\textsf{hyperref}.
+
+This approach has the following advantages: 1) packages can be loaded
+just when a part requires them; 2) generated pdf/dvi/ps files are
+kept.
+
+You need a master tex file containing a \verb|\subdocuments| command
+listing the files. With an optional argument you can set its
+behaviour:
+\begin{sample}
+|\subdocuments[clear=double]{file1, file2, file3}|
+\end{sample}
+
+The option \texttt{clear=double} adds an empty page at the end to give
+a even number of pages. \texttt{clear=single} doesn't and it's the
+default. Spaces and new lines before and after commas are ignored, as
+well as empty items. It relies on the \textsf{keyval} package, so
+names containing \texttt{=} must be given within braces. This file
+can be used as a shared preample, with common settings for all the
+documents.
+
+Documents must have the folowing line just after \verb|\documentclass|:
+\begin{sample}
+|\usepackage[master]{subdocs}|
+\end{sample}
+where \texttt{master} is the name of the file described above.
+
+Since every subdocument reads all the aux files, \verb|\tableofcontents|
+may be used where desired.
+
+
+\section{Dotlessi}
+
+This package defines two commands: \verb|\dotlessi| and
+\verb|\dotlessj|, which give you access to dotless i's and j's in math
+mode. They are intended for symbols in non English languages. If the
+default math font is used, they are equivalent to \verb|\imath| and
+\verb|\jmath|; if a different font is used (like \verb|\mathrm|,
+\verb|\mathbf|, \verb|\mathsf|) these commands look in the
+corresponding font tables to find their codes. In text mode, they
+expand to \verb|\i| and \verb|\j|. For example:
+\begin{sample}
+|f_{\mathrm{m\acute{\dotlessi}n}}| \>
+$f_{\mathrm{m\acute{\dotlessi}n}}$
+\end{sample}
+
+
+\section{Checkend}
+
+When an environment is left open, \LaTeX{} gives an error at the end
+of the document. However it only informs about the first of them,
+while the rest are shown with meaningless errors:
+\begin{verbatim}
+(\end occurred inside a group at level N)
+\end{verbatim}
+
+This package replaces them with more useful messages
+which show which environments (in reverse order) were
+not closed.
+
+That's all. There are no user macros. Just load the package.
+
+\section{Arabicfront}
+
+This package modifies the definitions of \verb|\frontmatter| and
+\verb|\mainmatter| so that page numbering starts in arabic style from the
+front matter while preserving the rest of the original definitions.
+For it to work, \verb|\pagenumbering| has to be inside these macros --
+most of classes do that, but there are exceptions like
+\textsf{memoir}.
+
+To use it, just \verb|\usepackage{arabicfront}|.
+
+% \section{Esbst}
+%
+% This file was formerly included in the Spanish style for
+% babel but from version 5.0 on (not yet released) it will
+% be a separate package.
+
+\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/bezos/esindex.pdf b/Master/texmf-dist/doc/latex/bezos/esindex.pdf
new file mode 100644
index 00000000000..efcc34f878f
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/bezos/esindex.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/bezos/esindex.tex b/Master/texmf-dist/doc/latex/bezos/esindex.tex
new file mode 100644
index 00000000000..6e042442913
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/bezos/esindex.tex
@@ -0,0 +1,179 @@
+% +--------------------------------------------------+
+% | Typeset this file to get the documentation. |
+% +--------------------------------------------------+
+%
+%% Copyright (C) 1998-2004, 2006, 2008 Javier Bezos
+%% All Rights Reserved
+%% http://www.tex-tipografia.com
+%%
+%% 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 2003/12/01 or later.
+%%
+%% This work has the LPPL maintenance status "maintained".
+%%
+%% This Current Maintainer of this work is Javier Bezos.
+%%
+%% This work consists of the files esindex.tex and esindex.sty.
+
+\documentclass{article}
+\usepackage[spanish,activeacute]{babel}
+\spanishdatedel
+\usepackage[cp1252]{inputenc}
+
+\title{Paquete \textsf{esindex}\footnote{Este
+ archivo est\'a actualmente en la versi\'on 1.4
+ con fecha 2008-09-28.
+ Esta copia del manual se compuso el~\today.}}
+
+ \author{Javier Bezos\footnote{Para comentarios y sugerencias:
+\texttt{http://www.tex-tipografia.com}.}}
+
+\raggedright
+\parskip=1ex
+
+\date{2008-09-28}
+
+\begin{document}
+
+\maketitle
+
+This package defines the command \verb|\esindex| which
+easies writing Spanish index entries:
+\begin{verbatim}
+\esindex{cañón}
+\end{verbatim}
+is equivalent to
+\begin{verbatim}
+\index{can^^ffon@cañón}
+\end{verbatim}
+Since it is an especifically Spanish tool, the documentation
+is in Spanish.
+
+\vspace*{1pc}
+
+Este paquete ha sido dise'nado para facilitar la escritura
+de 'indices correctamente alfabetizados en castellano. Su principal orden es
+\verb|\esindex| que convierte a una forma adecuada su argumento.
+As'i por ejemplo,
+\begin{verbatim}
+\esindex{cañón}
+\end{verbatim}
+equivale a
+\begin{verbatim}
+\index{can^^ffon@cañón}
+\end{verbatim}
+No es necesario usar \textsf{babel} salvo, l'ogicamente, si los acentos
+est'an escritos en forma de abreviaciones (\verb|'a|, \verb|'e|, etc.)
+en lugar de con los caracteres reales. En este 'ultimo caso, el paquete
+utiliza ciertas 'ordenes internas de \textsf{babel} por lo que no
+puedo garantizar su funcionamiento correcto con versiones distintas a
+las 3.6 a 3.8. En caso de que \textsf{esindex} sea incompatible con
+futuras versiones de \textsf{babel} intentar'e adaptarlo en el menor
+tiempo posible.
+
+Salvo el car'acter \verb|actual| (normalmente \verb|@|) se pueden usar
+todos los caracteres especiales de \textit{MakeIndex}. Se pueden usar
+convenciones diferentes a las normales, pero en este caso hacen falta
+ajustes adicionales en caso de que los modificados sean \verb|actual|,
+\verb|encap|, \verb|level| o \verb|quote|. En ese caso basta con
+indicar los caracteres que hay que usar como opciones de paquete. Por
+ejemplo, si para \verb|quote| decidimos usar \verb|$| en nuestro
+archivo \verb|.ist| particular, tendr'iamos que llamar al paquete del
+siguiente modo:
+\begin{verbatim}
+\usepackage[quote=$]{esindex}
+\end{verbatim}
+
+Es importante observar que, a diferencia de la opci'on para alem'an de
+\textit{MakeIndex}, el uso de \verb|"| en abreviaciones como \verb|"u|
+es completamente leg'itimo, ya que el paquete reconoce tal
+combinaci'on y la trata aparte. Lo mismo vale para \verb|'| o
+\verb|~| en caso de que se usaran como car'acter especial. Es decir
+\begin{verbatim}
+\esindex{{"!`}Cig"ue'nas{"!}|textbf}
+\end{verbatim}
+equivale a
+\begin{verbatim}
+\index{{"!`}Ciguen^^ffas{"!}@{"!`}Cig\"ue\~nas{"!}|textbf}
+\end{verbatim}
+
+Sin embargo, el uso del car'acter \verb|quote| ante \verb|encap| o
+\verb|level| no se detecta a menos que el grupo est'e encerrado entre
+llaves. Por ejemplo, en lugar de \verb/\esindex{Pleca: "|}/ debe
+escribirse \verb/\esindex{Pleca: {"|}}/. (En realidad en este caso
+podr'ia haberse usado \verb|\index|. Es tan s'olo un ejemplo.)
+
+Aunque el hecho de que \verb|@| no se pueda usar en \verb|\esindex|
+hace que todav'ia algunas entradas se tengan que hacer <<a mano>>,
+la mayor parte del trabajo se ve considerablemente simplificado.
+
+Finalmente, hay que se'nalar que con este paquete no se crea en el
+'indice una entrada propia para la palabras que empiezan por e'ne,
+sino que tan s'olo se a'naden al final de la ene. En el rar'isimo
+caso de que hubiera palabras que empiezan por e'ne habria que
+modificar el archivo \verb|.ind| a mano.
+
+% La versión 1.2 corrige la supresión incorrecta de acentos en los
+% primeros niveles si había más de uno.
+
+La versión 1.3 elimina una incompatibilidad con recientes versiones
+de \LaTeX{} y añade nuevas funciones:
+\begin{itemize}
+\item Opción de paquete \verb|ignorespaces|: al formar la clave de
+ordenación se suprimen los espacios, de forma que:
+$$\mbox{adentro} < \mbox{a donde} < \mbox{adonde}.$$
+\item Opción de paquete \verb|replaceindex|: el comportamiento de
+\verb|\index| se reemplaza por el de \verb|\esindex|, aunque en este
+caso no es posible introducir entradas que no se adapten a lo
+requerido por \verb|\esindex|.
+\item La orden \verb|\ignorewords| da
+una lista de palabras separadas por comas que no se cuentan en la
+ordenación. Por ejemplo, con \verb|\ignorewords{de}| tendríamos:
+$$\mbox{pino albar} < \mbox{pino laricio} < \mbox{pino de montaña}.$$
+Distingue la caja, por lo que las formas con mayúsculas hay que darlas
+explícitamente, si hicieran falta.
+\end{itemize}
+
+La versión 1.4 elimina un pequeño bicho con \verb|"U| y añade nuevas
+funciones:
+\begin{itemize}
+\item La lista de tókenes \verb|\everyesindex| permite dar definiciones
+locales para establecer el comportamiento de otras órdenes. Por
+ejemplo:
+\begin{verbatim}
+\everyesindex{\renewcommand\emph[1]{#1}}
+\end{verbatim}
+elimina de la clave esa orden. Con:
+\begin{verbatim}
+\everyesindex{\renewcommand\emph[1]{#1'}}
+\end{verbatim}
+la entrada en cursiva iría detrás de la redonda, si la hubiera. Es
+una técnica que se puede emplear en otros casos para reajustar el
+orden de entradas idénticas.
+\item La orden \verb|\esindexsort| permite predefinir claves asociadas
+a entradas concretas, para ajustar su ordenación (lo que normalmente
+se consigue añadiendo texto adicional para que makeindex lo tenga en
+cuenta). Estas correspondencias deben darse antes de la aparición del
+primer \verb|\esindex| con ese término, y las claves se procesan
+posteriormente con \verb|ignorespaces|, \verb|\ignorewords| y
+\verb|\everyesindex|, si están activadas.
+Por ejemplo:
+\begin{verbatim}
+\esindexsort{adonde}{adonde'1}
+\esindexsort{adónde}{adonde'2}
+\esindexsort{a donde}{a donde'7}
+\esindexsort{a dónde}{a donde'8}
+\end{verbatim}
+daría el orden \emph{adonde, adónde, a donde, a dónde}, con
+\verb|ignorespaces|, o bien \emph{a donde, a dónde,} [probablemente
+otros términos], \emph{adonde, adónde}, sin \verb|ignorespaces|.
+\end{itemize}
+
+
+
+\end{document}
diff --git a/Master/texmf-dist/doc/latex/bezos/tensind.pdf b/Master/texmf-dist/doc/latex/bezos/tensind.pdf
new file mode 100644
index 00000000000..49b46c7f037
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/bezos/tensind.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/bezos/tensind.tex b/Master/texmf-dist/doc/latex/bezos/tensind.tex
new file mode 100644
index 00000000000..79c26f395f8
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/bezos/tensind.tex
@@ -0,0 +1,194 @@
+% +--------------------------------------------------+
+% | Typeset this file to get the documentation. |
+% +--------------------------------------------------+
+%
+% This file is copyrighted (c) 1998, 2000 by Javier Bezos.
+% All Rights Reserved.
+%
+% This program can be redistributed and/or modified under the terms
+% of the LaTeX Project Public License Distributed from CTAN
+% archives in directory macros/latex/base/lppl.txt; either
+% version 1 of the License, or any later version.
+
+\def\fileversion{1.0}
+\def\docdate{August 7, 2000}
+
+\documentclass{ltxguide}
+\usepackage{tensind}
+
+\title{The \textsf{tensind} Package for
+Tensorial Indexes\footnote{This
+package is currently at version 1.0.}}
+
+\author{Javier Bezos\footnote{For bug reports, comments and
+suggestions go to
+\texttt{http://www.tex-tipografia.com}.
+English is not my strong point, so contact me when you
+find mistakes in the manual. Other packages by the same author:
+\textsf{accents, titlesec, dotlessi}.}}
+
+\date{\docdate}
+
+\newenvironment{sample}{\begin{quote}\small\begin{tabbing}%
+ \hskip12pc\=\hskip6pc\\}
+ {\end{tabbing}\end{quote}}
+
+\tensordelimiter{?}
+\tensorformat{lrb}
+
+\raggedright
+
+\begin{document}
+
+\maketitle
+
+This package provides typographically fine tensorial notation, with the
+following features:
+\begin{itemize}
+\item Dots filling gaps.
+\item Symbol subtitution to easy typing (if you are using greek letters, for
+example).
+\item Corrected position of indexes: horizontally, to compensate the small
+displacement in letters
+like $f$ (look carefully at $f_*^*$) and vertically, to avoid superscripts
+too raised.
+\item Aditional minute corrections are also allowed.
+\end{itemize}
+
+\section{User Interface}
+
+\begin{decl}
+|\tensordelimiter{<tensor-delim>}|
+\end{decl}
+
+Defines |<tensor-delim>| to be a tensor delimiter. In subsequent examples we will
+assume
+\begin{verbatim}
+\tensordelimiter{?}
+\end{verbatim}
+and every instance of |?| will actually mean |<tensor-delim>|.
+
+\begin{decl}
+|?[<format>]{<nucleous>}{<special-index>}{<special-index>}...|\\
+| <super-or-sub><super-or-sub>...?|
+\end{decl}
+
+Creates a tensor. |<super-or-sub>| is either |_{<index>}{<index>}...| or
+|^{<index>}{<index>}|.
+|<nucleous>| is the symbol which indexes will be add to. |<special-index>| is a
+superscript which is neither covariant nor contravariant (dual,
+prime...). In
+one-letter |<index>|, |<special-index>| or |<nucleous>|, curly braces can be
+omitted.
+For example:
+\begin{sample}
+|?R_ij^kl_\alpha^\beta?| \> $?R_ij^kl_\alpha^\beta?$\\[2pt]
+|?R^ij_kl^\alpha_\beta?| \> $?R^ij_kl^\alpha_\beta?$\\[2pt]
+|?R**_ij^kl_\alpha^\beta?| \> $?R**_ij^kl_\alpha^\beta?$\\[2pt]
+|?R**^ij_kl^\alpha_\beta?| \> $?R**^ij_kl^\alpha_\beta?$
+\end{sample}
+
+(\emph{Don't forget the closing |?|!})
+Finally, |<format>| changes the format in a tensor. (See |\tensorformat|
+below.)
+
+\begin{decl}
+|\tensorformat{<format>}|
+\end{decl}
+
+The following letter may be used in format.
+\begin{itemize}
+\item[\texttt{l}] Gaps to the left of the last index are filled with dots.
+\item[\texttt{r}] Gaps to the right of the first index are filled.
+\item[\texttt{e}] If there is no index (empty), gaps are filled.
+\item[\texttt{b}] Only gaps in subscripts are filled.
+\end{itemize}
+
+Sensible settings are: none (no dots), |l| and |lrb|.
+Further options are:
+\begin{itemize}
+\item[\texttt{c}] Brings index lines closer.
+\item[\texttt{o}] Opens index lines.
+\item[\texttt{s}] Styled. |o| in display style and |c| otherwise.
+\end{itemize}
+These options are mutually exclusive. If none of them is
+used, then indexes behave in a similar way to standard ones.
+This document sets
+\begin{verbatim}
+\tensorformat{lrb}
+\end{verbatim}
+
+\begin{sample}
+|?[]f\prime_ij^kl?| \> $?[]f\prime_ij^kl?$\\[2pt]
+|?[e]f^ij?| \> $?[e]f^ij?$ \\[2pt]
+|?[l]f*_ij^kl?| \> $?[l]f*_ij^kl?$\\[2pt]
+|?[c]R^ij_kl?| \> $?[c]R^ij_kl?$
+\end{sample}
+
+\begin{decl}
+|\indexdot|
+\end{decl}
+
+This macro is the index dot. Defined to |\cdot|. You can
+redefine it with |\renewcommand|.
+
+\begin{decl}
+|\whenindex{<index>}{<new-index>}{<commands>}|
+\end{decl}
+
+Automatically replaces |<index>| (if not enclosed in braces)
+by |<new-index>| and the additional |<commands>| are
+executed. For example, if you like to use greek indexes:
+\begin{verbatim}
+\whenindex{a}{\alpha}{}
+\whenindex{b}{\beta}{}
+\whenindex{g}{\gamma}{}
+\end{verbatim}
+
+\whenindex{a}{\alpha}{}
+\whenindex{b}{\beta}{}
+\whenindex{g}{\gamma}{
+}
+A |\whenindex{'}{\prime}{}| is performed by the package. For instance
+\begin{sample}
+|?R'_ijk^abg?| \> $?R'_ijk^abg?$
+\end{sample}
+
+In |<commands>|, two command for space fine-tuning are provided:
+|\sbadjust{<index>}{<comma-space>}| adds |<comma-space>| times
+|\,| before the current subscript index if the last superscript index
+was |<index>|. Similarly, |\spadjust| adds the space before the current
+superscript index if the last subscript index was |<index>|.
+For instance, the normal result of |?[]R^ik_lm?| is $?[]R^ij_kl?$, but
+with
+\begin{verbatim}
+\whenindex{k}{k}{\sbadjust{j}{-1}}
+\end{verbatim}
+\whenindex{k}{k}{\sbadjust{j}{-1}}
+is $?[]R^ij_kl?$.
+These commands will be ignored if dots are used.
+
+Two further command allowed in |\whenindex|
+are: |\omitdot| omits the dot for the current
+index, and |\finishdots| omits as well all subsequent indexes.
+For example
+\begin{verbatim}
+\whenindex{;}{\,;\,}{\finishdots}
+\end{verbatim}
+\whenindex{;}{\,;\,}{\finishdots}
+
+\begin{sample}
+|?[lr]A*_i^kl;i?| \> $?[lr]A*_i^kl;i?$
+\end{sample}
+
+\begin{decl}
+|tensor|
+\end{decl}
+
+The environment called by |?...?|. Useful if for some reason you
+don't want an equivalent defined with |\tensordelimiter| . Example:
+\begin{verbatim}
+\begin{tensor}[lr]A*_i^kl;i\end{tensor}
+\end{verbatim}
+
+\end{document}
diff --git a/Master/texmf-dist/tex/latex/bezos/accents.sty b/Master/texmf-dist/tex/latex/bezos/accents.sty
new file mode 100644
index 00000000000..d44b535b995
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/bezos/accents.sty
@@ -0,0 +1,281 @@
+% +--------------------------------------------------+
+% | Typeset accents.tex to get the documentation. |
+% +--------------------------------------------------+
+%
+%% Copyright (C) 1998, 1999, 2000, 2006 Javier Bezos
+%% All Rights Reserved
+%% http://www.tex-tipografia.com
+%%
+%% 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 2003/12/01 or later.
+%%
+%% This work has the LPPL maintenance status "maintained".
+%%
+%% This Current Maintainer of this work is Javier Bezos.
+%%
+%% This work consists of the files accents.tex and accents.sty.
+%
+% Changes
+% ~~~~~~~
+%
+% 2006-05-12. TeX converts to ord any symbol with a math accent.
+% Accents now emulates this behaviour with braces around the
+% nucleous; otherwise, the original category is preserved and
+% the accents could look misaligned. (Reported by Viet-TrungLuu.)
+%
+% Release
+% ~~~~~~~
+
+\ProvidesPackage{accents}[2006/05/12 v1.3 Math Accent Tools]
+
+\let\cc@palette\mathpalette
+
+\DeclareOption{nonscript}
+ {\renewcommand\cc@palette[2]{#1\textstyle{#2}}}
+
+\DeclareOption{single}
+ {\renewcommand\cc@accent[1]{\mathaccent#1}}
+
+\newdimen\cc@skew
+\newdimen\cc@wd
+
+\newcount\cc@code
+\newcount\cc@group
+\newcount\cc@skewchar
+
+\newif\ifcc@more
+
+% Code for real accents
+% ~~~~~~~~~~~~~~~~~~~~~
+
+\def\cc@accent#1#2{%
+ \begingroup
+ \cc@code=#1\relax
+ \let\math@bgroup\@empty
+ \def\math@egroup##1{\cc@setchar##1}%
+ \cc@palette\cc@@accent{#2}%
+ {\cc@nuc}%
+ \endgroup}
+
+\def\cc@iaccent#1#2{%
+ \cc@fetch{#2}%
+ \mathaccent#1{%
+ \ifcc@more#2\else
+ \cc@phant{#2}%
+ \gdef\cc@nuc{#2}%
+ \fi
+ \kern\cc@skew}%
+ \kern-\cc@skew}%
+
+\def\cc@@accent#1#2{%
+ \let\cc@style=#1%
+ \cc@fetch{#2}%
+ \mathaccent\cc@code{%
+ \ifcc@more#2\else
+ \cc@phant{#2}%
+ \gdef\cc@nuc{#2}%
+ \fi
+ \kern\cc@skew}%
+ \kern-\cc@skew
+ \kern\cc@wd}%
+
+% The accents are redefined:
+
+\begingroup
+
+\def\mathaccentV#1{\string"\noexpand\accentclass@}%
+\let\protect\@empty
+\let\mathaccent\@empty
+
+\def\cc@set#1{%
+ \xdef#1{\noexpand\protect\noexpand\cc@accent{#1}}}
+
+\cc@set\grave %{\protect\cc@accent{"7012\relax}}
+\cc@set\acute %{\protect\cc@accent{"7013\relax}}
+\cc@set\check %{\protect\cc@accent{"7014\relax}}
+\cc@set\breve %{\protect\cc@accent{"7015\relax}}
+\cc@set\bar %{\protect\cc@accent{"7016\relax}}
+\cc@set\hat %{\protect\cc@accent{"705E\relax}}
+\cc@set\dot %{\protect\cc@accent{"705F\relax}}
+\cc@set\tilde %{\protect\cc@accent{"707E\relax}}
+\cc@set\ddot %{\protect\cc@accent{"707F\relax}}
+\cc@set\vec %{\protect\cc@accent{"017E\relax}}
+\gdef\ring{\protect\cc@accent{"7017\relax}}
+
+\@ifundefined{mathring}{}{\cc@set\mathring}
+
+\endgroup
+
+% Faked accents
+% ~~~~~~~~~~~~~
+
+\newcommand\accentset[2]{%
+ \begingroup
+ \def\cc@a{#1}%
+ \let\math@bgroup\@empty
+ \def\math@egroup##1{\cc@setchar##1}%
+ \cc@palette\cc@accentset{#2}%
+ {\cc@nuc}%
+ \endgroup}
+
+\def\cc@accentset#1#2{%
+ \let\cc@style#1%
+ \cc@fetch{#2}%
+ \sbox\z@{$\m@th\cc@style\mathgroup\cc@group
+ \ifcc@more#2\else\cc@phant{#2}%
+ \gdef\cc@nuc{#2}\fi$}%
+ \cc@align{%
+ \hidewidth\kern\cc@skew
+ $\m@th\scriptscriptstyle\mathgroup\cc@group\cc@a$%
+ \hidewidth\cr{\box\z@}}%
+ \kern\cc@wd}%
+
+\def\cc@iaccentset#1#2{%
+ \cc@fetch{#2}%
+ \sbox\z@{$\m@th\cc@style\ifcc@more#2\else\cc@phant{#2}%
+ \gdef\cc@nuc{#2}\fi$}%
+ \cc@align{%
+ \hidewidth\kern\cc@skew
+ $\m@th\scriptscriptstyle#1$\hidewidth\cr
+ {\box\z@}}}%
+
+\def\cc@align#1{%
+ \vbox{%
+ \baselineskip\z@skip
+ \lineskip.25ex
+ \ialign{##\crcr#1\crcr}}}
+
+% Shared by real and faked accents
+% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+\def\cc@phant#1{%
+ \v@true\h@true
+ \finph@nt}% with \box0 from \cc@fetch
+
+\def\cc@setchar{%
+ \cc@skewchar\ifnum\mathgroup=\m@ne
+ \skewchar\textfont\@ne
+ \else\ifnum\skewchar\textfont\mathgroup=\m@ne
+ \skewchar\textfont\@ne
+ \else\skewchar\textfont\mathgroup\fi\fi
+ \advance\cc@skewchar"7100 }
+
+\def\cc@fetch#1{%
+ \cc@group=\the\mathgroup
+ \let\cc@accent\@gobble
+ \let\accentset\@gobble
+ \sbox\z@{$\m@th\mathgroup\cc@group\cc@setchar
+ \cc@style#1{}\mathchar\cc@skewchar$}%
+ \sbox\@ne{$\m@th\mathgroup\cc@group\cc@setchar
+ \cc@style#1\mathchar\cc@skewchar$}%
+ \cc@morefalse
+ \def\cc@accent##1{\global\cc@moretrue}%
+ \def\accentset##1{\global\cc@moretrue}%
+ \global\cc@skew2\wd\@ne
+ \global\advance\cc@skew-2\wd\z@
+ \sbox\z@{$\m@th\mathgroup\cc@group\cc@style#1$}%
+ \global\cc@wd-\wd\z@
+ \let\cc@accent\cc@iaccent
+ \let\accentset\cc@iaccentset}
+
+% Two useful faked accents
+% ~~~~~~~~~~~~~~~~~~~~~~~~
+
+\def\dddot{\accentset{{\cc@style.\mkern-1.7mu\textstyle.\mkern-1.7mu.}}}
+\def\ddddot{\accentset{{\cc@style.\mkern-2.1mu.\mkern-2.1mu.\mkern-2.1mu.}}}
+
+% Underaccents
+% ~~~~~~~~~~~~
+
+\newcommand\underaccent[2]{%
+ \begingroup
+ \def\cc@a{#2}% Stores the nucleous...
+ \cc@palette\cc@underaccent{#1}% ...and the accent is passed
+ #2%
+ \endgroup}%
+
+\def\cc@underaccent#1#2{%
+ \let\cc@style#1%
+ \expandafter\in@\expandafter\cc@accent\expandafter{#2}%
+ \ifin@
+ \expandafter\cc@uaccent#2\@@%
+ \else
+ \cc@uaccentset{#2}%
+ \fi}
+
+\def\cc@uaccent#1#2#3\@@{% #1 and #2 gobbles \protect\cc@accent
+ \cc@under{%
+ \vbox to.2ex{%
+ \hbox{%
+ $\m@th
+ \cc@style
+ \mathgroup\cc@group
+ \cc@shift
+ \mathchar#3$}%
+ \vss}}}
+
+\def\cc@uaccentset#1{%
+ \cc@under{%
+ \hbox{%
+ $\m@th
+ \cc@style
+ \mathgroup\cc@group
+ \cc@shift
+ \scriptscriptstyle#1$}}}
+
+\def\cc@under#1{%
+ \cc@group\the\mathgroup
+ \sbox\z@{$\m@th\cc@style\mathgroup\cc@group\cc@a$}%
+ \sbox\tw@{$\scriptspace\z@\m@th\cc@style\mathgroup\cc@group\cc@a_{}$}%
+ \rlap{%
+ \oalign{%
+ \vrule \@depth\dp\z@ \@width\z@
+ \kern\wd\tw@
+ \crcr
+ \hidewidth#1\hidewidth}}}
+
+\def\cc@shift{%
+ \dimen@=-.000008ex
+ \multiply\dimen@\ifnum\mathgroup=\m@ne
+ \fontdimen\@ne\textfont\@ne
+ \else
+ \fontdimen\@ne\textfont\cc@group\fi
+ \kern\dimen@}
+
+% And \undertilde
+% ~~~~~~~~~~~~~~~
+
+\newcommand\undertilde{\cc@palette\cc@undertilde}
+
+\def\cc@undertilde#1#2{%
+ \cc@group\the\mathgroup
+ \sbox\z@{$\m@th\mathgroup\cc@group#1#2$}%
+ \oalign{%
+ $\m@th\mathgroup\cc@group#1#2$%
+ \crcr
+ \hidewidth
+ \vbox to.5ex{%
+ \hbox{%
+ $\hss
+ #1%
+ \mathgroup\cc@group
+ \widetilde{\hbox to\wd\z@{\hss}}%
+ \hss$}%
+ \vss}%
+ \hidewidth}}
+
+% The following command is used by \DeclareMathAccent
+% and it's the only part requiring modification
+
+\def\set@mathaccent#1#2#3#4{%
+ \xdef#2{\noexpand\protect\noexpand\cc@accent
+ {"\mathchar@type#3\hexnumber@#1#4\relax}}}
+
+\ProcessOptions
+
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/bezos/arabicfront.sty b/Master/texmf-dist/tex/latex/bezos/arabicfront.sty
new file mode 100644
index 00000000000..1748dfb5fcc
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/bezos/arabicfront.sty
@@ -0,0 +1,60 @@
+% +--------------------------------------------------+
+% | Documentation in clear text follows |
+% +--------------------------------------------------+
+%
+%% Copyright (C) 2006 Javier Bezos
+%% All Rights Reserved
+%% http://www.tex-tipografia.com
+%%
+%% 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 2003/12/01 or later.
+%%
+%% This work has the LPPL maintenance status "maintained".
+%%
+%% This Current Maintainer of this work is Javier Bezos.
+%%
+%% This work consists of this file.
+%
+% Usage
+% ~~~~~
+%
+% This package modifies the definitions of \frontmatter and
+% \mainmatter so that page numbering starts in arabic style from the
+% front matter while preserving the rest of the original definitions.
+% For it to work, \pagenumbering has to be inside these macros -- most
+% of classes do that, but there are exceptions like memoir.
+%
+% To use it, just \usepackage{arabicfront}.
+%
+% Code
+% ~~~~
+
+\def\fileversion{1.0}
+\def\filedate{2006/09/03}
+
+\ProvidesPackage{arabicfront}[2006/09/03 v1.0 Arabic page numbering]
+
+\def\arfr@rep#1\@@\@@#2#3{%
+ \in@{\pagenumbering}{#1}%
+ \ifin@
+ #2#1\@@\@@
+ \else
+ \PackageWarningNoLine{arabicfront}%
+ {Skipping \string#3 -- no \string\pagenumbering}%
+ \fi}
+
+\def\arfr@front#1\pagenumbering#2#3\@@\@@{%
+ \renewcommand\frontmatter{#1\pagenumbering{arabic}#3}}
+
+\def\arfr@main#1\pagenumbering#2#3\@@\@@{%
+ \renewcommand\mainmatter{#1#3}}
+
+\expandafter\arfr@rep\mainmatter\@@\@@\arfr@main\mainmatter
+\expandafter\arfr@rep\frontmatter\@@\@@\arfr@front\frontmatter
+
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/bezos/checkend.sty b/Master/texmf-dist/tex/latex/bezos/checkend.sty
new file mode 100644
index 00000000000..87b71517555
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/bezos/checkend.sty
@@ -0,0 +1,55 @@
+% +--------------------------------------------------+
+% | Documentation in clear text follows |
+% +--------------------------------------------------+
+%
+% (c) 2002 Javier Bezos. All Rights Reserved.
+%
+% This file can be redistributed and/or modified under the terms
+% of the LaTeX Project Public License Distributed from CTAN
+% archives in directory macros/latex/base/lppl.txt; either
+% version 1 of the License, or any later version.
+%
+%
+% Usage
+% ~~~~~
+% When an environment is left open, LaTeX gives an error at the
+% end of the document. However it only informs about the first
+% of them, while the rest are shown with meaningless errors:
+%
+% (\end occurred inside a group at level N)
+%
+% This package replaces them with more useful messages
+% which show which environments (in reverse order) were
+% not closed.
+%
+% That's all. There are no user macros. Just use the package.
+%
+% Code
+% ~~~~
+
+\def\fileversion{1.0}
+\def\filedate{2002/04/20}
+
+\ProvidesPackage{checkend}[2002/04/20 v1.0 Environment checking]
+
+\def\chkend@checkend{%
+ \def\@tempa{document}%
+ \ifx\@currenvir\@tempa
+ \else
+ \count@\errorcontextlines
+ \errorcontextlines\z@
+ \PackageError{checkend}{%
+ \@currenvir \@currenvline \space open at
+ \string\end{document}}%
+ {The package has detected an open environment at the
+ end\MessageBreak
+ of the document}%
+ \errorcontextlines\count@
+ \csname end\@currenvir\endcsname
+ \endgroup
+ \chkend@checkend
+ \fi}
+
+\AtEndDocument{\chkend@checkend}
+
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/bezos/dotlessi.sty b/Master/texmf-dist/tex/latex/bezos/dotlessi.sty
new file mode 100644
index 00000000000..a2b646f9186
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/bezos/dotlessi.sty
@@ -0,0 +1,59 @@
+% +--------------------------------------------------+
+% | Documentation in clear text follows |
+% +--------------------------------------------------+
+%
+% (c) 1999 Javier Bezos. All Rights Reserved.
+%
+% This file can be redistributed and/or modified under the terms
+% of the LaTeX Project Public License Distributed from CTAN
+% archives in directory macros/latex/base/lppl.txt; either
+% version 1 of the License, or any later version.
+%
+%
+% Usage
+% ~~~~~
+% This package defines two commands: \dotlessi and \dotlessj, which give
+% you access to dotless i's and j's in math mode. They are intended for
+% symbols in non English languages.
+%
+% If the default math font is used, they are equivalent to \imath and
+% \jmath; if a different font is used (like \mathrm, \mathbf, \mathsf)
+% these commands look in the corresponding font tables to find their
+% codes. In text mode, they expand to \i and \j. For example:
+%
+% $f_{\mathrm{m\acute{\dotlessj}n}}$
+%
+% Code
+% ~~~~
+
+\def\fileversion{1.0}
+\def\filedate{1999/10/12}
+
+\ProvidesPackage{dotlessi}[1999/10/12 v1.0 Dotless i/j for Math]
+
+\expandafter\def\expandafter\@uclclist\expandafter
+ {\@uclclist\dotlessi\i\dotlessj\j}
+
+\def\dotl@make#1#2{%
+ \ifmmode
+ {\ifnum\mathgroup=\m@ne
+ #2%
+ \else
+ \count@\escapechar \escapechar=\m@ne
+ \expandafter\expandafter\expandafter
+ \split@name\expandafter\string\the\textfont\mathgroup\@nil
+ \escapechar=\count@
+ \@ifundefined{\f@encoding\string#1}%
+ {\edef\f@encoding{\string?}}{}%
+ \expandafter\count@\the\csname\f@encoding\string#1\endcsname
+ \advance\count@"7000
+ \mathchar\count@
+ \fi}%
+ \else
+ #1%
+ \fi}
+
+\DeclareRobustCommand\dotlessi{\dotl@make\i\imath}
+\DeclareRobustCommand\dotlessj{\dotl@make\j\jmath}
+
+\endinput
diff --git a/Master/texmf-dist/tex/latex/bezos/esindex.sty b/Master/texmf-dist/tex/latex/bezos/esindex.sty
new file mode 100644
index 00000000000..3b2d61e02c0
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/bezos/esindex.sty
@@ -0,0 +1,204 @@
+% +--------------------------------------------------+
+% | Typeset ensindex.tex to get the documentation. |
+% +--------------------------------------------------+
+%
+%% Copyright (C) 1998-2004, 2006, 2008 Javier Bezos
+%% All Rights Reserved
+%% http://www.tex-tipografia.com
+%%
+%% 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 2003/12/01 or later.
+%%
+%% This work has the LPPL maintenance status "maintained".
+%%
+%% This Current Maintainer of this work is Javier Bezos.
+%%
+%% This work consists of the files esindex.tex and esindex.sty.
+
+% Changes
+%
+% 2006-05-12. Bug fixed. Missing accents in multilevel entries.
+% 2008-09-17. Made compatible with latest LaTeX versions (\IeC).
+% Added \'\i.
+% Package option ignorespaces.
+% Macro \ignorewords.
+% 2008-09-28. Added \everyesindex.
+% Macro \esindexsort.
+
+\ProvidesPackage{esindex}[2008/09/28 v1.4 Spanish indexes]
+
+\def\esx@level{`\!}
+\def\esx@actual{`\@}
+\def\esx@encap{`\|}
+\def\esx@quote{`\"}
+
+\def\esx@error{\PackageError{esindex}{Unknown index parameter}%
+ {Except for ignorespaces and replaceindex, options^^J%
+ in this package ave the form parameter=value, where^^J%
+ parameter stands for of the following MakeIndex ones:^^J%
+ encap, level, actual, quote}}
+
+\def\esx@process#1=#2\esx@process{%
+ \@ifundefined{esx@#1}{\esx@error}{%
+ \expandafter\edef\csname esx@#1\endcsname
+ {\string`\expandafter\noexpand\csname\string#2\endcsname}}}
+
+\DeclareOption*{%
+ \@expandtwoargs\in@{=}{\CurrentOption}%
+ \ifin@
+ \expandafter\esx@process\CurrentOption\esx@process
+ \else
+ \def\esx@a{ignorespaces}
+ \ifx\esx@a\CurrentOption
+ \def\esx@zapspace#1\esx@zapspace{\zap@space#1 \@empty}%
+ \else\def\esx@a{replaceindex}
+ \ifx\esx@a\CurrentOption
+ \AtBeginDocument{%
+ \let\esx@trueindex\index
+ \let\index\esindex}
+ \else
+ \esx@error
+ \fi
+ \fi
+ \fi}
+
+\let\esx@zapspace\@empty
+\def\esx@trueindex{\index}
+
+\ProcessOptions
+
+\begingroup
+
+\catcode`\|=\catcode\esx@encap \lccode`\|=\esx@encap\relax
+\catcode`\!=\catcode\esx@level \lccode`\!=\esx@level\relax
+\catcode`\&=\catcode\esx@actual \lccode`\&=\esx@actual\relax
+\catcode`\*=13 \lccode`\*=\esx@quote\relax
+
+\catcode`\'=13
+\catcode`\"=13
+\catcode`\~=13
+
+\gdef\esindex#1#{\esx@index{#1}}
+
+\lowercase{
+\gdef\esx@index#1#2{%
+ \let\esx@g\@empty
+ \esx@bar@idx#2|\@@
+ \expandafter\esx@@index\esx@b!\@@
+ \toks@\expandafter{\esx@g}%
+ \protected@edef\esx@g{\noexpand\esx@trueindex#1{\the\toks@\esx@a}}%
+ \esx@g}
+}
+
+\lowercase{
+\gdef\esx@bar@idx#1|#2\@@{%
+ \def\esx@b{#1}\def\esx@a{#2}%
+ \ifx\esx@a\@empty\else\esx@bar@eat#2\fi}
+}
+
+\lowercase{
+\gdef\esx@bar@eat#1|{\def\esx@a{|#1}}
+}
+
+\lowercase{
+\gdef\esx@@index#1!#2\@@{%
+ \begingroup
+ \let\IeC\@firstofone
+ \def\@tabacckludge##1{\csname\string##1\endcsname}%
+ \def\'##1{\@ifundefined{esx@index@q@\string##1}%
+ {##1}%
+ {\csname esx@index@q@\string##1\endcsname}}%
+ \ifnum\catcode`\'=\active
+ \let'\'%
+ \fi
+ \def\~##1{\string##1\string^^ff}%
+ \ifnum\catcode`\~=\active
+ \let~\~%
+ \fi
+ \def\"##1{\@ifundefined{esx@index@qq@\string##1}%
+ {\string"##1}%
+ {\csname esx@index@qq@\string##1\endcsname}}%
+ \ifnum\catcode`\"=\active
+ \let"\"%
+ \fi
+ \def\esx@a{#1}%
+ \@ifundefined{esx@sort@\expandafter\strip@prefix\meaning\esx@a}%
+ {\@temptokena{#1}}%
+ {\@temptokena\expandafter\expandafter\expandafter{%
+ \csname esx@sort@\expandafter\strip@prefix\meaning\esx@a\endcsname}}%
+ \the\everyesindex
+ % Particles
+ \@for\esx@a:=\esx@ignorewords\do{%
+ \expandafter\esx@remwords\expandafter{\esx@a}}%
+ \toks@\expandafter{\esx@g}%
+ % Adds @ and removes spaces.
+ \protected@xdef\esx@g{%
+ \the\toks@
+ \expandafter\esx@zapspace\the\@temptokena\esx@zapspace
+ \string &}%
+ \endgroup
+ \begingroup
+ \def*##1{% <- its lower case is the quote char (")
+ \ifcat##1a%
+ \@ifundefined{spanish@sh@\string*\string##1@}%
+ {\string*##1}%
+ {\string*\string*##1}%
+ \else
+ \string*\string##1%
+ \fi}%
+ \def\esx@b{#2}%
+ \toks@\expandafter{\esx@g}%
+ \ifx\esx@b\@empty
+ \protected@xdef\esx@g{\the\toks@#1}%
+ \else
+ \protected@xdef\esx@g{\the\toks@#1!}%
+ \esx@@index#2\@@
+ \fi
+ \endgroup}
+}
+\endgroup
+
+\def\ignorewords#1{%
+ \protected@edef\esx@ignorewords{\zap@space#1 \@empty}}
+
+\let\esx@ignorewords\@empty
+
+\def\esx@remwords#1{%
+ \def\esx@c##1 #1 \esx@c{\esx@a##1 #1 \esx@a}%
+ \def\esx@a##1 #1 ##2\esx@a{%
+ \ifx\@empty##2\@empty
+ \@firstofone##1##2%
+ \else
+ \@firstofone##1 \esx@c##2\esx@c
+ \fi}%
+ \expandafter\esx@remwords@ii\expandafter{\the\@temptokena}{#1}}%
+
+\def\esx@remwords@ii#1#2{%
+ \protected@xdef\esx@b{\expandafter\esx@a\space#1 #2 \esx@a}%
+ \@temptokena\expandafter{\esx@b}}
+
+\def\esindexsort#1{%
+ \def\esx@a{#1}%
+ \@namedef{esx@sort@\expandafter\strip@prefix\meaning\esx@a}}
+
+\newtoks\everyesindex
+
+\def\esx@index@q@n{n\string^^ff}
+\def\esx@index@q@N{N\string^^ff}
+\@namedef{esx@index@q@\string\i}{i}
+
+\def\esx@index@qq@o{.o}
+\def\esx@index@qq@O{.O}
+\def\esx@index@qq@a{.a}
+\def\esx@index@qq@A{.A}
+\def\esx@index@qq@u{u}
+\def\esx@index@qq@U{U}
+\def\esx@index@qq@c{c}
+\def\esx@index@qq@C{C}
+
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/bezos/subdocs.sty b/Master/texmf-dist/tex/latex/bezos/subdocs.sty
new file mode 100644
index 00000000000..374fab2a182
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/bezos/subdocs.sty
@@ -0,0 +1,152 @@
+% +--------------------------------------------------+
+% | Documentation in clear text follows |
+% +--------------------------------------------------+
+%
+%% Copyright (C) 2009 Javier Bezos
+%% All Rights Reserved
+%% http://www.tex-tipografia.com
+%%
+%% 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 2003/12/01 or later.
+%%
+%% This work has the LPPL maintenance status "maintained".
+%%
+%% This Current Maintainer of this work is Javier Bezos.
+%%
+%% This work consists of this file.
+%
+% Usage
+% ~~~~~
+%
+% This is a tentative package aiming to provide a different approach
+% for multidocument works (mainly, books with a document per chapter).
+% Unlike the \include mechanism, every subdocument is a complete LaTeX
+% document and can be typeset separately. What the package does is
+% sharing the aux files. It's still an alpha version, and no attempt
+% has been done yet to make it to work with, say, hyperref.
+%
+% This approach has the following advantages:
+% 1) Packages can be loaded just when a part requires them.
+% 2) Generated pdf/dvi/ps files are kept.
+%
+% You need a driver tex file containing a \subdocuments command
+% listing the files. With an optional argument you can set
+% its behaviour:
+%
+% \subdocuments[clear=double]{file1, file2, file3}
+%
+% The option clear=double adds an empty page at the end to give a even
+% number of pages. clear=single doesn't and it's the default. Spaces
+% and new lines before and after commas are ignored, as well as empty
+% items. It relies on the keyval package, so names containing = must
+% be given within braces.
+%
+% This file can be used as a shared preample, with common settings
+% for all the documents.
+%
+% Documents must have the folowing line:
+%
+% \usepackage[master]{subdocs}
+%
+% where master is the name of the file described above.
+%
+% Since every subdocument reads all the aux files, \tableofcontents
+% may be used where desired.
+%
+% Code
+% ~~~~
+
+\ProvidesPackage{subdocs}[2009/06/12 v0.1 Subdocuments]
+
+\RequirePackage{keyval}
+
+% Los dos siguientes son lo encargados de hacer lo que
+% normalmente hace \include.
+
+\AtBeginDocument{%
+ \if@filesw
+ \immediate\write\@auxout{\noexpand\sdoc@readaux}%
+ \fi}
+
+% At end of document we write the counters using writeckpt
+% but with \@partaux redirected to \@auxout. Like \include
+% there is a \clearpage
+
+\AtEndDocument{%
+ \sdoc@clear
+ \let\@partaux\@auxout
+ \@writeckpt{\jobname}}
+
+\def\@wckptelt#1{%
+ \immediate\write\@partaux{%
+ \string\sdoc@setcounter{#1}{\the\@nameuse{c@#1}}}}
+
+\def\sdoc@setcounter#1{%
+ \@ifundefined{c@#1}%
+ {\@gobble}%
+ {\setcounter{#1}}}
+
+% Optional arguments
+
+\def\sdoc@opt@clearsingle{\let\sdoc@clear\clearpage}
+\def\sdoc@opt@cleardouble{\let\sdoc@clear\cleardoublepage}
+\sdoc@opt@clearsingle
+
+\define@key{sdoc@options}{clear}{\@nameuse{sdoc@opt@clear#1}}
+
+%
+
+\let\sdoc@loadaux\@empty
+
+\newcommand\subdocuments[2][]{%
+ \let\sdoc@save@kverrx\KV@errx
+ \def\KV@errx##1{% \@tempa contains the file name
+ {\let\sdoc@elt\relax % local
+ \edef\sdoc@a{\expandafter\strip@prefix\meaning\@tempa}%
+ \protected@xdef\sdoc@loadaux{\sdoc@loadaux\sdoc@elt{\sdoc@a}}}}%
+ \setkeys{sdoc@files}{#2}%
+ \let\KV@errx\sdoc@save@kverrx
+ \setkeys{sdoc@options}{#1}}
+
+% A "recursive" call. When a \jobname.aux file is
+% read the first thing is (or should be) \sdoc@readaux.
+% It reads all the aux files, and exits from the current
+% aux without further reading because it is already read.
+% This requires a file could \input itself, but, does
+% that work in all distributions?
+
+\def\sdoc@elt#1{%
+ \InputIfFileExists{#1.aux}{}%
+ {\PackageWarningNoLine{subdocs}{No file #1.aux -- Data may be wrong}}%
+ \sdoc@setcp{#1}}%
+
+\def\sdoc@readaux{%
+ \global\let\sdoc@readaux\relax
+ \sdoc@loadaux
+ \global\let\sdoc@readaux\sdoc@readaux@x
+ \endinput}
+
+\let\sdoc@readaux@x\sdoc@readaux
+
+\def\sdoc@setcp#1{%
+ \def\sdoc@a{#1}\edef\sdoc@b{\jobname}%
+ \ifx\sdoc@a\sdoc@b
+ \PackageInfo{subdocs}{Ignoring counters from #1 on, }%
+ \global\let\sdoc@setcp\@gobble
+ \else
+ \csname cp@#1\endcsname
+ \fi}
+
+% The master file name must be saved because it may contain
+% \usepackage's, not allowed before \ProcessOptions.
+
+\DeclareOption*{\edef\sdoc@a{\CurrentOption}}
+\ProcessOptions
+\InputIfFileExists{\sdoc@a}{}{}%
+
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/bezos/tensind.sty b/Master/texmf-dist/tex/latex/bezos/tensind.sty
new file mode 100644
index 00000000000..2c9cc1bbc8e
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/bezos/tensind.sty
@@ -0,0 +1,284 @@
+% +--------------------------------------------------+
+% | Typeset titlesec.tex to get the documentation. |
+% +--------------------------------------------------+
+%
+% This file is copyrighted (c) 1998 by Javier Bezos.
+% All Rights Reserved.
+%
+% This program can be redistributed and/or modified under the terms
+% of the LaTeX Project Public License Distributed from CTAN
+% archives in directory macros/latex/base/lppl.txt; either
+% version 1 of the License, or any later version.
+%
+% Release
+% ~~~~~~~
+
+\ProvidesPackage{tensind}[1998/05/01 v1.0 Tensorial Indexes]
+
+\@tempcnta=\the\catcode`^
+\@tempcntb=\the\catcode`_
+\catcode`^=7\catcode`_=8
+
+\newdimen\tsi@dimen
+
+\newif\iftsi@sp
+\newif\iftsi@sb
+
+\newif\iftsi@e
+\newif\iftsi@b
+\newif\iftsi@l
+\newif\iftsi@r
+\newif\iftsi@o
+\newif\iftsi@c
+\newif\iftsi@s
+\newif\iftsi@nodot
+
+\def\tsi@thedots{}
+\def\tsi@theprimes{}
+\def\tsi@thesb{}
+\def\tsi@thesp{}
+\def\tsi@lastloc{x}
+\def\tsi@lastindex{}%
+\def\tsi@addindex{\tsi@addpr}
+
+\let\tsi@bl\relax
+\let\tsi@br\relax
+\let\tsi@bm\relax
+\let\tsi@tl\relax
+\let\tsi@tr\relax
+\let\tsi@tm\relax
+
+\let\tsi@choice\mathchoice
+
+\newif\iftsi@top
+\newif\iftsi@bot
+
+\let\tsi@gap\relax
+
+\def\tensorformat#1{\tsi@lfalse\tsi@rfalse\tsi@efalse
+ \tsi@bfalse\tsi@ofalse\tsi@cfalse\tsi@sfalse
+ \@tfor\tsi@a:=#1\do{\csname tsi@\tsi@a true\endcsname}}
+
+\tensorformat{}
+\def\indexdot{\cdot}
+
+\def\tsi@appendto#1#2{\protected@edef#2{#2#1}}
+
+\def\tensor{\catcode`_=8\catcode`^=7 %
+ \def\tsi@end{\end}\tsi@ifnextchar[{\tsi@otensor}{\tsi@xtensor}}
+
+\begingroup
+
+\catcode`?=13
+\gdef\tensordelimiter#1{\mathcode`#1="8000{\catcode`?=13\lccode`?=`#1
+ \lowercase{%
+ \gdef?{\begingroup\catcode`_=8 \catcode`^=7 %
+ \def\tsi@end{#1}\def?{\endtensor\endgroup}%
+ \@ifnextchar[{\tsi@otensor}{\tsi@xtensor}}}}}
+
+\endgroup
+
+\def\tsi@otensor[#1]{\tensorformat{#1}\tsi@xtensor}
+
+\gdef\tsi@xtensor#1{%
+ \def\tsi@nucl{#1}%
+ \futurelet\nxt\tsi@process}
+
+\def\tsi@process#1{%
+ \def\next{\futurelet\nxt\tsi@process}%
+ \def\tsi@theindex{#1}\def\tsi@a{_}%
+ \ifx\tsi@theindex\tsi@a
+ \if\tsi@lastloc x\let\tsi@first\@empty\fi
+ \if\tsi@lastloc b\else\tsi@switchsb\fi
+ \else
+ \def\tsi@a{^}%
+ \ifx\tsi@theindex\tsi@a
+ \if\tsi@lastloc p\else\tsi@switchsp\fi
+ \else
+ \ifx\tsi@theindex\tsi@end
+ \let\next\tsi@end
+ \else
+ \tsi@nodotfalse
+ \ifx\nxt\bgroup
+ \def\tsi@lastindex{}%
+ \else
+ \csname tsi@cmd\string#1\endcsname
+ \def\tsi@lastindex{#1}%
+ \fi
+ \tsi@addindex
+ \fi
+ \fi
+ \fi
+ \next}
+
+\def\tsi@switchsp{%
+ \let\tsi@addindex\tsi@addsp
+ \iftsi@top
+ \def\tsi@gap{\tsi@tm}%
+ \else
+ \def\tsi@gap{\tsi@tl}%
+ \fi
+ \tsi@appendto{\tsi@thedots}\tsi@thesp
+ \let\tsi@gap\relax
+ \def\tsi@thedots{}}
+
+\def\tsi@switchsb{%
+ \let\tsi@addindex\tsi@addsb
+ \iftsi@bot
+ \def\tsi@gap{\tsi@bm}%
+ \else
+ \def\tsi@gap{\tsi@bl}%
+ \fi
+ \tsi@appendto{\tsi@thedots}\tsi@thesb
+ \let\tsi@gap\relax
+ \def\tsi@thedots{}}
+
+\def\tsi@addpr{%
+ \tsi@appendto{\tsi@theindex}\tsi@theprimes}
+
+\def\tsi@addsp{%
+ \tsi@toptrue
+ \tsi@appendto{\tsi@theindex}\tsi@thesp
+ \iftsi@nodot
+ \tsi@appendto{\protect\tsi@phantom{\tsi@theindex}}\tsi@thedots
+ \else
+ \tsi@appendto{\tsi@gap{\tsi@theindex}}\tsi@thedots
+ \fi
+ \def\tsi@lastloc{p}}
+
+\def\tsi@addsb{%
+ \tsi@bottrue
+ \tsi@appendto{\tsi@theindex}\tsi@thesb
+ \iftsi@nodot
+ \tsi@appendto{\protect\tsi@phantom{\tsi@theindex}}\tsi@thedots
+ \else
+ \tsi@appendto{\tsi@gap{\tsi@theindex}}\tsi@thedots
+ \fi
+ \def\tsi@lastloc{b}}
+
+\def\tsi@dot#1{%
+ \setbox\z@\hbox{$\tsi@fam\m@th\tsi@index#1$}%
+ \hbox to\wd\z@{\hss$\tsi@fam\m@th\tsi@index\indexdot$\hss}}
+
+\newdimen\primes
+
+\def\endtensor{%
+ \if\tsi@lastloc p
+ \def\tsi@gap{\tsi@br}%
+ \tsi@appendto{\tsi@thedots}\tsi@thesb
+ \else
+ \def\tsi@gap{\tsi@tr}%
+ \tsi@appendto{\tsi@thedots}\tsi@thesp
+ \fi
+ \let\tsi@bl\tsi@phantom \let\tsi@br\tsi@phantom
+ \let\tsi@bm\tsi@phantom \let\tsi@tm\tsi@phantom
+ \def\tsi@tl##1{\tsi@phantom{##1}\global\advance\tsi@dimen\wd\z@}%
+ \iftsi@top
+ \let\tsi@tr\tsi@phantom
+ \else
+ \let\tsi@tr\tsi@tl
+ \fi
+ \iftsi@bot
+ \iftsi@l\let\tsi@bl\tsi@dot\let\tsi@bm\tsi@dot\fi
+ \iftsi@r\let\tsi@br\tsi@dot\let\tsi@bm\tsi@dot\fi
+ \else
+ \iftsi@e\let\tsi@br\tsi@dot\tsi@bottrue\fi
+ \fi
+ \iftsi@b\else
+ \iftsi@top
+ \iftsi@l\let\tsi@tl\tsi@dot\let\tsi@tm\tsi@dot\fi
+ \iftsi@r\let\tsi@tr\tsi@dot\let\tsi@tm\tsi@dot\fi
+ \else
+ \iftsi@e\let\tsi@tr\tsi@dot\tsi@toptrue\fi
+ \fi
+ \fi
+ \ifx\tsi@theprimes\@empty\else\tsi@toptrue\fi
+ \edef\tsi@fam{\fam\the\fam}%
+ \tsi@choice
+ {\tsi@endtensor\displaystyle\scriptstyle}%
+ {\tsi@endtensor\textstyle\scriptstyle}%
+ {\tsi@endtensor\scriptstyle\scriptscriptstyle}%
+ {\tsi@endtensor\scriptscriptstyle\scriptscriptstyle}}
+
+
+\def\tsi@endtensor#1#2{%
+ \let\tsi@text#1\let\tsi@index#2%
+ \setbox\z@ \hbox{$\tsi@fam\m@th#1\tsi@nucl_{x}$}%
+ \setbox\@ne\hbox{$\tsi@fam\m@th#1\tsi@nucl{}_{x}$}%
+ \tsi@dimen\wd\z@ \advance\tsi@dimen-\wd\@ne
+ \@tempdimb-\tsi@dimen
+ \setbox\z@ \hbox{$\kern\tsi@dimen\tsi@fam\m@th#2\tsi@thesp$}%
+ \setbox\@ne\hbox{$\tsi@fam\m@th#2\tsi@thesb$}%
+ \setbox\tw@\hbox{$\tsi@fam\m@th#2{\tsi@theprimes}$}%
+ \dp\z@\z@
+ \ifdim\tsi@dimen>\wd\tw@
+ \tsi@dimen\z@
+ \else
+ \advance\tsi@dimen-\wd\tw@
+ \fi
+ \wd\tw@\z@
+ \iftsi@s
+ \ifx\tsi@text\displaystyle
+ \tsi@otrue\tsi@cfalse
+ \else
+ \tsi@ofalse\tsi@ctrue
+ \fi
+ \fi
+ \let\tsi@a\@empty
+ \tsi@nucl
+ \iftsi@bot_{\kern-\tsi@dimen\copy\@ne}%
+ \iftsi@o\tsi@toptrue\else\iftsi@c\tsi@toptrue
+ \ifx\tsi@text\displaystyle\else
+ \def\tsi@a{\raise.1ex}%
+ \fi
+ \kern-\wd\@ne\kern\tsi@dimen
+ \kern\@tempdimb\kern-\scriptspace
+ \fi\fi
+ \fi
+ \iftsi@top^{\tsi@a\box\tw@\kern-\tsi@dimen\tsi@a\box\z@}\fi}
+
+\def\tsi@phantom#1{%
+ \setbox\tw@\null
+ \setbox\z@\hbox{$\tsi@fam\m@th\tsi@index#1$}%
+ \wd\tw@\wd\z@
+ \box\tw@}%
+
+\def\whenindex#1#2#3{%
+ \expandafter\def\csname tsi@cmd\expandafter\string#1\endcsname{%
+ \def\tsi@theindex{#2}#3}}
+
+\whenindex{'}{\prime}{}
+
+\def\spadjust#1#2{%
+ \def\tsi@a{#1}%
+ \ifx\tsi@a\tsi@lastindex
+ \iftsi@l\else
+ \iftsi@r\else
+ \ifx\tsi@addindex\tsi@addsp
+ \if\tsi@lastloc b%
+ \protected@edef\tsi@theindex{\mskip#2\thinmuskip\tsi@theindex}%
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi}
+
+\def\sbadjust#1#2{%
+ \def\tsi@a{#1}%
+ \ifx\tsi@a\tsi@lastindex
+ \iftsi@l\else
+ \iftsi@r\else
+ \ifx\tsi@addindex\tsi@addsb
+ \if\tsi@lastloc p%
+ \protected@edef\tsi@theindex{\mskip#2\thinmuskip\tsi@theindex}%
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi}
+
+
+\def\omitdot{\tsi@nodottrue}
+\def\finishdots{\tsi@nodottrue\let\tsi@nodotfalse\relax}
+
+\catcode`^=\@tempcnta\catcode`_=\@tempcntb