From 31231686b0b60fdcd0a2ca264ffbbe8a11c4cdb1 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 7 Oct 2016 22:26:48 +0000 Subject: uspace (6oct16) git-svn-id: svn://tug.org/texlive/trunk@42229 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/uspace/LICENSE | 21 +++ Master/texmf-dist/doc/latex/uspace/README.md | 11 ++ Master/texmf-dist/doc/latex/uspace/uspace-test.pdf | Bin 0 -> 25148 bytes Master/texmf-dist/doc/latex/uspace/uspace-test.tex | 150 +++++++++++++++++++++ Master/texmf-dist/doc/latex/uspace/uspace.pdf | Bin 0 -> 73962 bytes Master/texmf-dist/doc/latex/uspace/uspace.tex | 126 +++++++++++++++++ 6 files changed, 308 insertions(+) create mode 100644 Master/texmf-dist/doc/latex/uspace/LICENSE create mode 100644 Master/texmf-dist/doc/latex/uspace/README.md create mode 100644 Master/texmf-dist/doc/latex/uspace/uspace-test.pdf create mode 100644 Master/texmf-dist/doc/latex/uspace/uspace-test.tex create mode 100644 Master/texmf-dist/doc/latex/uspace/uspace.pdf create mode 100644 Master/texmf-dist/doc/latex/uspace/uspace.tex (limited to 'Master/texmf-dist/doc') diff --git a/Master/texmf-dist/doc/latex/uspace/LICENSE b/Master/texmf-dist/doc/latex/uspace/LICENSE new file mode 100644 index 00000000000..872ab4f9e10 --- /dev/null +++ b/Master/texmf-dist/doc/latex/uspace/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2016 Václav Haisman + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/Master/texmf-dist/doc/latex/uspace/README.md b/Master/texmf-dist/doc/latex/uspace/README.md new file mode 100644 index 00000000000..c0c07ac8afc --- /dev/null +++ b/Master/texmf-dist/doc/latex/uspace/README.md @@ -0,0 +1,11 @@ +# project-uspace + +LaTeX package that gives meaning to various Unicode space characters. + +- License is MIT license. See `LICENSE` file. + +- Author is [Václav Haisman](mailto:vhaisman+uspace@gmail.com?subject=[uspace]) + +- Source code on GitHub + in [`wilx/project-uspace`](https://github.com/wilx/project-uspace) + repository. diff --git a/Master/texmf-dist/doc/latex/uspace/uspace-test.pdf b/Master/texmf-dist/doc/latex/uspace/uspace-test.pdf new file mode 100644 index 00000000000..3d4217ab70b Binary files /dev/null and b/Master/texmf-dist/doc/latex/uspace/uspace-test.pdf differ diff --git a/Master/texmf-dist/doc/latex/uspace/uspace-test.tex b/Master/texmf-dist/doc/latex/uspace/uspace-test.tex new file mode 100644 index 00000000000..0c0b8cb573f --- /dev/null +++ b/Master/texmf-dist/doc/latex/uspace/uspace-test.tex @@ -0,0 +1,150 @@ +\documentclass{article} +\usepackage{lmodern} +\usepackage{ifluatex} +\ifnum 0\ifluatex 1\fi=1 % if LuaLaTeX +\usepackage{luatex85} +\fi +\usepackage[a6paper]{geometry} +\usepackage{parskip} +\usepackage[para,online,flushleft]{threeparttable} +\usepackage{array} +\PassOptionsToPackage{unicode}{hyperref} +\usepackage{bookmark} +\hypersetup{ + hidelinks, + breaklinks} +\urlstyle{same} % don't use monospace font for urls +\usepackage{uspace} + + +%\setlength{\emergencystretch}{3em} % prevent overfull lines +\DeclareRobustCommand{\expl}[1]{\textsf{#1}} +\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}} + +\overfullrule=0.5em + +\begin{document} + +\section{\zwsp{}} + +\expl{\LaTeX{} does not hyphenate word after solidus (forward slash) in + compounds like `input/output'. Inserting \zwsp{} after the solidus in such + compound forces \LaTeX{} to consider the compound to be two words and thus + it will use the usual line breaking algorithm for the second word of the + compound. The following few lines are testing behaviour \emph{without} + \zwsp{} inserted:} + +Here, we are---testing line breaking of `input/output' compound. + +Here, we are--testing line breaking of `input/output' compound. + +\expl{Notice how both lines cause hbox overflow because \LaTeX{} cannot find + good line break.} + +\expl{And now \emph{with} \zwsp{} inserted:} + +Here, we are---testing line breaking of `input/​output' compound. + +Here, we are--testing line breaking of `input/​output' compound. + +\pagebreak +\section{\nnbsp{}} + +\expl{\nnbsp{} is used, e.g., in German and Czech typography to separate + multi-part abbreviations. Here is an example with `s. r. o.', which is an + equivalent of LLC or GmbH in Czech. It should be typeset with narrow space + between letters and no line break should occur between the letters:} + +\begin{tabular}{l | p{0.75\textwidth}} + s.r.o. & \expl{without any spaces} \tabularnewline + s.~r.~o. & \expl{with usual \nbsp{} (\textasciitilde{})} \tabularnewline + s. r. o. & \expl{with \nnbsp{}} \tabularnewline +\end{tabular} + +\expl{The following sentence is showing line breaking when ordinary space is + used:} + +He invested all of his savings into Pyramid s. r. o. and lost all of it. + +\expl{And here we use \nnbsp{} for much nicer result:} + +He invested all of his savings into Pyramid s. r. o. and lost all of it. + +\pagebreak + +\section{\nbsp{}} + +\expl{Here, we are testing the use of Unicode character \nbsp{}:} + +Telephone number example for Czechia: +420 123 456 789 + +Telephone number example for Czechia: +420 123 456 789 + +\expl{The line above overflows hbox because line break cannot be inserted + between digits groups due to use of \nbsp{}.} + +\pagebreak + +\section{\shy{}} +\expl{Sometimes, text might come with words pre-​hyphenated using \shy{} + character. Let's use the name `Kurremkarmerruk', name of Master Namer from + Earthsea novels by Ursula K.\ Le~Guin, as an example here. Without manually + inserted \shy{}, it will be hyphenated but it will overflow hbox slightly:} + +The name of the Master Namer is `Kurremkarmerruk'. + +\expl{Here is the same with with \shy{} inserted as follows: + Kur-rem-kar-mer-ruk.} + +The name of the Master Namer is `Kur­rem­kar­mer­ruk'. + +\expl{Note: I claim no correctness of the above hyphenation of the name. This + is purely just an example.} + +\pagebreak + +\section{en, em and other spaces} + +\expl{Unicode contains several more space characters, some of which are shown in +the following table:} + +\begin{center} +\begin{threeparttable} +\begin{tabular}[c]{l | >{\raggedright}p{0.666\textwidth}} + a b c & \expl{\emspaceC{}}\tabularnewline + a b c & \expl{\emquad{} is canonically equivalent{\tnote{i} } to \emspaceC{}}\tabularnewline + a b c & \expl{\enspaceC{}}\tabularnewline + a b c & \expl{\enquad{} is canonically equivalent{\tnote{i} } to \enspaceC{}}\tabularnewline + a b c & \expl{\threePerEm{}}\tabularnewline + a b c & \expl{\fourPerEm{}}\tabularnewline + a b c & \expl{\sixPerEm{}}\tabularnewline + a b c & \expl{\figuresp{}}\tabularnewline + a b c & \expl{\punctsp{}}\tabularnewline + a b c & \expl{\thinsp{}}\tabularnewline + a b c & \expl{\hairsp{}}\tabularnewline + abc & \expl{no spaces, for comparison}\tabularnewline +\end{tabular} +\begin{tablenotes} +\item[\expl{i}] \expl{\footnotesize See \url{http://unicode.org/notes/tn5/} + for explanation of the term.} +\end{tablenotes} +\end{threeparttable} +\end{center} + +\pagebreak + +\end{document} diff --git a/Master/texmf-dist/doc/latex/uspace/uspace.pdf b/Master/texmf-dist/doc/latex/uspace/uspace.pdf new file mode 100644 index 00000000000..29e7b3f1964 Binary files /dev/null and b/Master/texmf-dist/doc/latex/uspace/uspace.pdf differ diff --git a/Master/texmf-dist/doc/latex/uspace/uspace.tex b/Master/texmf-dist/doc/latex/uspace/uspace.tex new file mode 100644 index 00000000000..b281fe682f1 --- /dev/null +++ b/Master/texmf-dist/doc/latex/uspace/uspace.tex @@ -0,0 +1,126 @@ +\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.01} + +\usepackage{xcolor} +\usepackage{multicol} +\usepackage{microtype} +\usepackage{metalogo} + +\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}} + +\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{}} +\item[\zwsp] \lstinline|\hspace{0pt}| +\item[\nnbsp] \lstinline|\leavevmode\,| +\item[\nbsp{\footnotemark[1]}] \lstinline|~| +\item[\shy{\footnotemark[1]}] \lstinline|\-| +\item[\emquad{\footnotemark[2]}] \lstinline|\quad| +\item[\emspaceC{\footnotemark[2]}] \lstinline|\quad| +\item[\enquad{\footnotemark[3]}] \lstinline|\enskip| +\item[\enspaceC{\footnotemark[3]}] \lstinline|\enskip| +\item[\threePerEm] \lstinline|\hspace{0.3333333333333em}| +\item[\fourPerEm] \lstinline|\hspace{0.25em}| +\item[\sixPerEm] \lstinline|\hspace{0.1666666666666em}| +\item[\figuresp] \lstinline|\leavevmode\hphantom{0}| +\item[\punctsp] \lstinline|\leavevmode\hphantom{.}| +\item[\thinsp] \lstinline|\leavevmode\,\linebreak[0]| +\item[\hairsp] \lstinline|\hspace{0.0833333333333em}| +\end{labeling} +\footnotetext[1]{This already defined for pdf\LaTeX{} because we use + \lstinline|inputenc| with \lstinline|utf8| option when compiling with + pdf\LaTeX{}, 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.01}] First published version of this package. +\end{description} + +\end{document} -- cgit v1.2.3