diff options
author | Karl Berry <karl@freefriends.org> | 2019-05-14 21:41:06 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2019-05-14 21:41:06 +0000 |
commit | fe0339cd9b2d51a9a082541c1916f0122f2841e9 (patch) | |
tree | a5a31963ec35fa995ae10e595b04be490054991c /Master/texmf-dist | |
parent | a8f6acf197d3ba49a39eb27376efaab0c6f70208 (diff) |
labels4easylist (14may19)
git-svn-id: svn://tug.org/texlive/trunk@51124 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r-- | Master/texmf-dist/doc/latex/labels4easylist/README | 10 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/labels4easylist/labels4easylist.pdf | bin | 0 -> 24595 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/labels4easylist/labels4easylist.tex | 91 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/labels4easylist/labels4easylist.sty | 90 |
4 files changed, 191 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/labels4easylist/README b/Master/texmf-dist/doc/latex/labels4easylist/README new file mode 100644 index 00000000000..45ce70e9009 --- /dev/null +++ b/Master/texmf-dist/doc/latex/labels4easylist/README @@ -0,0 +1,10 @@ +Package labels4easylist provide \itemLabel macro for adding configurable +reference labels to easylist items. Macro requires one argument - label +identifier (using in \ref for references to label). + +Version 1.0 (2019-05-13): first public release + + +Copyright (C) 2015-2019, Robert Ryszard Paciorek <rrp@opcode.eu.org> + +This is free software distributed under terms of The MIT License. diff --git a/Master/texmf-dist/doc/latex/labels4easylist/labels4easylist.pdf b/Master/texmf-dist/doc/latex/labels4easylist/labels4easylist.pdf Binary files differnew file mode 100644 index 00000000000..045c9693fb8 --- /dev/null +++ b/Master/texmf-dist/doc/latex/labels4easylist/labels4easylist.pdf diff --git a/Master/texmf-dist/doc/latex/labels4easylist/labels4easylist.tex b/Master/texmf-dist/doc/latex/labels4easylist/labels4easylist.tex new file mode 100644 index 00000000000..2624de02e1d --- /dev/null +++ b/Master/texmf-dist/doc/latex/labels4easylist/labels4easylist.tex @@ -0,0 +1,91 @@ +% Copyright (c) 2015-2019 Robert Ryszard Paciorek <rrp@opcode.eu.org> +% +% MIT License +% +% 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. + +\documentclass[a4paper]{article} +\usepackage[ampersand]{labels4easylist} + +\begin{document} + +\title{The \texttt{labels4easylist} package} +\author{Robert Ryszard Paciorek <rrp@opcode.eu.org>} +\date{2019-05-13} +\maketitle + +\section{Introduction} + +This packgage provide \verb#\itemLabel# macro for adding configurable reference labels to easylist items. +Macro requires one argument - label identifier (using in \verb#\ref# for references to label). +Macro accepts two optional argument - number of easylist hierarchy levels to omission in label text. + +\section{Example} + +\begin{easylist} +\NewList( + % separator pomiędzy numerami oraz separatory końcowe + Mark=.,FinalMark=., + % ustawienie odstępów między punktami + Space=0.5em,Space*=0.5em, + % ustawienia wcięć + Hang=true,Align=move,FinalSpace=0.5em,Progressive*=3ex,Margin1=1ex, + Numbers5=l,Hide5=4,FinalMark5={)},Margin5=12ex, + Hide6=6,Style6*=-- ,Margin6=15ex, +) +\ListProperties(Start1=2) +& aaa aaa \label{A1} x\itemLabel{A2}x +&& bbb bbb \label{B1} x\itemLabel{B2}x +\ListProperties(Start3=5) +&&&& ddd ddd \label{C1} \itemLabel{C2} x\itemLabel{C3}[2]x x\itemLabel{C4}[0][2]x +&&&&& eee eee \label{D1} \itemLabel{D2} x\itemLabel{D3}[4]x +\end{easylist} + +\vspace{0.5cm} + +\begin{tabular}{ p{2.5cm} p{2.5cm} p{4.5cm} } +standard \textbackslash{}label & +\textbackslash{}itemLabel & +\textbackslash{}itemLabel with extra args \\ + +\ref{A1} & \ref{A2} & \\ +\ref{B1} & \ref{B2} & \\ +\ref{C1} & \ref{C2} & \ref{C3} in \ref{C4}\\ +\ref{D1} & \ref{D2} & \ref{D3} +\end{tabular} + +\subsection{easylist code} +\begin{verbatim} +\ListProperties(Start1=2) +& aaa aaa \label{A1} x\itemLabel{A2}x +&& bbb bbb \label{B1} x\itemLabel{B2}x +\ListProperties(Start3=5) +&&&& ddd ddd \label{C1} \itemLabel{C2} x\itemLabel{C3}[2]x x\itemLabel{C4}[0][2]x +&&&&& eee eee \label{D1} \itemLabel{D2} x\itemLabel{D3}[4]x +\end{verbatim} + +\subsection{table code} +\begin{verbatim} +\ref{A1} & \ref{A2} & \\ +\ref{B1} & \ref{B2} & \\ +\ref{C1} & \ref{C2} & \ref{C3} in \ref{C4}\\ +\ref{D1} & \ref{D2} & \ref{D3} +\end{verbatim} + +\end{document} diff --git a/Master/texmf-dist/tex/latex/labels4easylist/labels4easylist.sty b/Master/texmf-dist/tex/latex/labels4easylist/labels4easylist.sty new file mode 100644 index 00000000000..01c3a7daf71 --- /dev/null +++ b/Master/texmf-dist/tex/latex/labels4easylist/labels4easylist.sty @@ -0,0 +1,90 @@ +% Copyright (c) 2015-2019 Robert Ryszard Paciorek <rrp@opcode.eu.org> +% +% MIT License +% +% 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. + +% Version 1.0 (2019-05-13): first public release + + +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{labels4easylist} + +\RequirePackage{xparse} +\RequirePackageWithOptions{easylist} + +% +% configurable refernece labels for easylist items +% + +% add label to item entry, usage: +% \itemLabel{LabelName}[skipA][skibB] +% skipA - number of level to skip at front +% skipB - number of level to skip at end +\DeclareDocumentCommand{\itemLabel}{ m O{0} o } {% + % prepare ref-label text in \elLabel@currRefLabel + \xdef\elLabel@currRefLabel{}{% + \elLabel@currLevel=1% + \elLabel@minLevel=#2% + \elLabel@maxLevel=\el@PreviousItem% + \IfValueTF{#3}{\advance\elLabel@maxLevel by -#3}{\elLabel@GetLastLevel}% + \elLabel@RecurencyGetEnumLevel% + }% + % create ref-label with id from #1 and text from \elLabel@currRefLabel + \let\@currentlabel\elLabel@currentlabel% + \def\@currentlabel{\elLabel@currRefLabel}% + \label{#1}% + \let\elLabel@currentlabel\@currentlabel% +} + +% counters +\newcount\elLabel@currLevel +\newcount\elLabel@minLevel +\newcount\elLabel@maxLevel + +% recursive skip final unused levels and not enumerate levels +\newcommand{\elLabel@GetLastLevel} { + \ifnum\elLabel@maxLevel>\elLabel@minLevel% + \ifnum\elLabel@maxLevel=\csname Hide\the\elLabel@maxLevel\endcsname + \advance\elLabel@maxLevel by -1 + \elLabel@GetLastLevel + \else% + \ifnum\value{List\the\elLabel@maxLevel}=0 + \advance\elLabel@maxLevel by -1 + \elLabel@GetLastLevel + \fi% + \fi% + \fi% +} + +% recursive build label text for reference +\newcommand{\elLabel@RecurencyGetEnumLevel} {% + % if (minLev < currLev AND currLev <= maxLev AND value !=0) + \ifnum\elLabel@currLevel>\elLabel@minLevel \ifnum\elLabel@currLevel>\elLabel@maxLevel\else \ifnum\value{List\the\elLabel@currLevel}=0\else% + \xdef\elLabel@currRefLabel{\elLabel@currRefLabel% + \csname el@NumberDenotation:\csname Numbers\the\elLabel@currLevel\endcsname\endcsname{List\the\elLabel@currLevel}% + \ifnum\elLabel@currLevel<\elLabel@maxLevel \csname Mark\the\elLabel@currLevel\endcsname \fi% + }% + \fi\fi\fi% + % recursion: + \ifnum\elLabel@currLevel<\elLabel@maxLevel + \advance\elLabel@currLevel by 1 + \elLabel@RecurencyGetEnumLevel + \fi% +} |