diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /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.tex | 139 |
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} |