summaryrefslogtreecommitdiff
path: root/macros/luatex/latex/lualatex-truncate/lualatex-truncate-doc.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/luatex/latex/lualatex-truncate/lualatex-truncate-doc.dtx')
-rw-r--r--macros/luatex/latex/lualatex-truncate/lualatex-truncate-doc.dtx262
1 files changed, 262 insertions, 0 deletions
diff --git a/macros/luatex/latex/lualatex-truncate/lualatex-truncate-doc.dtx b/macros/luatex/latex/lualatex-truncate/lualatex-truncate-doc.dtx
new file mode 100644
index 0000000000..38fb37afa4
--- /dev/null
+++ b/macros/luatex/latex/lualatex-truncate/lualatex-truncate-doc.dtx
@@ -0,0 +1,262 @@
+%\iffalse
+%% Doc-Source file to use with LaTeX2e
+%% Copyright (C) 2018 Sebastian Friedl
+%%
+%% This work is subject to the LaTeX Project Public License, Version 1.3c or -- at
+%% your option -- any later version of this license.
+%% The work consists of the files lualatex-truncate.dtx, lualatex-truncate.ins,
+%% lualatex-truncate-doc.dtx and the derived file lualatex-truncate.sty
+%%
+%% This work has the LPPL maintenance status ‘maintained’.
+%% Current maintainer of the work is Sebastian Friedl.
+%%
+%% -------------------------------------------------------------------------------------------
+%%
+%% A LuaLaTeX wrapper for the truncate package
+%%
+%% -------------------------------------------------------------------------------------------
+%%
+%% Please report bugs and other problems as well as suggestions for improvements
+%% to my email address (sfr682k@t-online.de).
+%%
+%% -------------------------------------------------------------------------------------------
+%\fi
+
+% !TeX spellcheck=en_US
+
+\documentclass[11pt]{ltxdoc}
+
+\usepackage{iftex}
+\RequireLuaTeX
+
+\usepackage[no-math]{fontspec}
+\usepackage{polyglossia}
+\setdefaultlanguage{english}
+\usepackage[english]{selnolig}
+
+\usepackage{array}
+\usepackage{csquotes}
+\usepackage{hologo}
+\usepackage{multicol}
+\usepackage{xcolor}
+
+
+\parindent0pt
+
+\usepackage[erewhon]{newtxmath}
+\setmainfont{erewhon}
+\setsansfont[Scale=MatchLowercase]{Source Sans Pro}
+\setmonofont[Scale=MatchLowercase]{Hack}
+
+\usepackage[a4paper,left=4.50cm,right=2.75cm,top=3.25cm,bottom=2.75cm,nohead]{geometry}
+
+
+\hyphenation{mo-dify-ing}
+
+\def\Lua{\textsf{Lua}\ignorespaces}
+
+\usepackage[unicode, pdfborder={0 0 0}, linktoc=all, hyperindex=false]{hyperref}
+\usepackage{bookmark}% fix PDF bookmark issues caused by hyperref
+
+
+
+\MakeShortVerb{"}
+\CheckSum{55}
+
+\renewcommand*{\usage}[1]{\hyperpage{#1}}
+\renewcommand*{\main}[1]{\hyperpage{#1}}
+
+\newcommand*{\sty}[1]{\textsf{#1}}
+\newcommand*{\opt}[1]{\texttt{#1}\index{#1=\texttt{#1}~~option|main}}
+
+\def\param#1{\textit{\rmfamily\ensuremath{\langle}#1\ensuremath{\rangle}}}
+\def\DescribeOption#1{\marginpar{\raggedleft\PrintDescribeMacro{#1}}}
+
+
+\PageIndex
+\RecordChanges
+
+
+
+
+\title{The \sty{lualatex-truncate} package \\ {\large\url{https://gitlab.com/SFr682k/lualatex-truncate}}}
+\author{Sebastian Friedl \\ \href{mailto:sfr682k@t-online.de}{\ttfamily sfr682k@t-online.de}}
+\date{2018/08/22 (v1.1)}
+
+\hypersetup{pdftitle={The lualatex-truncate package},pdfauthor={Sebastian Friedl}}
+
+\begin{document}
+ \maketitle
+ \thispagestyle{empty}
+
+
+
+
+ \medskip
+ \begin{abstract}\centering
+ \hspace{-1.5em}%
+ This package provides a wrapper for using the \sty{truncate} package\footnote{available at \url{https://ctan.org/pkg/truncate}},
+ thus fixing issues related to \hologo{LuaTeX}'s hyphenation mechanism.
+ \end{abstract}
+
+
+
+ \tableofcontents
+
+
+
+
+ \clearpage
+
+
+ \subsection*{Dependencies and other requirements}
+ \addcontentsline{toc}{subsection}{Dependencies and other requirements}
+ \sty{lualatex-truncate} requires \LaTeXe\ and depends on the following packages:
+ \begin{multicols}{3}\sffamily\centering
+ if\kern0pt tex \\ letltxmacro \\ truncate
+ \end{multicols}
+
+
+ \subsection*{Installation}
+ \addcontentsline{toc}{subsection}{Installation}
+ Extract the \textit{package} file first:
+ \begin{enumerate}
+ \item Run \LaTeX\ over the file "lualatex-truncate.ins"
+ \item Move the resulting ".sty" file to "TEXMF/tex/lualatex/lualatex-truncate/"
+ \end{enumerate}
+
+ Then, you can compile the \textit{documentation} yourself by executing \\[\smallskipamount]
+ "lualatex lualatex-truncate-doc.dtx" \\
+ "makeindex -s gind.ist lualatex-truncate-doc.idx" \\
+ "makeindex -s gglo.ist -o lualatex-truncate-doc.gls lualatex-truncate-doc.glo" \\
+ "lualatex lualatex-truncate-doc.dtx" \\
+ "lualatex lualatex-truncate-doc.dtx"
+
+ \smallskip
+ or just use the precompiled documentation shipped with the source files. \\
+ In both cases, copy the files "lualatex-truncate-doc.pdf" and "README.md" to \\
+ "TEXMF/doc/lualatex/lualatex-truncate/"
+
+
+ \subsection*{License}
+ \addcontentsline{toc}{subsection}{License}
+ \textcopyright\ 2018 Sebastian Friedl
+
+ \smallskip
+ This work may be distributed and/or modified under the conditions of the \LaTeX\ Project Public License, either version 1.3c of this license or (at your option) any later version.
+
+ \smallskip
+ The latest version of this license is available at \url{http://www.latex-project.org/lppl.txt} and version 1.3c or later is part of all distributions of \LaTeX\ version 2008-05-04 or later.
+
+ \smallskip
+ This work has the LPPL maintenace status \enquote*{maintained}. \\
+ Current maintainer of this work is Sebastian Friedl.
+
+ \medskip
+ This work consists of the following files:
+ \begin{itemize} \itemsep 0pt
+ \item "lualatex-truncate.sty",
+ \item "lualatex-truncate.ins",
+ \item "lualatex-truncate-doc.dtx" and
+ \item the derived file "lualatex-truncate.sty"
+ \end{itemize}
+
+
+
+
+
+ % DOCUMENTATION PART ----------------------------------------------------------------------
+ \clearpage
+ \part{The documentation}
+ \begin{center}
+ \colorbox{red!75!black}{\colorbox{white}{\begin{minipage}{.95\textwidth}
+ \textbf{\color{red!75!black}\large Don't load the \sty{truncate} package in your preamble!!}
+
+ \medskip
+ This task is already done for you by \sty{lualatex-truncate}!
+
+ \smallskip
+ Also, all package options stated in this documentation are meant to be passed to \sty{lualatex-truncate}; otherwise they can't be processed by the wrapper mechanism.
+ \end{minipage}}}
+ \end{center}
+
+
+ \subsection*{Truncating text to a given width%
+ \footnote{This section has been adapted from \sty{truncate}'s documentation: \\
+ \indent\indent\url{http://mirrors.ctan.org/macros/latex/contrib/truncate/truncate.pdf}}}
+ \addcontentsline{toc}{subsection}{Truncating text to a given width}
+
+ \leavevmode%
+ \DescribeOption{\truncate}%
+ The package defines a command "\truncate["\param{marker}"]{"\param{width}"}{"\param{text}"}".
+
+ If the text is too wide to fit in the specified width, then it is truncated, and a continuation marker is shown at the end.
+ The default marker, used when the optional \texttt{[\param{marker}]} parameter is omitted, is "\,\dots". You can change this default by redefining \DescribeMacro{\TruncateMarker}"\TruncateMarker" (e.g.~"\renewcommand\TruncateMarker{\dots}").
+
+ \medskip
+ Normally, the text (no matter whether truncated or not) is printed flushed-left in a box with exactly the width specified. The package option \DescribeOption{fit}\opt{fit} causes the output text to have its natural width, up to a maximum of the specified width.
+
+ \medskip
+ Normally, the text won't be truncated in the middle of a word, nor at a space specified with a tie ("~"). For example:
+ \begin{quote}
+ "\truncate{122pt}{This text has been~truncated}"
+ \end{quote}
+ gives
+ \begin{quote}
+ \enquote{\hbox to 122pt {This text has\,\dots\hfill}}
+ \end{quote}
+
+ \medskip
+ You can use one of the package options \DescribeOption{hyphenate}\opt{hyphenate}, \DescribeOption{breakwords}\opt{breakwords} or \DescribeOption{breakall}\opt{breakall} to allow truncating in the middle of words. The first two only truncate at hyphenation points; with the only difference that \opt{breakwords} suppresses the hyphen character.
+ On the other hand, \opt{breakall} allows truncation at any character. For example:
+ \begin{quote}
+ "\truncate{122pt}{This text has been~truncated}"
+ \end{quote}
+ gives
+ \begin{quote}
+ \begin{tabular}{l@{\quad}l}
+ \enquote{\hbox to 122pt {This text has been trun-\,\dots\hfill}} & (package option \texttt{hyphenate}) \\
+ \enquote{\hbox to 122pt {This text has been trun\,\dots~\hfill}} & (package option \texttt{breakwords}) \\
+ \enquote{\hbox to 122pt {This text has been trunc\,\dots\hfill}} & (package option \texttt{breakall})
+ \end{tabular}
+ \end{quote}
+
+ [All of these options work through (Lua)\TeX's hyphenation mechanism.]
+
+
+ \subsection*{Known limitations}
+ \addcontentsline{toc}{subsection}{Known limitations}
+ \begin{itemize}
+ \item
+ \sty{lualatex-truncate} provides a \textit{wrapper} fixing \hologo{LuaTeX}-related \enquote{glitches} in the \sty{truncate} package.
+ It doesn't (and won't) fix any bugs or \enquote{undocumented features} introduced by the \sty{truncate} package itself.
+ \end{itemize}
+
+
+
+
+
+
+
+
+ % Start determining the checksum from here
+ \StopEventually{%
+ \clearpage
+ \phantomsection
+ \addcontentsline{toc}{part}{Index}%
+ \PrintChanges
+ \setcounter{IndexColumns}{2}
+ \IndexPrologue{\section*{Index}}
+ \PrintIndex}
+
+
+
+ \vspace{3\bigskipamount}
+ \part{The package code}
+ \CodelineNumbered
+ \DocInput{lualatex-truncate.dtx}
+
+
+ \Finale
+\end{document}
+