From 53143cc6546224759ea37ec15498083bd43dd915 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 13 Jun 2009 00:25:29 +0000 Subject: subdocs (bezos) 0.1 (11jun09) git-svn-id: svn://tug.org/texlive/trunk@13728 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/bezos/README | 7 + Master/texmf-dist/doc/latex/bezos/bezos.pdf | Bin 83871 -> 87506 bytes Master/texmf-dist/doc/latex/bezos/bezos.tex | 253 ++++++++++++++++++++++++++ Master/texmf-dist/tex/latex/bezos/subdocs.sty | 152 ++++++++++++++++ 4 files changed, 412 insertions(+) create mode 100644 Master/texmf-dist/doc/latex/bezos/bezos.tex create mode 100644 Master/texmf-dist/tex/latex/bezos/subdocs.sty diff --git a/Master/texmf-dist/doc/latex/bezos/README b/Master/texmf-dist/doc/latex/bezos/README index 26fdc6e4b72..eaa7be37b6c 100644 --- a/Master/texmf-dist/doc/latex/bezos/README +++ b/Master/texmf-dist/doc/latex/bezos/README @@ -39,6 +39,13 @@ A tool to easy typing of Spanish index entries. Manual: esindex.tex (in Spanish) Page: http://www.tex-tipografia.com/esindex.html +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 diff --git a/Master/texmf-dist/doc/latex/bezos/bezos.pdf b/Master/texmf-dist/doc/latex/bezos/bezos.pdf index df42295eef0..891dfe86718 100644 Binary files a/Master/texmf-dist/doc/latex/bezos/bezos.pdf and b/Master/texmf-dist/doc/latex/bezos/bezos.pdf 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..49f0546bb17 --- /dev/null +++ b/Master/texmf-dist/doc/latex/bezos/bezos.tex @@ -0,0 +1,253 @@ +\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{2009-06-12} + +\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 datails. + +\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/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 -- cgit v1.2.3