summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/fouridx
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2008-03-30 23:20:15 +0000
committerKarl Berry <karl@freefriends.org>2008-03-30 23:20:15 +0000
commitc10933230ee220e309792e17457c4a8486519e43 (patch)
treeb38b90ca7ec7026233ef2dcc3b3f3a0652051613 /Master/texmf-dist/source/latex/fouridx
parent15c3636372419100306039c936173e07445cff51 (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.dtx210
-rw-r--r--Master/texmf-dist/source/latex/fouridx/fouridx.ins26
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