\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}