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/thinsp/thinsp.tex | 174 +++++++++++++++++++++++++++++++++ 1 file changed, 174 insertions(+) create mode 100644 macros/latex/contrib/thinsp/thinsp.tex (limited to 'macros/latex/contrib/thinsp/thinsp.tex') diff --git a/macros/latex/contrib/thinsp/thinsp.tex b/macros/latex/contrib/thinsp/thinsp.tex new file mode 100644 index 0000000000..0043f9c3e5 --- /dev/null +++ b/macros/latex/contrib/thinsp/thinsp.tex @@ -0,0 +1,174 @@ +\pdfoutput1 +\documentclass[a4paper,11pt,british]{article} +\usepackage[T1]{fontenc} +\usepackage[colorlinks]{hyperref} +\usepackage{babel,thinsp,listings,tabularx,booktabs,ragged2e,textcomp} +\author{Palle J\o rgensen} +\title{The \thinsp\ package} +\def\origthinspace{\kern .16667em } +\def\orignegthinspace{\kern-.16667em } +\def\thinsp{\texttt{thinsp}} +\def\strthinspace{\texttt{\string\thinspace}} +\lstset{language=[latex]tex,breaklines=true} +\setcounter{tocdepth}{1} +\begin{document} +\maketitle + +\section*{Summary} +\label{sec:summary} + +The \thinsp\ package provides a stretchable \strthinspace\ to replace +\LaTeX's normal \strthinspace. + +\tableofcontents + +\section{Introduction} +\label{sec:introduction} + +The normal \strthinspace\ command which \LaTeX\ provides as standard +is a fixed space of 0.16667em, with no strething. This gives an akward +spacing when using \strthinspace\ in underfull \verb+\hbox+'s. + +Say, I wanted to create a certain box with the name P.\,A.\,M. Dirac +in it. To provide a proper spacing between the initials I use a +\strthinspace\ between the letters. Here shown with some +\verb+\framebox+'es. + +\begin{verbatim} +\noindent\fbox{P.\,A.\,M. Dirac}\\ +\framebox[\linewidth][s]{P.\,A.\,M. Dirac created + relativistic quantum mechanics} +\end{verbatim} + +Then I would get something looking like this when using the original +\strthinspace\ from \LaTeX\medskip: + +\noindent\fbox{P.\origthinspace A.\origthinspace M. + Dirac}\\ \framebox[\linewidth][s]{P.\origthinspace A.\origthinspace + M. Dirac created relativistic quantum mechanics}\medskip + +In this example with the original spacing if \strthinspace\ the +spacing between the initials is the same, whether or not the +\verb+\hbox+ is underfull and need som stretcing or not. This makes +the initials to appear ``unnaturally'' close when comparing them to +the other characters. + +With a \strthinspace\ that is strecthable like the normal space, the +resulting box is appearing more natural.\medskip + +\noindent\fbox{P.\,A.\,M. Dirac}\\ +\framebox[\linewidth][s]{P.\,A.\,M. Dirac created relativistic quantum + mechanics}\medskip + +\section{Usage} +\label{sec:usage} + +The simplest usage of the package is simply adding +\begin{lstlisting} +\usepackage{thinsp} +\end{lstlisting} +to your preamble. + +The the \strthinspace\ command as well as the \verb+\,+ shortcut is +replaced by the stretchable \strthinspace + +The package furthermore provides a command +\verb+\thinthinspace+ with half the width of \strthinspace. + +\subsection{Options} +\label{sec:options} + +\begin{tabularx}{\linewidth}{>{\ttfamily}l>{\RaggedRight}X} + \toprule + \textrm{Option} & Description\\ + \midrule + + nothinspace & Disables the replacement of \strthinspace. + The stretchable thinspace is still available as + \texttt{\string\stretchthinspace}.\\ + + thinspace & Dummy option as counterpart to \texttt{nothinspace}\\ + + nothinthinspace & Disables the possible\footnotemark\ replacement of + \texttt{\string\thinthinspace}. The stretchable thinthinspace is + still available as \texttt{\string\stretchthinthinspace}.\\ + + thinthinspace & Dummy option as counterpart to + \texttt{nothinthinspace}\\ + + negthinspace & Provides a stretchable \texttt{\string\negthinspace}. + This is not default, as \texttt{\string\negthinspace} may be used + with caution anyway, and almost always should be replaced by a + manually \texttt{\string\kern}. A stretchable + \texttt{\string\negthinspace} is available as + \texttt{\string\stretchnegthinspace}\\ + + nonegthinspace & Dummy option as counterpart to + \texttt{negthinspace}\\ + + \midrule + + onehalf & Ajusting the stretchable \strthinspace\ to half of the + ordinary space. This is default, as it appears just like the + original \strthinspace\ in boxes that are not stretched.\\ + + onethird & Ajusting the stretchable \strthinspace\ to one third of + the ordinary space.\\ + + twothirds & Ajusting the stretchable \strthinspace\ to two thirds of + the ordinary space. This is the author's favourite\dots\\ + \bottomrule +\end{tabularx} +\footnotetext{Some packages provide a \texttt{\string\thinthinspace} + command} + +\section{\thinsp\ and other packages} +\label{sec:thinsp-other-pack} + +As the package \texttt{amsmath} redifines \strthinspace\ as well, +there is a minor clash between these two packages. Hence \thinsp\ +redefines \strthinspace\ at the beginning of the document, and if +\texttt{amsmath} is loaded, the \strthinspace\ is redefined in an +``\texttt{amsmath} way''. + +\section{Bug reports and comments} +\label{sec:bug-reports-comments} + +Any comment on this package can be sent to the author on his e-mail +address: \url{hamselv@pallej.dk}. + +\section{Copyright and license} +\label{sec:copyright-license} + +The \thinsp\ package and this documentation i copyright +\textcopyright\ 2007, 2016 by Palle J\o rgensen. + +The license of the \thinsp\ package and this documentation is GNU +General Public License (GPL). + +You should have received a copy of the GNU General Public License +along with this program. If not, see \url{http://www.gnu.org/licenses/}. + +\appendix +\clearpage + +\section{Source code of \texttt{thinsp.sty}} +\label{sec:source-code-thinsp.s} + +\lstinputlisting{thinsp.sty} + +\end{document} +\clearpage + +\section{Source code of this document} +\label{sec:source-code-this} + +\lstinputlisting{\jobname.tex} + + +\end{document} + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: t +%%% End: -- cgit v1.2.3