From 7c0254fc2d33331f7d8762cb7738c4b9f94f0964 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 14 Oct 2010 23:34:51 +0000 Subject: new latex package babeltools 0.2 (15oct10) git-svn-id: svn://tug.org/texlive/trunk@20101 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/babeltools/README | 76 +++++ Master/texmf-dist/doc/latex/babeltools/accents.pdf | Bin 0 -> 251294 bytes Master/texmf-dist/doc/latex/babeltools/accents.tex | 217 ++++++++++++ .../texmf-dist/doc/latex/babeltools/babeltools.pdf | Bin 0 -> 112815 bytes .../texmf-dist/doc/latex/babeltools/babeltools.tex | 111 +++++++ Master/texmf-dist/doc/latex/babeltools/bezos.pdf | Bin 0 -> 121994 bytes Master/texmf-dist/doc/latex/babeltools/bezos.tex | 260 +++++++++++++++ Master/texmf-dist/doc/latex/babeltools/esindex.pdf | Bin 0 -> 141690 bytes Master/texmf-dist/doc/latex/babeltools/esindex.tex | 179 ++++++++++ Master/texmf-dist/doc/latex/babeltools/tensind.pdf | Bin 0 -> 231270 bytes Master/texmf-dist/doc/latex/babeltools/tensind.tex | 194 +++++++++++ Master/texmf-dist/tex/latex/babeltools/accents.sty | 281 ++++++++++++++++ .../tex/latex/babeltools/arabicfront.sty | 60 ++++ .../texmf-dist/tex/latex/babeltools/babeltools.sty | 362 +++++++++++++++++++++ .../texmf-dist/tex/latex/babeltools/checkend.sty | 55 ++++ .../texmf-dist/tex/latex/babeltools/dotlessi.sty | 59 ++++ Master/texmf-dist/tex/latex/babeltools/esindex.sty | 204 ++++++++++++ Master/texmf-dist/tex/latex/babeltools/subdocs.sty | 152 +++++++++ Master/texmf-dist/tex/latex/babeltools/tensind.sty | 284 ++++++++++++++++ 19 files changed, 2494 insertions(+) create mode 100644 Master/texmf-dist/doc/latex/babeltools/README create mode 100644 Master/texmf-dist/doc/latex/babeltools/accents.pdf create mode 100644 Master/texmf-dist/doc/latex/babeltools/accents.tex create mode 100644 Master/texmf-dist/doc/latex/babeltools/babeltools.pdf create mode 100644 Master/texmf-dist/doc/latex/babeltools/babeltools.tex create mode 100644 Master/texmf-dist/doc/latex/babeltools/bezos.pdf create mode 100644 Master/texmf-dist/doc/latex/babeltools/bezos.tex create mode 100644 Master/texmf-dist/doc/latex/babeltools/esindex.pdf create mode 100644 Master/texmf-dist/doc/latex/babeltools/esindex.tex create mode 100644 Master/texmf-dist/doc/latex/babeltools/tensind.pdf create mode 100644 Master/texmf-dist/doc/latex/babeltools/tensind.tex create mode 100644 Master/texmf-dist/tex/latex/babeltools/accents.sty create mode 100644 Master/texmf-dist/tex/latex/babeltools/arabicfront.sty create mode 100644 Master/texmf-dist/tex/latex/babeltools/babeltools.sty create mode 100644 Master/texmf-dist/tex/latex/babeltools/checkend.sty create mode 100644 Master/texmf-dist/tex/latex/babeltools/dotlessi.sty create mode 100644 Master/texmf-dist/tex/latex/babeltools/esindex.sty create mode 100644 Master/texmf-dist/tex/latex/babeltools/subdocs.sty create mode 100644 Master/texmf-dist/tex/latex/babeltools/tensind.sty (limited to 'Master/texmf-dist') diff --git a/Master/texmf-dist/doc/latex/babeltools/README b/Master/texmf-dist/doc/latex/babeltools/README new file mode 100644 index 00000000000..3e4677c8ba4 --- /dev/null +++ b/Master/texmf-dist/doc/latex/babeltools/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/babeltools/accents.pdf b/Master/texmf-dist/doc/latex/babeltools/accents.pdf new file mode 100644 index 00000000000..ad1b0361e7a Binary files /dev/null and b/Master/texmf-dist/doc/latex/babeltools/accents.pdf differ diff --git a/Master/texmf-dist/doc/latex/babeltools/accents.tex b/Master/texmf-dist/doc/latex/babeltools/accents.tex new file mode 100644 index 00000000000..fa456253c42 --- /dev/null +++ b/Master/texmf-dist/doc/latex/babeltools/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{}| +\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{}{}| +\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 || 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{}{}| +\end{decl} + +This command puts the || under the ||. 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{}| +\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/babeltools/babeltools.pdf b/Master/texmf-dist/doc/latex/babeltools/babeltools.pdf new file mode 100644 index 00000000000..092a6558725 Binary files /dev/null and b/Master/texmf-dist/doc/latex/babeltools/babeltools.pdf differ diff --git a/Master/texmf-dist/doc/latex/babeltools/babeltools.tex b/Master/texmf-dist/doc/latex/babeltools/babeltools.tex new file mode 100644 index 00000000000..f54db645662 --- /dev/null +++ b/Master/texmf-dist/doc/latex/babeltools/babeltools.tex @@ -0,0 +1,111 @@ +%$PDFLaTeX (encoding:utf-8) + +\documentclass{article} + +\author{Javier Bezos} +\title{\textsf{babeltools}\\% +\Large Fixing (some) \textsf{babel} annoyances} + +\begin{document} + +\maketitle + +(Beta.) + +The \textsf{babel} package introduces some changes in the \LaTeX{} +kernel which are not strictly necessary (perhaps just convenient), but +have some unwanted side-effects. Oddly enough, most of these changes +cannot be disabled, with a few exceptions (eg, \texttt{activeacute} +and \texttt{activegrave}, but note there are not \texttt{activecaret} +or \texttt{activetilde}). + +With \textsf{babeltools} you can modify the \textsf{babel} behaviour +by means of a set of package options, with a few macros serving as +tools for specific purposes. This package must be loaded +\textbf{before} \textsf{babel}. + +\section{Package options} + +\begin{description} +\item[shorthands=off] The shorthands mechanism is turned off. +As some languages use this mechanism for tools not availible +otherwise, a macro \verb|\babelshorthand| is defined, which allows +using them; see below. + +\item[shortands=...] The shorthands mechanism is on, but the only +shorthands activated are those given, like, eg: +\begin{verbatim} +\usepackage[shorthands=:;!?]{babeltools} +\end{verbatim} + +If \verb|'| is included, \texttt{activeacute} is passed to +\textsf{babel}; if \verb|`| is included, \texttt{activegrave} is +passed. Active characters (like \verb|~|) should be preceded by +\verb|\string| (otherwise they will be expanded by \LaTeX{} before +they are passed to the package and therefore they will not be +recognized). + +\item[adaptive] By default, all \textsf{babel} shorthands are active +and live from start to end of documents. You can deactivate them by +hand with \verb|\shorthandoff|, but this is cumbersome and you cannot +use it ``just in case'' (if the character is not a shorthands an error +is raised, instead of ignoring silently the redundant setting). That +means you have to accept a character like : is active in an English +document even if you need it for just a few quotations in French. The +default engine may be replaced by a new one which adapts the +shorthands behaviour to the context in the following way: +\begin{enumerate} +\item In math mode, while still shorthands, they behave always like the +corresponding normal char. Things like \verb|$a \mathrel{x'} b$| +work as expected. + +\item When the language is switched, shorthands chars are made normal or +active, as appropiate. Thus, \texttt{:} or \texttt{?} are active only in +\texttt{french}. +\end{enumerate} + +% This option is useful when there are, say, short quotations in French +% inside a German text or when there are whole chapter in either French +% or German. + +\item[nocrossrefs] newlabel, ref and pageref are not redefined. You +cannot use shorthands in labels. + +\item[nocitations] nocite, bibcite and bibitem are not redefined. You +cannot use shorthands in labels. + +\item[langcaptions] Captions are redefined if possible so that an +intermediate macro \verb|\lang...name| is used, eg, +\verb|\germanchaptername|. Somewhat experimental. + +\item[noconfig] Config files are not loaded, so you can make sure your +document is not spoilt by an unexpected \texttt{.cfg} file. +\end{description} + +Babel tweaks several packages for shorthands to be accepted. At the +time of this writing they are \textsf{cite}, \textsf{natbib}, +\textsf{varioref} and \textsf{hhline} (the latter for the colon). If +you don't use shorthands, these redefinitions are unnecesary and +inconvenient. If you give a list of shorthands and it doesn't include +\verb|:|, then \verb|hhline| is left untouched. The other packages +are handled by \texttt{nocrossrefs} and \texttt{nocitations}, as +appropiate. + +\section{Macros} + +\begin{description} +\item[\ttfamily\string\babelshorthand] Use a shorthand, even with +\texttt{shorthands=off} or not listed in it, eg, +\verb|\babelshorthand{"u}| or \verb|\babelshorthand{:}|. You can +conveniently define your own macros. +\end{description} + +\section{Known limitations} + +If a class loads \textsf{babel} with a language, you cannot use +\textsf{babeltools}. However, if a class loads babel without loading +any language, you can use it. Languages given in +\verb|\documentclass| work as expected (provided the class doesn't +load it, of course). + +\end{document} \ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/babeltools/bezos.pdf b/Master/texmf-dist/doc/latex/babeltools/bezos.pdf new file mode 100644 index 00000000000..866138541ea Binary files /dev/null and b/Master/texmf-dist/doc/latex/babeltools/bezos.pdf differ diff --git a/Master/texmf-dist/doc/latex/babeltools/bezos.tex b/Master/texmf-dist/doc/latex/babeltools/bezos.tex new file mode 100644 index 00000000000..d79651a8bc8 --- /dev/null +++ b/Master/texmf-dist/doc/latex/babeltools/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{}{}| +\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{}{}| +\end{decl} + +This command puts the || under the ||. 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 ||. + +Tha basic commands are the following: + +\begin{decl} +|?[]{}{}...|\\ +| ...?| +\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/babeltools/esindex.pdf b/Master/texmf-dist/doc/latex/babeltools/esindex.pdf new file mode 100644 index 00000000000..efcc34f878f Binary files /dev/null and b/Master/texmf-dist/doc/latex/babeltools/esindex.pdf differ diff --git a/Master/texmf-dist/doc/latex/babeltools/esindex.tex b/Master/texmf-dist/doc/latex/babeltools/esindex.tex new file mode 100644 index 00000000000..6e042442913 --- /dev/null +++ b/Master/texmf-dist/doc/latex/babeltools/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 <>, +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/babeltools/tensind.pdf b/Master/texmf-dist/doc/latex/babeltools/tensind.pdf new file mode 100644 index 00000000000..49b46c7f037 Binary files /dev/null and b/Master/texmf-dist/doc/latex/babeltools/tensind.pdf differ diff --git a/Master/texmf-dist/doc/latex/babeltools/tensind.tex b/Master/texmf-dist/doc/latex/babeltools/tensind.tex new file mode 100644 index 00000000000..79c26f395f8 --- /dev/null +++ b/Master/texmf-dist/doc/latex/babeltools/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{}| +\end{decl} + +Defines || to be a tensor delimiter. In subsequent examples we will +assume +\begin{verbatim} +\tensordelimiter{?} +\end{verbatim} +and every instance of |?| will actually mean ||. + +\begin{decl} +|?[]{}{}{}...|\\ +| ...?| +\end{decl} + +Creates a tensor. || is either |_{}{}...| or +|^{}{}|. +|| is the symbol which indexes will be add to. || is a +superscript which is neither covariant nor contravariant (dual, +prime...). In +one-letter ||, || or ||, 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, || changes the format in a tensor. (See |\tensorformat| +below.) + +\begin{decl} +|\tensorformat{}| +\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{}{}{}| +\end{decl} + +Automatically replaces || (if not enclosed in braces) +by || and the additional || 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 ||, two command for space fine-tuning are provided: +|\sbadjust{}{}| adds || times +|\,| before the current subscript index if the last superscript index +was ||. Similarly, |\spadjust| adds the space before the current +superscript index if the last subscript index was ||. +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/babeltools/accents.sty b/Master/texmf-dist/tex/latex/babeltools/accents.sty new file mode 100644 index 00000000000..d44b535b995 --- /dev/null +++ b/Master/texmf-dist/tex/latex/babeltools/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/babeltools/arabicfront.sty b/Master/texmf-dist/tex/latex/babeltools/arabicfront.sty new file mode 100644 index 00000000000..1748dfb5fcc --- /dev/null +++ b/Master/texmf-dist/tex/latex/babeltools/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/babeltools/babeltools.sty b/Master/texmf-dist/tex/latex/babeltools/babeltools.sty new file mode 100644 index 00000000000..2818aa36519 --- /dev/null +++ b/Master/texmf-dist/tex/latex/babeltools/babeltools.sty @@ -0,0 +1,362 @@ +% Copyright (c) 2010 by Javier Bezos. +% All Rights Reserved. +% +% It 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". +% +% The Current Maintainer of this work is Javier Bezos. +% +% TODO: +% noshorthands -> shorthands=off, nocitations, nocrossrefs + +\ProvidesPackage{babeltools}[2010/10/14 v0.2 Tools for the babel system (beta)] + +\edef\bbtl@savedcatcodes{% + \catcode`\noexpand\~=\the\catcode`\~ + \catcode`\noexpand\:=\the\catcode`\: + \catcode`\noexpand\"=\the\catcode`\"} +\catcode`\~=\active +\catcode`\"=12 +\catcode`\:=12 + +\def\bbtl@meaning{\expandafter\strip@prefix\meaning} + +\def\bbtl@ifshorthand#1{% + \@expandtwoargs\in@{#1}{\bbtl@o@shorthands}% + \ifin@ + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi} + +\let\bbtl@afterbabelhook\@empty +\newcommand\AfterBabel[1]{% + \g@addto@macro\bbtl@afterbabelhook{#1}} + +\let\bbtl@atendofbabelhook\@empty +\newcommand\AtEndOfBabel[1]{% + \g@addto@macro\bbtl@atendofbabelhook{#1}} + +\let\bbtl@beforebabelhook\@empty +\newcommand\BeforeBabel[1]{% + \g@addto@macro\bbtl@beforebabelhook{#1}} + +% Not to be redefined. The current value, saved by babel, is +% restored. More robust code is necessary, I think. + +\def\bbtl@restore@org#1{% + \@ifundefined{#1 }% Not robust? + {\expandafter\let\csname #1\expandafter\endcsname + \csname org@#1\endcsname}% + {\expandafter\let\csname #1 \expandafter\endcsname + \csname org@#1\endcsname}} + +\def\bbtl@save@org#1{% + \expandafter\let\csname org@#1\expandafter\endcsname + \csname #1\endcsname} + +% Citations and cross refs +% ~~~~~~~~~~~~~~~~~~~~~~~~ + +\let\bbtl@ignorepackages\@empty + +\DeclareOption{nocitations} + {\g@addto@macro\bbtl@ignorepackages{,cite,natbib,}% + \AfterBabel{% + \bbtl@restore@org{nocite}% + \bbtl@restore@org{bibcite}% + \bbtl@restore@org{@bibitem}%S + \bbtl@restore@org{@citex}}} + +\DeclareOption{nocrossrefs} + {\g@addto@macro\bbtl@ignorepackages{,varioref,}% + \BeforeBabel{% + \bbtl@save@org{@newl@bel}}% babel DOESN'T save it! + \AfterBabel{% + \bbtl@restore@org{@newl@bel}% + \bbtl@restore@org{ref}% Robust + \bbtl@restore@org{pageref}}}% Robust + +% More cases are to be added, but they must be delayed at the end of +% begin document, because they are related to loaded packages (see +% babel.dtx) +% +% Shorthands +% ~~~~~~~~~~ +% Some languages use the shortand mechanism for tools not defined +% otherwise, so you can still use them with \babelshorthand{..}. +% Then you can use it conveniently to define your own macros. + +% ~ is an special case, as it's defined in babel.def + +% New shorthands +% -------------- + +\DeclareOption{adaptive}% + {\AfterBabel{% + \let\bbtl@initiate@active@char\initiate@active@char + \let\initiate@active@char\bbtl@set@shorthand + \let\bbtl@declare@shorthand\declare@shorthand + \let\declare@shorthand\bbtl@declare + \let\bbl@activate\bbtl@activate + \let\bbtl@deactivate\bbl@deactivate + \let\bbl@deactivate\bbtl@restore}} + +% Do \bbtl@initiate@active@char but don't make the char active. +% Not necessary and a source of bugs. + +\def\bbtl@set@shorthand#1{% + \expandafter\edef\csname bbtl@savecat\string#1\endcsname + {\the\catcode`#1}% + \bbtl@initiate@active@char{#1}% + \catcode`#1=\csname bbtl@savecat\string#1\endcsname\relax + \addto\bbtl@select{\shorthandon{#1}}} + +\def\bbtl@use@shorthand{% + \if@safe@actives + \bbl@afterelse + \string + \else + \bbl@afterfi + {\ifx\thepage\relax + \bbl@afterelse + \string + \else + \bbl@afterfi + \bbtl@use@sh + \fi}% + \fi} + +\def\bbtl@use@sh#1{% + \ifx\protect\@unexpandable@protect + \bbl@afterelse + \noexpand#1% + \else% + \bbl@afterfi + \textormath + {\csname active@char\string#1\endcsname}% + {\csname normal@char\string#1\endcsname}% + \fi} + +\gdef\bbtl@activate#1{% + \begingroup + \lccode`\~=`#1 + \lowercase{% + \endgroup + \def~{\bbtl@use@shorthand~}}} + +\def\bbtl@restore#1{% + \shorthandon{#1}% + \begingroup + \lccode`\~=`#1 + \lowercase{% + \endgroup + \bbtl@deactivate{~}}} + +\def\bbtl@declare#1#2{% + \@ifundefined{bbtl@savecat\expandafter\string\@firstoftwo#2\@empty}% + {\@gobble}% + {\bbtl@declare@shorthand{#1}{#2}}} + +% No shorthands +% ------------- + +% This is done after 'adaptive', if present. + +\DeclareOption{shorthands=off}% + {\AfterBabel{\bbl@doshorthands}} + +\def\babelshorthand#1{% + \def\bbtl@tempa{#1}% + \@ifundefined{bbtl@@\languagename @@\bbtl@meaning\bbtl@tempa}% + {#1}% + {\@nameuse{bbtl@@\languagename @@\bbtl@meaning\bbtl@tempa}}} + +% Select +% ---------------------- +\let\bbtl@o@shorthands\@empty + +% TO DO: package options are expanded by LaTeX, and ~ raises +% an error, but not \string~. Is there a way to fix it? + +% This is done after 'adaptive', if present. + +\def\bbl@doshorthands{% + \let\bbtl@s@initiate@active@char\initiate@active@char + \def\initiate@active@char##1{% + \bbtl@ifshorthand{\string##1}% + {\bbtl@s@initiate@active@char{##1}}% + {}}% + \let\bbtl@s@declare@shorthand\declare@shorthand + \def\declare@shorthand##1##2{% + \bbtl@ifshorthand{\expandafter\string\@firstoftwo##2\@empty}% + {\bbtl@s@declare@shorthand{##1}{##2}}% + {\def\bbtl@tempa{##2}% + \@namedef{bbtl@@##1@@\bbtl@meaning\bbtl@tempa}}}% + \let\bbtl@s@activate\bbl@activate + \def\bbl@activate##1{% + \bbtl@ifshorthand{\string##1}% + {\bbtl@s@activate{##1}}% + {}}% + \let\bbtl@s@deactivate\bbl@deactivate + \def\bbl@deactivate##1{% + \bbtl@ifshorthand{\string##1}% + {\bbtl@s@deactivate{##1}}% + {}}} + +% No config +% ~~~~~~~~~ +% Make sure an unexpected local config doesn't spoil your document. +% Use of config files is strongly discouraged, but some sites +% use them + +\DeclareOption{noconfig} + {\AfterBabel{\let\loadlocalcfg\@gobble}} + +% Captions +% ~~~~~~~~ + +% redefining names. Somewhat experimental. + +\def\bbtl@captions{% + \bbtl@elt\prefacename\bbtl@elt\refname\bbtl@elt\abstractname + \bbtl@elt\bibname\bbtl@elt\chaptername\bbtl@elt\appendixname + \bbtl@elt\contentsname\bbtl@elt\listfigurename + \bbtl@elt\listtablename\bbtl@elt\indexname + \bbtl@elt\figurename\bbtl@elt\tablename\bbtl@elt\partname + \bbtl@elt\enclname\bbtl@elt\ccname\bbtl@elt\headtoname + \bbtl@elt\pagename\bbtl@elt\seename\bbtl@elt\alsoname + \bbtl@elt\proofname\bbtl@elt\glossaryname} + +% 1: \captions... expanded #2 repl fun bbtl@f #3 \...name +% \lang...name +\def\bbtl@rep#1\@@\@@#2#3#4{% + \in@{#3}{#1}% + \ifin@ + #2#1\@@\@@#3#4% + \else + \PackageWarningNoLine{babeltools}% + {No \string#3 in \bbtl@l}% + \fi} + +% \bbtl@f is a helper macro: +% 1 \...name +% bbtl@f: +% #1 prev, #2 def of \...name, #3 after +% #4 \...name, #5 \lang...name +\DeclareOption{langcaptions} + {\def\bbtl@repdef#1{% + \def\bbtl@f##1#1##2##3\@@\@@##4##5{% + \def##5{##2}% + \@namedef{captions\bbtl@l}{##1##4{##5}##3}}}% + \def\bbtl@elt#1{% + \bbtl@repdef#1% + \@temptokena\expandafter\expandafter\expandafter{% + \csname captions\bbtl@l\endcsname}% + % If \lang...name undefined + \edef\bbtl@t{% + \noexpand\bbtl@rep + \the\@temptokena + \noexpand\@@\noexpand\@@ + \noexpand\bbtl@f + \noexpand#1 + \expandafter\noexpand + \csname\bbtl@l\expandafter\@gobble\string#1\endcsname}% + \bbtl@t}% + \def\bbtl@repdo{% + \@for\bbtl@l:=\bbtl@options\do{% + \@ifundefined{captions\bbtl@l}{}{% + \bbtl@captions}}}% + \AtEndOfBabel{\bbtl@repdo}} + +% Key=value package options +% ~~~~~~~~~~~~~~~~~~~~~~~~~ + +\def\bbtl@process#1=#2\bbtl@process#3{% + \expandafter\ifx\csname bbtl@o@#1\endcsname\@empty + \expandafter\edef\csname bbtl@o@#1\endcsname{#2}% + \DeclareOption{\CurrentOption}{}% + \fi} + +\DeclareOption*{% + \@expandtwoargs\in@{\string=}{\CurrentOption}% + \ifin@ + \expandafter\bbtl@process\CurrentOption\bbtl@process\CurrentOption + \fi} + +% Process options +% ~~~~~~~~~~~~~~~~ + +\ProcessOptions + +% shorthands=... option is handled here. + +\show\bbtl@o@shorthands + +\ifx\bbtl@o@shorthands\@empty\else + \edef\bbtl@o@shorthands{\bbtl@meaning\bbtl@o@shorthands}% + \bbtl@ifshorthand{'}% + {\PassOptionsToPackage{activeacute}{babel}}{} + \bbtl@ifshorthand{`}% + {\PassOptionsToPackage{activegrave}{babel}}{} + \bbtl@ifshorthand{:}{}% + {\g@addto@macro\bbtl@ignorepackages{,hhline,}} +% After any redefinition, the shorthand mechanism comes. + \AfterBabel{\bbl@doshorthands} +\fi + +% The first \LdfInit loads the babel core (the sty file doesn't!) +% That means babeltools is not compatible with classes loading +% a language: + +\@ifundefined{ldf@finish}% + {\def\LdfInit{% + \expandafter\let\expandafter\bbtl@options + \csname opt@babel.sty\endcsname + \bbtl@beforebabelhook + \AtBeginDocument{% + \let\bbtl@ifpackageloaded\@ifpackageloaded + \def\@ifpackageloaded##1{% + \@expandtwoargs\in@{,##1,}{\bbtl@ignorepackages}% + \ifin@ + \expandafter\@gobbletwo + \else + \expandafter\bbtl@ifpackageloaded + \fi + {##1}}}% + \chardef\atcatcode =\catcode`\@ + \catcode`\@=11\relax + \input babel.def\relax + \catcode`\@ =\atcatcode + \let\atcatcode\relax + \bbtl@afterbabelhook + \AtEndOfPackage{\bbtl@atendofbabelhook}% + \LdfInit}} + {\PackageError{babeltools}% + {Too late -- babel has been loaded}% + {babeltools can be used only before babel.\MessageBreak + Very likely a package or the class has loaded it.}} + +\AtEndOfBabel{% + \AtBeginDocument{\let\@ifpackageloaded\bbtl@ifpackageloaded}} + +\bbtl@savedcatcodes + +\endinput + +============================== +============================== + +- Attributes? +- Quotes '' + + + + diff --git a/Master/texmf-dist/tex/latex/babeltools/checkend.sty b/Master/texmf-dist/tex/latex/babeltools/checkend.sty new file mode 100644 index 00000000000..87b71517555 --- /dev/null +++ b/Master/texmf-dist/tex/latex/babeltools/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/babeltools/dotlessi.sty b/Master/texmf-dist/tex/latex/babeltools/dotlessi.sty new file mode 100644 index 00000000000..a2b646f9186 --- /dev/null +++ b/Master/texmf-dist/tex/latex/babeltools/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/babeltools/esindex.sty b/Master/texmf-dist/tex/latex/babeltools/esindex.sty new file mode 100644 index 00000000000..3b2d61e02c0 --- /dev/null +++ b/Master/texmf-dist/tex/latex/babeltools/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/babeltools/subdocs.sty b/Master/texmf-dist/tex/latex/babeltools/subdocs.sty new file mode 100644 index 00000000000..374fab2a182 --- /dev/null +++ b/Master/texmf-dist/tex/latex/babeltools/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/babeltools/tensind.sty b/Master/texmf-dist/tex/latex/babeltools/tensind.sty new file mode 100644 index 00000000000..2c9cc1bbc8e --- /dev/null +++ b/Master/texmf-dist/tex/latex/babeltools/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 -- cgit v1.2.3