diff options
author | Karl Berry <karl@freefriends.org> | 2008-03-30 23:20:15 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2008-03-30 23:20:15 +0000 |
commit | c10933230ee220e309792e17457c4a8486519e43 (patch) | |
tree | b38b90ca7ec7026233ef2dcc3b3f3a0652051613 /Master/texmf-dist/source/latex/fouridx | |
parent | 15c3636372419100306039c936173e07445cff51 (diff) |
new latex package fouridx (29mar08)
git-svn-id: svn://tug.org/texlive/trunk@7249 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/fouridx')
-rw-r--r-- | Master/texmf-dist/source/latex/fouridx/fouridx.dtx | 210 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/fouridx/fouridx.ins | 26 |
2 files changed, 236 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/fouridx/fouridx.dtx b/Master/texmf-dist/source/latex/fouridx/fouridx.dtx new file mode 100644 index 00000000000..cf492d610b2 --- /dev/null +++ b/Master/texmf-dist/source/latex/fouridx/fouridx.dtx @@ -0,0 +1,210 @@ +% \iffalse meta comment +% File: fouridx.dtx Copyright (C) 2009 Stefan Karrmann +% \fi +% +% \iffalse +% +%<*package> +\def\fileversion{1.00} +\def\filedate{2009/03/27} +%</package> +%<*driver> +\documentclass{ltxdoc} +\usepackage[latin1]{inputenc} +\IfFileExists{fouridx.sty}{\usepackage{fouridx} + \let\fouridxSTYfound\active}{\GenericWarning{fouridx.dtx}{Package + file fouridx.sty not found (Documentation will be messed up!^^J^^A + Generate fouridx.sty by (La)TeXing fouridx.ins, process + fouridx.dtx again)^^J}\stop} +\usepackage{longtable} +\title{The \texttt{fouridx} package\thanks{This file has version + \fileversion\ last revised \filedate.}} +\author{Stefan Karrmann\\\texttt{s.karrmann at web.de}} +\date{File Date \filedate, Printed \today} +\newlength{\tempdima}% +\makeatletter +\renewenvironment{table}[1][]{% + \@float{table}[#1]% + \centering% + \setlength{\tempdima}{\abovecaptionskip}% + \setlength{\abovecaptionskip}{\belowcaptionskip}% + \setlength{\belowcaptionskip}{\tempdima}% + }{% +\end@float +} +\makeatother +\EnableCrossrefs +\CodelineIndex +\DoNotIndex{\def,\edef,\let,\newcommand,\newenvironment,\newcounter} +\DoNotIndex{\setcounter,\space,\if,\else,\fi,\empty,\@empty,\ifx,\fi} +\DoNotIndex{\ifnum,\fi,\expandafter} +\CodelineNumbered +\RecordChanges +\CheckSum{39} +\begin{document} + \DocInput{fouridx.dtx} +\end{document} +%</driver> +% \fi +% +% \changes{1.00}{2008/03/27}{Used leftidx.dtx as a template for the +% English documentation}% +% +% \maketitle +% \begin{abstract} +% \noindent +% This package enables left subscripts and superscripts in math mode. +% These subscripts and superscripts are automatically raised for better +% fitting to the symbol they belong to. This is done in such a way that +% the left and right subscripts and superscripts are set on the same line, +% respectivly. +% \end{abstract} +% +% \tableofcontents +% +% \section*{Copyright} +% Copyright 2007 Stefan Karrmann. +% +% 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. +% +% \section{Introduction} +% +% In mathematical equations, it is sometimes necessary to use indices +% (subscript or superscript) that are positioned at the left side of a +% symbol. +% In tensor mathematics, for instance, some notations use a transponed +% sign at the left side of the symbol: +% \begin{eqnarray*} +% \fourIdx{\mathrm{t}}{}{}{}{\left(A_{ij}\right)} &=& +% \left(A_{ji}\right) +% \end{eqnarray*} +% +% For symbols with a normal character height, this can be reached by +% simply put the indices without an own symbol: +% +% \noindent +% \begin{minipage}[c]{0.79\linewidth} +% \leavevmode\begin{verbatim} +% ${_1^2}a_3^4$ +% \end{verbatim} +% \end{minipage} +% \begin{minipage}[c]{0.19\linewidth} +% ${_1^2}a_3^4$ +% \end{minipage} +% +% \noindent +% Is the symbol larger, this leads to unsatisfactory results: +% +% \noindent +% \begin{minipage}[c]{0.79\linewidth} +% \leavevmode\begin{verbatim} +% ${_1^2}\left(\frac{1}{b}\right)_3^4$ +% \end{verbatim} +% \end{minipage} +% \begin{minipage}[c]{0.19\linewidth} +% ${_1^2}\left(\frac{1}{b}\right)_3^4$ +% \end{minipage} +% +% \noindent +% If the subscripts on the left and right side are of different height, +% the result is also unsatisfactory: +% +% \noindent +% \begin{minipage}[c]{0.79\linewidth} +% \leavevmode\begin{verbatim} +% ${^{(k)}_n}A^x_{\overline x\vert}$ +% \end{verbatim} +% \end{minipage} +% \begin{minipage}[c]{0.19\linewidth} +% ${^{(k)}_n}A^x_{\overline x\vert}$ +% \end{minipage} +% +% \noindent +% A better output can be reached by using the package |fouridx.sty|: +% +% \noindent +% \begin{minipage}[c]{0.79\linewidth} +% \leavevmode\begin{verbatim} +% $\fourIdx{2}{1}{4}{3}{\left(\frac{1}{b}\right)}$ +% \end{verbatim} +% \end{minipage} +% \begin{minipage}[c]{0.19\linewidth} +% $\fourIdx{2}{1}{4}{3}{\left(\frac{1}{b}\right)}$ +% \end{minipage} +% +% \noindent +% \begin{minipage}[c]{0.79\linewidth} +% \leavevmode\begin{verbatim} +% $\fourIdx{(k)}{n}{x}{\overline x\vert}A$ +% \end{verbatim} +% \end{minipage} +% \begin{minipage}[c]{0.19\linewidth} +% $\fourIdx{(k)}{n}{x}{\overline x\vert}A$ +% \end{minipage} +% +% \section{Usage of the package} +% +% Two commands are provided by the package. +% +% \DescribeMacro{\fourIdx}% +% The \cs{fouridx} command has the syntax +% \cs{fouridx}\marg{left superscript}\marg{left subscript}% +% \marg{right superscript}\marg{right subscript}\marg{symbol}. +% This command typesets the symbol \meta{symbol} with indices on the +% left and on the right side. +% Example: +% +% \noindent +% \begin{minipage}[c]{0.79\linewidth} +% \leavevmode\begin{verbatim} +% $\fourIdx1234{\left(\frac{1}{b}\right)}$ +% \end{verbatim} +% \end{minipage} +% \begin{minipage}[c]{0.19\linewidth} +% $\fourIdx1234{\left(\frac{1}{b}\right)}$ +% \end{minipage} +% +% \noindent +% You may omit left or right indices by using empty arguments. +% +% The next example shows the same in the different mathematical +% styles: +% \def\asdf{\fourIdx1234{\left(\frac1b\right)}}% +% \begin{displaymath} +% \displaystyle\asdf\quad\textstyle\asdf\quad +% \scriptstyle\asdf\quad\scriptscriptstyle\asdf +% \end{displaymath} +% +% \StopEventually{\PrintChanges \PrintIndex} +% +% \section{The implementation} +% \iffalse +%<*package> +% \fi +% Heading of the package: +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{fouridx}[\filedate\space v\fileversion\space Four indices] +% \end{macrocode} +% \begin{macro}{\fouridx} +% \changes{1.00}{2008/03/27}{Implementation simplyfied}% +% Command for left indices. +% \begin{macrocode} +\newcommand{\fourIdx}[5]{% + \setbox1=\hbox{\ensuremath{^{#1}}}% + \setbox2=\hbox{\ensuremath{_{#2}}}% + \setbox5=\hbox{\ensuremath{#5}}% + \hspace{\ifnum\wd1>\wd2\wd1\else\wd2\fi}% + \ensuremath{\copy5^{\hspace{-\wd1}\hspace{-\wd5}#1\hspace{\wd5}#3}% + _{\hspace{-\wd2}\hspace{-\wd5}#2\hspace{\wd5}#4}% +}} +% \end{macrocode} +% \end{macro} +% +% \iffalse +%</package> +% \fi +% \Finale diff --git a/Master/texmf-dist/source/latex/fouridx/fouridx.ins b/Master/texmf-dist/source/latex/fouridx/fouridx.ins new file mode 100644 index 00000000000..7cfb6d3ad8f --- /dev/null +++ b/Master/texmf-dist/source/latex/fouridx/fouridx.ins @@ -0,0 +1,26 @@ +\input docstrip.tex +\preamble + + fouridx package + + Copyright 2008 Stefan Karrmann + + 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. + + S.Karrmann at web.de + +\endpreamble + +\askforoverwritefalse + +% Files +%%%%%%%%%%%%%%%%%%%%%% +\generate{% + \file{fouridx.sty}{\from{fouridx.dtx}{package}}% + \file{fouridx.tex}{\from{fouridx.dtx}{package}}% +} +\Msg{* Ready} +\endbatchfile |