summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/uspace/uspace.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/uspace/uspace.tex
Initial commit
Diffstat (limited to 'macros/latex/contrib/uspace/uspace.tex')
-rw-r--r--macros/latex/contrib/uspace/uspace.tex139
1 files changed, 139 insertions, 0 deletions
diff --git a/macros/latex/contrib/uspace/uspace.tex b/macros/latex/contrib/uspace/uspace.tex
new file mode 100644
index 0000000000..b46a4f7b01
--- /dev/null
+++ b/macros/latex/contrib/uspace/uspace.tex
@@ -0,0 +1,139 @@
+\documentclass[paper=B5,DIV=calc,parskip=half]{scrartcl}
+\usepackage{ifluatex}
+\ifluatex
+\usepackage{luatex85}
+\fi
+
+\usepackage{fontspec}
+%\defaultfontfeatures{Ligatures={TeX,Common},Scale=MatchLowercase}
+\setmainfont[]{Charis SIL}
+\setsansfont[Ligatures={TeX,Common}, Scale=MatchLowercase]{TeX Gyre Heros}
+\setmonofont[Ligatures=,Scale=MatchLowercase]{DejaVu Sans Mono}
+
+\usepackage{listings}
+\usepackage{enumitem}
+%\usepackage{enumitem-zref}
+\usepackage{polyglossia}
+\setmainlanguage[]{english}
+
+\usepackage{uspace}
+\usepackage[autostyle]{csquotes}
+
+\author{Václav Haisman\texorpdfstring{%
+ \\{\small\href{mailto:vhaisman+uspace@gmail.com?subject=[uspace]}{vhaisman@gmail.com}}}{}}
+\date{\today}
+\title{\texttt{uspace} user manual}
+\subtitle{v0.04}
+
+\usepackage{xcolor}
+\usepackage{multicol}
+\usepackage{microtype}
+\usepackage{metalogo}
+\usepackage{hologo}
+
+\PassOptionsToPackage{unicode}{hyperref}
+\usepackage{bookmark}
+\hypersetup{
+ colorlinks,
+ linkcolor={red!50!black},
+ citecolor={blue!50!black},
+ urlcolor={blue!80!black},
+ breaklinks=true}
+\urlstyle{same} % don't use monospace font for urls
+
+\setlength{\emergencystretch}{3em} % prevent overfull lines
+
+\lstdefinestyle{myLatexStyle}{
+ language=[LaTeX]{Tex},
+ basicstyle=\ttfamily
+}
+
+\lstset{style=myLatexStyle}
+
+\newcommand{\zwsp}{\textsc{zero width space}}
+\newcommand{\nnbsp}{\textsc{narrow no-break space}}
+\newcommand{\nbsp}{\textsc{non-breaking space}}
+\newcommand{\shy}{\textsc{soft hyphen}}
+\newcommand{\enquad}{\textsc{en quad}}
+\newcommand{\enspaceC}{\textsc{en space}}
+\newcommand{\emquad}{\textsc{em quad}}
+\newcommand{\emspaceC}{\textsc{em space}}
+\newcommand{\threePerEm}{\textsc{three-per-em space}}
+\newcommand{\fourPerEm}{\textsc{four-per-em space}}
+\newcommand{\sixPerEm}{\textsc{six-per-em space}}
+\newcommand{\figuresp}{\textsc{figure space}}
+\newcommand{\punctsp}{\textsc{punctuation space}}
+\newcommand{\thinsp}{\textsc{thin space}}
+\newcommand{\hairsp}{\textsc{hair space}}
+\newcommand{\linesep}{\textsc{line separator}}
+\newcommand{\nel}{\textsc{next line (nel)}}
+\newcommand{\parasep}{\textsc{paragraph separator}}
+
+\begin{document}
+\begin{titlepage}
+ \maketitle
+\end{titlepage}
+
+\tableofcontents
+
+\section{Introduction}%
+%
+This \LaTeX{} package gives useful meaning to various Unicode space
+characters so that they fulfill their intended function when used in \LaTeX{}
+source. It uses \lstinline|\newunicodechar| macro to do it. Its source is
+hosted on GitHub in
+\texttt{\href{https://github.com/wilx/project-uspace}{wilx/project-uspace}}
+repository.
+
+Here is a list of the implemented characters
+and their implementations:\nobreak%
+\begin{labeling}[\quad]{\nnbsp{} (\texttt{U+202F})}
+\item[\zwsp{} (\texttt{U+200B})] \lstinline|\hspace{0pt}|
+\item[\nnbsp{} (\texttt{U+202F})] \lstinline|\leavevmode\,|
+\item[\nbsp{\footnotemark[1]} (\texttt{U+00A0})] \lstinline|~|
+\item[\shy{\footnotemark[1]} (\texttt{U+00AD})] \lstinline|\-|
+\item[\emquad{\footnotemark[2]} (\texttt{U+2001})] \lstinline|\quad|
+\item[\emspaceC{\footnotemark[2]} (\texttt{U+2001})] \lstinline|\quad|
+\item[\enquad{\footnotemark[3]} (\texttt{U+2000})] \lstinline|\enskip|
+\item[\enspaceC{\footnotemark[3]} (\texttt{U+2000})] \lstinline|\enskip|
+\item[\threePerEm{} (\texttt{U+2004})] \lstinline|\hspace{0.33333em}|
+\item[\fourPerEm{} (\texttt{U+2005})] \lstinline|\hspace{0.25em}|
+\item[\sixPerEm{} (\texttt{U+2006})] \lstinline|\hspace{0.16667em}|
+\item[\figuresp{} (\texttt{U+2007})] \lstinline|\leavevmode\hphantom{0}|
+\item[\punctsp{} (\texttt{U+2008})] \lstinline|\hspace{\fontcharwd \font `\,}|
+\item[\thinsp{} (\texttt{U+2009})] \lstinline|\leavevmode\allowbreak\,|
+\item[\hairsp{} (\texttt{U+200A})] \lstinline|\hspace{0.08333em}|
+\item[\linesep{} (\texttt{U+2028})] \lstinline|\newline|
+\item[\nel{} (\texttt{U+0085})] \lstinline|\newline|
+\item[\parasep{} (\texttt{U+2029})] \lstinline|\csname par\endcsname|
+\end{labeling}
+\footnotetext[1]{This already defined for \hologo{pdfLaTeX} because we use
+ \lstinline|inputenc| with \lstinline|utf8| option when compiling with
+ \hologo{pdfLaTeX}, therefore this is only defined for \LuaLaTeX{} and
+ \XeLaTeX{}.}
+\footnotetext[2]{According to Unicode, these two are canonically
+ equivalent. See \url{http://unicode.org/notes/tn5/}
+ for explanation of the term.}
+\footnotetext[3]{These two are also canonically equivalent. See previous
+ footnote.}
+
+
+\section{History}%
+%
+This package would not be what it is without help and comments from people of
+\href{http://chat.stackexchange.com/rooms/41/tex-latex-and-friends}{\TeX{},
+ \LaTeX{} and Friends} StackExchange chat room and the
+\href{http://tex.stackexchange.com/}{\TeX.SE} site itself.
+
+\begin{description}[style=nextline, labelwidth=4.5em, leftmargin=!,
+ labelindent=0em]
+ \item[\texttt{v0.04}] Add implementation for \linesep{}, \nel{}
+ and \parasep{}.
+ \item[\texttt{v0.03}] Change implementation for \punctsp{} and \thinsp{} to
+ fix issues with line wrapping when using these characters.
+ \item[\texttt{v0.02}] Round lengths to five digits after decimal
+ point. List also Unicode code point values beside character names.
+ \item[\texttt{v0.01}] First published version of this package.
+\end{description}
+
+\end{document}