summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/thinsp/thinsp.tex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/thinsp/thinsp.tex
Initial commit
Diffstat (limited to 'macros/latex/contrib/thinsp/thinsp.tex')
-rw-r--r--macros/latex/contrib/thinsp/thinsp.tex174
1 files changed, 174 insertions, 0 deletions
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: