From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 2 Sep 2019 13:46:59 +0900 Subject: Initial commit --- macros/latex/contrib/tensind/tensind.tex | 211 +++++++++++++++++++++++++++++++ 1 file changed, 211 insertions(+) create mode 100644 macros/latex/contrib/tensind/tensind.tex (limited to 'macros/latex/contrib/tensind/tensind.tex') diff --git a/macros/latex/contrib/tensind/tensind.tex b/macros/latex/contrib/tensind/tensind.tex new file mode 100644 index 0000000000..5fb7a93248 --- /dev/null +++ b/macros/latex/contrib/tensind/tensind.tex @@ -0,0 +1,211 @@ +% +% Copyright (C) 1998-2019 Javier Bezos http://www.texnia.com +% +% This file may be distributed and/or modified under the conditions of +% the MIT License. A version can be found at the end of this file. +% + +\def\fileversion{1.1} +\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.1.}} + +\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} + +MIT License +----------- + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- cgit v1.2.3