% \iffalse meta comment % File: leftidx.dtx Copyright (C) 2000, 2001, 2003 Harald Harders % \fi % % \iffalse % %<*package> \def\fileversion{1.03} \def\filedate{2003/09/24} % %<*driver> \documentclass{ltxdoc} \usepackage[latin1]{inputenc} \IfFileExists{leftidx.sty}{\usepackage{leftidx} \let\leftidxSTYfound\active}{\GenericWarning{leftidx.dtx}{Package file leftidx.sty not found (Documentation will be messed up!^^J^^A Generate leftidx.sty by (La)TeXing leftidx.ins, process leftidx.dtx again)^^J}\stop} \usepackage{longtable} \title{The \texttt{leftidx} package\thanks{This file has version \fileversion\ last revised \filedate.}} \author{Harald Harders\\\texttt{h.harders@tu-bs.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{14} \begin{document} \DocInput{leftidx.dtx} \end{document} % % \fi % % \changes{1.03}{2003/09/24}{Reimplementation with dtx format with % 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. % \end{abstract} % % \tableofcontents % % \section*{Copyright} % Copyright 2000, 2001, 2003 Harald Harders. % % 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*} % \leftidx{^\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 % A better output can be reached by using the package |leftidx.sty|: % % \noindent % \begin{minipage}[c]{0.79\linewidth} % \leavevmode\begin{verbatim} %$\leftidx{_1^2}{\left(\frac{1}{b}\right)}{_3^4}$ % \end{verbatim} % \end{minipage} % \begin{minipage}[c]{0.19\linewidth} %$\leftidx{_1^2}{\left(\frac{1}{b}\right)}{_3^4}$ % \end{minipage} % % \section{Usage of the package} % % Two commands are provided by the package. % % \DescribeMacro{\leftidx}% % The \cs{leftidx} command has the syntax % \cs{leftidx}\marg{left indices}\marg{symbol}\marg{right indices}. % 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} %$\leftidx{_1^2}{\left(\frac{1}{b}\right)}{_3^4}$ % \end{verbatim} % \end{minipage} % \begin{minipage}[c]{0.19\linewidth} % $\leftidx{_1^2}{\left(\frac{1}{b}\right)}{_3^4}$ % \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{\leftidx{_1^2}{\left(\frac1b\right)}{_3^4}}% % \begin{displaymath} % \displaystyle\asdf\quad\textstyle\asdf\quad % \scriptstyle\asdf\quad\scriptscriptstyle\asdf % \end{displaymath} % As you can see from the left indices, the horizontal spacing of the % left indices is not perfect. % You have to adjust them by yourself. % % \DescribeMacro{\ltrans}% % The \cs{ltrans}\marg{symbol} command typesets a small upright ``t'' % as transponed sign on the left side of \meta{symbol}. % Example: % % \noindent % \begin{minipage}[c]{0.79\linewidth} % \leavevmode\begin{verbatim} %$\ltrans{\underline{\underline{J}}}= %\underline{\underline{J}}^{-1}$ % \end{verbatim} % \end{minipage} % \begin{minipage}[c]{0.19\linewidth} % $\ltrans{\underline{\underline{J}}}=\underline{\underline{J}}^{-1}$ % \end{minipage} % % % \StopEventually{\PrintChanges \PrintIndex} % % \section{The implementation} % \iffalse %<*package> % \fi % Heading of the package: % \begin{macrocode} \NeedsTeXFormat{LaTeX2e}[1995/12/01] \ProvidesPackage{leftidx}[\filedate\space v\fileversion\space Left indices] % \end{macrocode} % \begin{macro}{\leftidx} % \changes{1.03}{2003/09/24}{Implementation simplyfied}% % Command for left indices. % The braces around the \cs{vphantom} are necessary to really raise % the left indices. % \begin{macrocode} \newcommand\leftidx[3]{% {\vphantom{#2}}#1#2#3% } % \end{macrocode} % \end{macro} % \begin{macro}{\ltrans} % Left positioned transponed sign. % \begin{macrocode} \newcommand{\ltrans}[1]{\leftidx{^\mathrm{t}}{\!#1}{}} % \end{macrocode} % \end{macro} % % \iffalse % % \fi % \Finale