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 +++++++++++++++++ Master/texmf-dist/tex/latex/uspace/uspace.sty | 75 +++++++++++ Master/tlpkg/bin/tlpkg-ctan-check | 2 +- Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc | 1 + Master/tlpkg/tlpsrc/uspace.tlpsrc | 0 10 files changed, 385 insertions(+), 1 deletion(-) 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 create mode 100644 Master/texmf-dist/tex/latex/uspace/uspace.sty create mode 100644 Master/tlpkg/tlpsrc/uspace.tlpsrc 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} diff --git a/Master/texmf-dist/tex/latex/uspace/uspace.sty b/Master/texmf-dist/tex/latex/uspace/uspace.sty new file mode 100644 index 00000000000..2d98e86444a --- /dev/null +++ b/Master/texmf-dist/tex/latex/uspace/uspace.sty @@ -0,0 +1,75 @@ +% LaTeX package that defines meanings to several different Unicode space +% characters. +% +% © 2016 Václav Haisman +% +%% This program can be redistributed and/or modified under the terms of the +%% MIT license. See LICENSE file. +% + +\NeedsTeXFormat{LaTeX2e}[1994/06/01] + +\ProvidesPackage{uspace} +[2016/10/04 v0.01 LaTeX package that defines meanings to several different +Unicode space characters.] + +\RequirePackage{ifxetex,ifluatex} +\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex +\RequirePackage[utf8]{inputenc} +\fi + +\RequirePackage{newunicodechar} + +% zero width space +\newunicodechar{​}{\hspace{0pt}} + +% narrow no-break space +\newunicodechar{ }{\leavevmode\,} + +% non-breaking space +\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex +\relax +\else % if !pdftex +\newunicodechar{ }{~} +\fi + +% soft hyphen +\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex +\relax +\else % if !pdftex +\newunicodechar{­}{\-} +\fi + +% en quad and en space +\newunicodechar{ }{\enskip} +\newunicodechar{ }{\enskip} + +% em quad and em space +\newunicodechar{ }{\quad} +\newunicodechar{ }{\quad} + +% three-per-em space +\newunicodechar{ }{\hspace{0.3333333333333em}} + +% four-per-em space +\newunicodechar{ }{\hspace{0.25em}} + +% six-per-em space +\newunicodechar{ }{\hspace{0.1666666666666em}} + +% figure space +\newunicodechar{ }{\leavevmode\hphantom{0}} + +% punctuation space +\newunicodechar{ }{\leavevmode\hphantom{.}} + +% thin space +\newunicodechar{ }{\leavevmode\,\linebreak[0]} + +% hair space +\newunicodechar{ }{\hspace{0.0833333333333em}} + +\endinput + +%% +%% End of file `uspace.sty'. diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check index fd7e2f8fcd5..23021c7eacc 100755 --- a/Master/tlpkg/bin/tlpkg-ctan-check +++ b/Master/tlpkg/bin/tlpkg-ctan-check @@ -620,7 +620,7 @@ my @TLP_working = qw( unravel unswcover uothesis uowthesis uowthesistitlepage upca uplatex upmethodology upquote uptex-base uptex-fonts - uri url urlbst urcls urwchancal usebib ushort uspatent + uri url urlbst urcls urwchancal usebib ushort uspace uspatent ut-thesis utf8mex uwmslide uwthesis vak vancouver variations varindex varisize varsfromjobname varwidth vaucanson-g vdmlisting diff --git a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc index 92a3eeb2c70..a27f909cc6f 100644 --- a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc +++ b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc @@ -1054,6 +1054,7 @@ depend upmethodology depend upquote depend uri depend ushort +depend uspace depend uwmslide depend varindex depend varsfromjobname diff --git a/Master/tlpkg/tlpsrc/uspace.tlpsrc b/Master/tlpkg/tlpsrc/uspace.tlpsrc new file mode 100644 index 00000000000..e69de29bb2d -- cgit v1.2.3