From 983919fa4b54274bd32f16c3ac5ab30150c6c387 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 25 Aug 2020 20:52:29 +0000 Subject: leftindex (25aug20) git-svn-id: svn://tug.org/texlive/trunk@56182 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/leftindex/README.md | 29 ++++ .../texmf-dist/doc/latex/leftindex/leftindex.pdf | Bin 0 -> 72581 bytes .../texmf-dist/doc/latex/leftindex/leftindex.tex | 146 +++++++++++++++++++++ 3 files changed, 175 insertions(+) create mode 100644 Master/texmf-dist/doc/latex/leftindex/README.md create mode 100644 Master/texmf-dist/doc/latex/leftindex/leftindex.pdf create mode 100644 Master/texmf-dist/doc/latex/leftindex/leftindex.tex (limited to 'Master/texmf-dist/doc/latex') diff --git a/Master/texmf-dist/doc/latex/leftindex/README.md b/Master/texmf-dist/doc/latex/leftindex/README.md new file mode 100644 index 00000000000..7832b57454c --- /dev/null +++ b/Master/texmf-dist/doc/latex/leftindex/README.md @@ -0,0 +1,29 @@ +leftindex -- left indices with better spacing +-------------------------------------- + +The package leftindex provides commands for typesetting left indices. Unlike +any other similar package I know of, leftindex also indents the left superscript, +providing much better spacing in general. + +---------------------------------------------------------------- +leftindex -- left indices with better spacing +Version: 0.1beta +Maintained by Sebastian Ørsted +E-mail: sorsted@gmail.com +Released under the LaTeX Project Public License v1.3c or later +See http://www.latex-project.org/lppl.txt +---------------------------------------------------------------- + +Copyright (C) 2020 by Sebastian Ørsted + +The package is loaded via \usepackage{leftindex} + +This work may be distributed and/or modified under the +conditions of the LaTeX Project Public License (LPPL), either +version 1.3c of this license or (at your option) any later +version. The latest version of this license is in the file: + +http://www.latex-project.org/lppl.txt + +This work is "maintained" (as per LPPL maintenance status) by +Sebastian Ørsted. \ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/leftindex/leftindex.pdf b/Master/texmf-dist/doc/latex/leftindex/leftindex.pdf new file mode 100644 index 00000000000..01950aa9a37 Binary files /dev/null and b/Master/texmf-dist/doc/latex/leftindex/leftindex.pdf differ diff --git a/Master/texmf-dist/doc/latex/leftindex/leftindex.tex b/Master/texmf-dist/doc/latex/leftindex/leftindex.tex new file mode 100644 index 00000000000..45f21c4c208 --- /dev/null +++ b/Master/texmf-dist/doc/latex/leftindex/leftindex.tex @@ -0,0 +1,146 @@ +\documentclass[a4paper,article,oneside,10pt]{memoir} + +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{babel} +\usepackage{kpfonts,microtype} + +\usepackage{leftindex,listings,showexpl,xspace} + +\usepackage[hidelinks]{hyperref} + +\frenchspacing + +\newcommand\entrydescription[1]{% + \textlangle\textrm{\textit{#1}}\textrangle +} + +\catcode`<=\active + +\def<#1>{\entrydescription{#1}} + +\lstset{ + language=[LaTeX]TeX, + basicstyle=\ttfamily\small, + commentstyle=\itshape\ttfamily\small, + escapechar=@, + alsoletter=\\, + breaklines=true, + breakindent={0pt}, + captionpos=t, + pos=r, + tabsize=2, + inputencoding=utf8, + extendedchars=true, + explpreset={numbers=none,}, +} + +\newcommand\pkgleftindex{\texttt{leftindex}\xspace} + +\title{\pkgleftindex\ -- left indices with better spacing (v0.1$\beta$)} +\date{\today} +\author{Sebastian \O rsted (\href{mailto:sorsted@gmail.com}{sorsted@gmail.com})} + +\hypersetup{ + pdfauthor={Sebastian \O rsted}, + pdftitle={leftindex -- left indices with better spacing}, +} + +\begin{document} + +\maketitle + +\noindent +The package \pkgleftindex provides commands for typesetting left indices. +Unlike any other similar package I know of, \pkgleftindex also indents the left superscript, providing much better spacing in general: +\[ + \leftindex^a_b{f} + \qquad\text{(compare to $\leftindex[]^a_b{f}$)} + . +\] +As \TeX\ provides no metrics for the indentation of left superscripts, +the only way to accomplish this is to measure the negative indentation of the right subscript and then use that value. +This works well for most symbols, with a few exceptions, which can be dealt with by +supplying a few extra arguments. +The package is a generalization of egreg's excellent code on +\begin{center} + \url{https://tex.stackexchange.com/questions/557655/low-level-command-for-controlling-left-superscript-spacing/} +\end{center} + +\chapter*{The commands} + +The fundamental, user-level command of~\pkgleftindex is called~\lstinline!\leftindex! and has +the syntax +\begin{lstlisting} +\leftindex^{@@}_{@@}{@@} +\end{lstlisting} +Both the arguments and +are optional. Let us see it in action: +\begin{LTXexample} +$ \leftindex^a_b {f} $, +$ \leftindex^t {X} $ +$ \leftindex_b {J} $, +$ \leftindex_v^u {\Pi} $, +$ \leftindex{A} $, +\[ + \leftindex^1_0 { \int } + f(x)\, dx +\] +\end{LTXexample} +For the indentaiton of the left superscript, the package always +uses the negative indentation of the right subscript. This yields good results +most of the time, as seen above. However, there are cases where this goes wrong, +the most notable example being the Greek letter~$ \Gamma $ in many fonts (not in Computer Modern, though). Less serious examples arise with letters like $P$ and $L$: +\begin{LTXexample} +$ \Gamma^a_b $ +vs. +$ \leftindex^a_b {\Gamma} $, +$ L^a_b $ +vs. +$ \leftindex^a_b {L} $, +$ P^a_b $ +vs. +$ \leftindex^a_b {P} $ +\end{LTXexample} +To solve this issue, \lstinline!\leftindex! takes two +additional, optional arguments: +\begin{lstlisting} +\leftindex[@@][@@] + ^{@@}_{@@}{@@} +\end{lstlisting} +The package will then use the instead of the to calculate the indentation of the superscript. The argument can be left empty, in which +case the left superscript will not be indented at all, which is the right solution for the symbol~$ \Gamma $: +\begin{LTXexample} +$\leftindex[]^a_b {\Gamma}$, +$\leftindex[I]^a_b {L}$, +$\leftindex[I]^a_b {P}$ +\end{LTXexample} +The will never be used for calculating the height of the indices. +For this, you can supply a : +\begin{LTXexample} +$\leftindex[][\Bigg|]^a_b{x}$ +\end{LTXexample} +I doubt anyone will ever really need this much in practice, but the option is provided for completeness. + +I provide a more primitive, underlying command with four mandatory arguments: +\begin{lstlisting} +\manualleftindex{@@}{@@} + {@@}{@@} +\end{lstlisting} +This one is mainly intended for use in commands and by other packages. +Note that the arguments and have +switched places compared to the command~\lstinline!\leftindex!. +This is because is regarded as a ``more important'' +argument than from an implementation point of view, +but the user is probably less likely to change it. Therefore, +the user-level command~\lstinline!\leftindex! has +before . +Note also that \lstinline!\manualleftindex! does not take a ; +you will have to write this yourself afterwards: +\begin{LTXexample} +$\manualleftindex{P}{I}{a}{b}$ +vs. +$\manualleftindex{P}{I}{a}{b} P$ +\end{LTXexample} + +\end{document} \ No newline at end of file -- cgit v1.2.3