texlive[64282] Master/texmf-dist: hereapplies (3sep22)

commits+karl at tug.org commits+karl at tug.org
Sat Sep 3 21:52:35 CEST 2022


Revision: 64282
          http://tug.org/svn/texlive?view=revision&revision=64282
Author:   karl
Date:     2022-09-03 21:52:35 +0200 (Sat, 03 Sep 2022)
Log Message:
-----------
hereapplies (3sep22)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/hereapplies/ChangeLog.md
    trunk/Master/texmf-dist/doc/latex/hereapplies/README.md
    trunk/Master/texmf-dist/doc/latex/hereapplies/hereapplies-example.pdf
    trunk/Master/texmf-dist/doc/latex/hereapplies/lyx-module/hereapplies.module
    trunk/Master/texmf-dist/doc/latex/hereapplies/package.json
    trunk/Master/texmf-dist/tex/latex/hereapplies/hereapplies.sty

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/latex/hereapplies/hereapplies-doc.lyx
    trunk/Master/texmf-dist/doc/latex/hereapplies/hereapplies-doc.pdf
    trunk/Master/texmf-dist/doc/latex/hereapplies/hereapplies-doc.tex

Modified: trunk/Master/texmf-dist/doc/latex/hereapplies/ChangeLog.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/hereapplies/ChangeLog.md	2022-09-03 19:51:22 UTC (rev 64281)
+++ trunk/Master/texmf-dist/doc/latex/hereapplies/ChangeLog.md	2022-09-03 19:52:35 UTC (rev 64282)
@@ -2,6 +2,17 @@
 ==========
 
 
+## 0.8.0 (2022-09-03)
+
+Changes:
+
+* The package now checks that the optional argument of the `\hereapplies` macro
+  does not contain commas
+* The LyX module has been updated
+* The documentation is now available in `.lyx`, `.tex` and `.pdf` format
+* Code review
+
+
 ## 0.7.0 (2022-08-29)
 
 Changes:

Modified: trunk/Master/texmf-dist/doc/latex/hereapplies/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/hereapplies/README.md	2022-09-03 19:51:22 UTC (rev 64281)
+++ trunk/Master/texmf-dist/doc/latex/hereapplies/README.md	2022-09-03 19:52:35 UTC (rev 64282)
@@ -81,7 +81,7 @@
 \end{document}
 ```
 
-will generate [this document][1].
+will generate the [`hereapplies-example.pdf`][1] document attached.
 
 
 A minimal tutorial
@@ -93,8 +93,8 @@
 apply to a particular point and adds a label to it.
 
 If the optional argument is passed the label created will be named accordingly,
-otherwise an opaque name will be chosen. This argument may contain only what is
-legal for `\pageref`.
+otherwise an opaque name will be chosen for it. This argument may contain only
+what is legal for `\pageref`.
 
 The `identifiers` argument must be a comma-separated list of identifiers
 (leading and trailing spaces around each member will be ignored). Each of these
@@ -104,8 +104,7 @@
 After storing some internal values, `\hereapplies` will expand exactly to
 
 ``` tex
-\phantomsection
-\label{...}
+\phantomsection\label{...}
 ```
 
 Its “starred” version (`\hereapplies*`) will not invoke the `\phantomsection`
@@ -133,19 +132,18 @@
 
 Currently the localization of **Here Applies** is not automatic. It is possible
 however to control the strings generated by overwriting the four macros
-`\hapage`, `\hapages`, `\hadelimiter` and `\halastdelimiter`.
+`\hapage`, `\hapages`, `\hadelimiter` and `\halastdelimiter`. For example,
+writing at the beginning of a document
 
-For example, writing at the beginning of a document
-
 ``` tex
 % German translation of **Here Applies**
-% English: `p.\ `
+% English: "p.\ "
 \gdef\hapage{S.\ }
-% English: `pp.\ `
+% English: "pp.\ "
 \gdef\hapages{S.\ }
-% English: `\ and\ `
+% English: "\ and\ "
 \gdef\halastdelimiter{\ und\ }
-% English: `,\ ` (exactly like in German -- leave it)
+% English: ",\ " (exactly like in German -- leave it)
 %\gdef\hadelimiter{,\ }
 ```
 
@@ -156,26 +154,23 @@
 ------------
 
 If you wish to get involved, please do not hesitate to send [merge requests][2]
-or participate in the discussion.
+or participate in the discussion. The package is also [available on
+**CTAN**][3] under [`macros/latex/contrib/hereapplies/`][4]. For any issue,
+please [drop a message][5].
 
-The package is also [available on CTAN][3] under
-[`macros/latex/contrib/hereapplies`][4].
 
-For any issue, please [drop a message][5].
-
-
 Free software
 -------------
 
 **Here Applies** is free software. You can redistribute it and/or modify it
 under the terms of the **AGPL** license version 3 or any later version. See
-[COPYING][6] for details.
+[`COPYING`][6] for details.
 
 
   [1]: hereapplies-example.pdf
   [2]: https://github.com/madmurphy/hereapplies.sty/pulls
   [3]: https://www.ctan.org/pkg/hereapplies
-  [4]: https://www.ctan.org/tex-archive/macros/latex/contrib/hereapplies
-  [5]: https://github.com/madmurphy/libgnunetworker/issues
+  [4]: https://www.ctan.org/tex-archive/macros/latex/contrib/hereapplies/
+  [5]: https://github.com/madmurphy/hereapplies.sty/issues
   [6]: COPYING
 

Added: trunk/Master/texmf-dist/doc/latex/hereapplies/hereapplies-doc.lyx
===================================================================
--- trunk/Master/texmf-dist/doc/latex/hereapplies/hereapplies-doc.lyx	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/hereapplies/hereapplies-doc.lyx	2022-09-03 19:52:35 UTC (rev 64282)
@@ -0,0 +1,1116 @@
+#LyX 2.3 created this file. For more info see http://www.lyx.org/
+\lyxformat 544
+\begin_document
+\begin_header
+\save_transient_properties true
+\origin unavailable
+\textclass article
+\begin_preamble
+\usepackage{doc}
+
+\AtBeginDocument{%
+	% LyX should add automatically `\usepackage{listings}` to the preamble...
+	\lstset{%
+		language=TeX,
+		basicstyle=\footnotesize,
+		numbers=left,
+		stepnumber=1,
+		showstringspaces=false,
+		tabsize=1,
+		breaklines=true,
+		breakatwhitespace=false,
+	}%
+}
+\end_preamble
+\use_default_options false
+\maintain_unincluded_children false
+\language english
+\language_package default
+\inputencoding ascii
+\fontencoding global
+\font_roman "default" "default"
+\font_sans "default" "default"
+\font_typewriter "default" "default"
+\font_math "auto" "auto"
+\font_default_family default
+\use_non_tex_fonts false
+\font_sc false
+\font_osf false
+\font_sf_scale 100 100
+\font_tt_scale 100 100
+\use_microtype true
+\use_dash_ligatures true
+\graphics default
+\default_output_format default
+\output_sync 0
+\bibtex_command default
+\index_command default
+\paperfontsize default
+\spacing onehalf
+\use_hyperref true
+\pdf_title "The \\textquotedblleft{}Here Applies\\textquotedblright{} LaTeX Package"
+\pdf_author "madmurphy"
+\pdf_subject "Package documentation"
+\pdf_keywords "Glossary, Index, LaTeX, LaTeX hyperref, LaTeX labels, LaTeX package, LyX, LyX module, TOC"
+\pdf_bookmarks true
+\pdf_bookmarksnumbered false
+\pdf_bookmarksopen false
+\pdf_bookmarksopenlevel 1
+\pdf_breaklinks false
+\pdf_pdfborder false
+\pdf_colorlinks false
+\pdf_backref false
+\pdf_pdfusetitle false
+\papersize a4paper
+\use_geometry true
+\use_package amsmath 1
+\use_package amssymb 0
+\use_package cancel 0
+\use_package esint 1
+\use_package mathdots 0
+\use_package mathtools 0
+\use_package mhchem 0
+\use_package stackrel 0
+\use_package stmaryrd 0
+\use_package undertilde 0
+\cite_engine basic
+\cite_engine_type default
+\biblio_style plain
+\use_bibtopic false
+\use_indices false
+\paperorientation portrait
+\suppress_date false
+\justification true
+\use_refstyle 0
+\use_minted 0
+\index Index
+\shortcut idx
+\color #008000
+\end_index
+\leftmargin 3.25cm
+\topmargin 3.25cm
+\rightmargin 3.25cm
+\bottommargin 3.25cm
+\secnumdepth 3
+\tocdepth 3
+\paragraph_separation indent
+\paragraph_indentation default
+\is_math_indent 0
+\math_numbering_side default
+\quotes_style english
+\dynamic_quotes 0
+\papercolumns 1
+\papersides 1
+\paperpagestyle default
+\tracking_changes false
+\output_changes false
+\html_math_output 0
+\html_css_as_file 0
+\html_be_strict false
+\end_header
+
+\begin_body
+
+\begin_layout Title
+The 
+\series bold
+Here Applies
+\series default
+ \SpecialChar LaTeX
+ Package
+\end_layout
+
+\begin_layout Standard
+\begin_inset VSpace bigskip
+\end_inset
+
+
+\end_layout
+
+\begin_layout Abstract
+A \SpecialChar LaTeX
+ package for referencing groups of pages that share something in common.
+ 
+\end_layout
+
+\begin_layout Standard
+\begin_inset VSpace 2cm
+\end_inset
+
+
+\end_layout
+
+\begin_layout Section
+Overview
+\end_layout
+
+\begin_layout Standard
+
+\series bold
+Here Applies
+\series default
+ is a \SpecialChar LaTeX
+ package that allows to collect groups of labels and reference them
+ altogether.
+ It can be used for creating informal glossaries that cross-link concepts
+ to their applications, or simply mentioning multiple pages that share something
+ in common.
+\end_layout
+
+\begin_layout Standard
+The package offers two commands: 
+\family typewriter
+
+\backslash
+hereapplies
+\family default
+ and 
+\family typewriter
+
+\backslash
+whereapplies
+\family default
+ (plus their 
+\begin_inset Quotes eld
+\end_inset
+
+starred
+\begin_inset Quotes erd
+\end_inset
+
+ versions 
+\family typewriter
+
+\backslash
+hereapplies*
+\family default
+ and 
+\family typewriter
+
+\backslash
+whereapplies*
+\family default
+).
+ In both cases an identifier is passed as argument – and this can be any
+ string invented in the moment (
+\family typewriter
+
+\backslash
+hereapplies
+\family default
+ additionally supports more than one identifier in the form of a comma-separated
+ list).
+\end_layout
+
+\begin_layout Standard
+Every time 
+\family typewriter
+
+\backslash
+hereapplies
+\family default
+ is invoked with known identifiers, the document is made aware that the
+ place shares some kind of connection with other places in which the same
+ identifiers were used.
+ And so, every time the 
+\family typewriter
+
+\backslash
+whereapplies
+\family default
+ command is invoked with a known identifier, all the occurrences of the
+ latter within the entire document will be printed in the form of a linkable
+ page list (e.g.
+ 
+\begin_inset Quotes eld
+\end_inset
+
+pp.
+\begin_inset space \space{}
+\end_inset
+
+1, 5, 8–9, 14–20…
+\begin_inset Quotes erd
+\end_inset
+
+).
+\end_layout
+
+\begin_layout Standard
+As 
+\family typewriter
+
+\backslash
+hereapplies
+\family default
+ is designed to be invoked in the middle of a chapter or a section and that
+ location must be made linkable, the 
+\family typewriter
+
+\backslash
+phantomsection
+\family default
+ directive is invoked by default before a label is added.
+ To avoid calling 
+\family typewriter
+
+\backslash
+phantomsection
+\family default
+, the 
+\begin_inset Quotes eld
+\end_inset
+
+starred
+\begin_inset Quotes erd
+\end_inset
+
+ command 
+\family typewriter
+
+\backslash
+hereapplies*
+\family default
+ is available.
+\end_layout
+
+\begin_layout Standard
+Finally, like 
+\family typewriter
+
+\backslash
+whereapplies
+\family default
+ resembles a pluralizable version of 
+\family typewriter
+
+\backslash
+pageref
+\family default
+, its 
+\begin_inset Quotes eld
+\end_inset
+
+starred
+\begin_inset Quotes erd
+\end_inset
+
+ version 
+\family typewriter
+
+\backslash
+whereapplies*
+\family default
+ will resemble a pluralizable version of 
+\family typewriter
+
+\backslash
+pageref*
+\family default
+.
+\end_layout
+
+\begin_layout Standard
+If you use LyX, the package ships a LyX module as well (please check the
+ 
+\family typewriter
+lyx-module
+\family default
+ subdirectory).
+\end_layout
+
+\begin_layout Standard
+\begin_inset Newpage pagebreak
+\end_inset
+
+
+\end_layout
+
+\begin_layout Section
+Example usage
+\end_layout
+
+\begin_layout Standard
+The following \SpecialChar LaTeX
+ manuscript
+\end_layout
+
+\begin_layout Standard
+\begin_inset VSpace 3ex
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset CommandInset include
+LatexCommand lstinputlisting
+filename "hereapplies-example.tex"
+lstparams "language=TeX"
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset VSpace 3ex
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\noindent
+will generate the 
+\begin_inset Flex URL
+status collapsed
+
+\begin_layout Plain Layout
+
+hereapplies-example.pdf
+\end_layout
+
+\end_inset
+
+ document attached.
+\end_layout
+
+\begin_layout Section
+A minimal tutorial
+\end_layout
+
+\begin_layout Standard
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+
+\backslash
+begin{macro}{
+\backslash
+hereapplies}
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+Syntax:
+\end_layout
+
+\begin_layout Standard
+\begin_inset VSpace bigskip
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+
+\backslash
+hereapplies
+\begin_inset space \enskip{}
+\end_inset
+
+[
+\begin_inset Formula $\langle$
+\end_inset
+
+
+\shape italic
+label
+\shape default
+
+\begin_inset Formula $\rangle$
+\end_inset
+
+]
+\begin_inset space \enskip{}
+\end_inset
+
+{
+\begin_inset Formula $\langle$
+\end_inset
+
+
+\shape italic
+identifiers
+\shape default
+
+\begin_inset Formula $\rangle$
+\end_inset
+
+}
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+
+\backslash
+hereapplies*
+\begin_inset space \enskip{}
+\end_inset
+
+[
+\begin_inset Formula $\langle$
+\end_inset
+
+
+\shape italic
+label
+\shape default
+
+\begin_inset Formula $\rangle$
+\end_inset
+
+]
+\begin_inset space \enskip{}
+\end_inset
+
+{
+\begin_inset Formula $\langle$
+\end_inset
+
+
+\shape italic
+identifiers
+\shape default
+
+\begin_inset Formula $\rangle$
+\end_inset
+
+}
+\end_layout
+
+\begin_layout Standard
+\noindent
+\begin_inset VSpace smallskip
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\noindent
+The 
+\family typewriter
+
+\backslash
+hereapplies
+\family default
+ command notifies the document that one or more identifiers apply to a particula
+r point and adds a label to it.
+\end_layout
+
+\begin_layout Standard
+If the optional argument is passed the label created will be named accordingly,
+ otherwise an opaque name will be chosen for it.
+ This argument may contain only what is legal for 
+\family typewriter
+
+\backslash
+pageref
+\family default
+.
+\end_layout
+
+\begin_layout Standard
+The 
+\family typewriter
+\shape italic
+identifiers
+\family default
+\shape default
+ argument must be a comma-separated list of identifiers (leading and trailing
+ spaces around each member will be ignored).
+ Each of these strings will remain confined within the internal scope of
+ the package and will not create conflicts with possible macros or labels
+ of the same names.
+\end_layout
+
+\begin_layout Standard
+After storing some internal values, 
+\family typewriter
+
+\backslash
+hereapplies
+\family default
+ will expand exactly to
+\end_layout
+
+\begin_layout Standard
+\begin_inset listings
+lstparams "language=TeX,numbers=none"
+inline false
+status open
+
+\begin_layout Plain Layout
+
+
+\backslash
+phantomsection
+\backslash
+label{...}
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+Its 
+\begin_inset Quotes eld
+\end_inset
+
+starred
+\begin_inset Quotes erd
+\end_inset
+
+ version (
+\family typewriter
+
+\backslash
+hereapplies*
+\family default
+) will not invoke the 
+\family typewriter
+
+\backslash
+phantomsection
+\family default
+ directive.
+\end_layout
+
+\begin_layout Standard
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+
+\backslash
+end{macro}
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset VSpace smallskip
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+
+\backslash
+begin{macro}{
+\backslash
+whereapplies}
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+Syntax:
+\end_layout
+
+\begin_layout Standard
+\begin_inset VSpace bigskip
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+
+\backslash
+whereapplies
+\begin_inset space \enskip{}
+\end_inset
+
+{
+\begin_inset Formula $\langle$
+\end_inset
+
+
+\shape italic
+identifier
+\shape default
+
+\begin_inset Formula $\rangle$
+\end_inset
+
+}
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+
+\backslash
+whereapplies*
+\begin_inset space \enskip{}
+\end_inset
+
+{
+\begin_inset Formula $\langle$
+\end_inset
+
+
+\shape italic
+identifier
+\shape default
+
+\begin_inset Formula $\rangle$
+\end_inset
+
+}
+\end_layout
+
+\begin_layout Standard
+\noindent
+\begin_inset VSpace smallskip
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\noindent
+The 
+\family typewriter
+
+\backslash
+whereapplies
+\family default
+ command prints all the occurrences of an identifier, in the form 
+\begin_inset Quotes eld
+\end_inset
+
+p.
+\begin_inset space \space{}
+\end_inset
+
+…
+\begin_inset Quotes erd
+\end_inset
+
+ or 
+\begin_inset Quotes eld
+\end_inset
+
+pp.
+\begin_inset space \space{}
+\end_inset
+
+…
+\begin_inset Quotes erd
+\end_inset
+
+ (with page range support).
+\end_layout
+
+\begin_layout Standard
+The 
+\family typewriter
+\shape italic
+identifier
+\family default
+\shape default
+ argument will remain confined within the internal scope of the package
+ and will not create conflicts with possible commands or labels of the same
+ name.
+ Leading and trailing spaces around this string will be ignored.
+\end_layout
+
+\begin_layout Standard
+If the same 
+\family typewriter
+\shape italic
+identifier
+\family default
+\shape default
+ is not passed to 
+\family typewriter
+
+\backslash
+hereapplies
+\family default
+ at least once throughout the document, 
+\family typewriter
+
+\backslash
+whereapplies
+\family default
+ will print 
+\begin_inset Quotes eld
+\end_inset
+
+
+\series bold
+??
+\series default
+
+\begin_inset Quotes erd
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Standard
+The 
+\begin_inset Quotes eld
+\end_inset
+
+starred
+\begin_inset Quotes erd
+\end_inset
+
+ version of this command (
+\family typewriter
+
+\backslash
+whereapplies*
+\family default
+) will use 
+\family typewriter
+
+\backslash
+pageref*
+\family default
+ instead of 
+\family typewriter
+
+\backslash
+pageref
+\family default
+ for generating the page list.
+\end_layout
+
+\begin_layout Standard
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+
+\backslash
+end{macro}
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Section
+Internationalization
+\end_layout
+
+\begin_layout Standard
+Currently the localization of 
+\series bold
+Here Applies
+\series default
+ is not automatic.
+ It is possible however to control the strings generated by overwriting
+ the four macros 
+\family typewriter
+
+\backslash
+hapage
+\family default
+, 
+\family typewriter
+
+\backslash
+hapages
+\family default
+, 
+\family typewriter
+
+\backslash
+hadelimiter
+\family default
+ and 
+\family typewriter
+
+\backslash
+halastdelimiter
+\family default
+.
+ For example, writing at the beginning of a document
+\end_layout
+
+\begin_layout Standard
+\begin_inset VSpace 3ex
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset listings
+lstparams "language=TeX"
+inline false
+status open
+
+\begin_layout Plain Layout
+
+% German translation of **Here Applies**
+\end_layout
+
+\begin_layout Plain Layout
+
+% English: "p.
+\backslash
+ "
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\backslash
+gdef
+\backslash
+hapage{S.
+\backslash
+ }
+\end_layout
+
+\begin_layout Plain Layout
+
+% English: "pp.
+\backslash
+ "
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\backslash
+gdef
+\backslash
+hapages{S.
+\backslash
+ }
+\end_layout
+
+\begin_layout Plain Layout
+
+% English: "
+\backslash
+ and
+\backslash
+ "
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\backslash
+gdef
+\backslash
+halastdelimiter{
+\backslash
+ und
+\backslash
+ }
+\end_layout
+
+\begin_layout Plain Layout
+
+% English: ",
+\backslash
+ " (exactly like in German -- leave it)
+\end_layout
+
+\begin_layout Plain Layout
+
+%
+\backslash
+gdef
+\backslash
+hadelimiter{,
+\backslash
+ }
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset VSpace 3ex
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\noindent
+will translate 
+\begin_inset Quotes eld
+\end_inset
+
+pp.
+\begin_inset space \space{}
+\end_inset
+
+2, 4 and 6
+\begin_inset Quotes erd
+\end_inset
+
+ into 
+\begin_inset Quotes eld
+\end_inset
+
+S.
+\begin_inset space \space{}
+\end_inset
+
+2, 4 und 6
+\begin_inset Quotes erd
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Section
+Get involved
+\end_layout
+
+\begin_layout Standard
+If you wish to get involved, please do not hesitate to send 
+\begin_inset CommandInset href
+LatexCommand href
+name "merge requests"
+target "https://github.com/madmurphy/hereapplies.sty/pulls"
+literal "false"
+
+\end_inset
+
+ or participate in the discussion.
+ The package is also 
+\begin_inset CommandInset href
+LatexCommand href
+name "available on \\textbf{CTAN}"
+target "https://www.ctan.org/pkg/hereapplies"
+literal "true"
+
+\end_inset
+
+ under 
+\begin_inset CommandInset href
+LatexCommand href
+name "\\texttt{macros/latex/contrib/hereapplies/}"
+target "https://www.ctan.org/tex-archive/macros/latex/contrib/hereapplies/"
+literal "true"
+
+\end_inset
+
+.
+ For any issue, please 
+\begin_inset CommandInset href
+LatexCommand href
+name "drop a message"
+target "https://github.com/madmurphy/hereapplies.sty/issues"
+literal "false"
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Section
+Free software
+\end_layout
+
+\begin_layout Standard
+
+\series bold
+Here Applies
+\series default
+ is free software.
+ You can redistribute it and/or modify it under the terms of the 
+\series bold
+AGPL
+\series default
+ license version 3 or any later version.
+ See 
+\begin_inset Flex URL
+status collapsed
+
+\begin_layout Plain Layout
+
+COPYING
+\end_layout
+
+\end_inset
+
+ for details.
+\end_layout
+
+\begin_layout Standard
+\begin_inset Newpage newpage
+\end_inset
+
+
+\end_layout
+
+\begin_layout Section*
+Code appendix
+\end_layout
+
+\begin_layout Standard
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+
+\backslash
+addcontentsline{toc}{section}{Code appendix}
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset CommandInset include
+LatexCommand lstinputlisting
+filename "hereapplies.sty"
+lstparams "language=TeX"
+
+\end_inset
+
+
+\end_layout
+
+\end_body
+\end_document


Property changes on: trunk/Master/texmf-dist/doc/latex/hereapplies/hereapplies-doc.lyx
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/hereapplies/hereapplies-doc.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/hereapplies/hereapplies-doc.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/hereapplies/hereapplies-doc.pdf	2022-09-03 19:51:22 UTC (rev 64281)
+++ trunk/Master/texmf-dist/doc/latex/hereapplies/hereapplies-doc.pdf	2022-09-03 19:52:35 UTC (rev 64282)

Property changes on: trunk/Master/texmf-dist/doc/latex/hereapplies/hereapplies-doc.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/hereapplies/hereapplies-doc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/hereapplies/hereapplies-doc.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/hereapplies/hereapplies-doc.tex	2022-09-03 19:52:35 UTC (rev 64282)
@@ -0,0 +1,230 @@
+%% LyX 2.3.6.1 created this file.  For more info, see http://www.lyx.org/.
+%% Do not edit unless you really know what you are doing.
+\documentclass[english]{article}
+\usepackage[T1]{fontenc}
+\usepackage[a4paper]{geometry}
+\geometry{verbose,tmargin=3.25cm,bmargin=3.25cm,lmargin=3.25cm,rmargin=3.25cm}
+\usepackage{babel}
+\usepackage{url}
+\usepackage{setspace}
+\usepackage{microtype}
+\onehalfspacing
+\usepackage[unicode=true,
+ bookmarks=true,bookmarksnumbered=false,bookmarksopen=false,
+ breaklinks=false,pdfborder={0 0 1},backref=false,colorlinks=false]
+ {hyperref}
+\hypersetup{pdftitle={The \textquotedblleft{}Here Applies\textquotedblright{} LaTeX Package},
+ pdfauthor={madmurphy},
+ pdfsubject={Package documentation},
+ pdfkeywords={Glossary, Index, LaTeX, LaTeX hyperref, LaTeX labels, LaTeX package, LyX, LyX module, TOC}}
+
+\makeatletter
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands.
+\usepackage{doc}
+
+\AtBeginDocument{%
+	% LyX should add automatically `\usepackage{listings}` to the preamble...
+	\lstset{%
+		language=TeX,
+		basicstyle=\footnotesize,
+		numbers=left,
+		stepnumber=1,
+		showstringspaces=false,
+		tabsize=1,
+		breaklines=true,
+		breakatwhitespace=false,
+	}%
+}
+
+\makeatother
+
+\usepackage{listings}
+\renewcommand{\lstlistingname}{Listing}
+
+\begin{document}
+\title{The \textbf{Here Applies} \LaTeX{} Package}
+
+\maketitle
+\bigskip{}
+
+\begin{abstract}
+A \LaTeX{} package for referencing groups of pages that share something
+in common. 
+\end{abstract}
+\vspace{2cm}
+
+
+\section{Overview}
+
+\textbf{Here Applies} is a \LaTeX{} package that allows to collect
+groups of labels and reference them altogether. It can be used for
+creating informal glossaries that cross-link concepts to their applications,
+or simply mentioning multiple pages that share something in common.
+
+The package offers two commands: \texttt{\textbackslash hereapplies}
+and \texttt{\textbackslash whereapplies} (plus their ``starred''
+versions \texttt{\textbackslash hereapplies{*}} and \texttt{\textbackslash whereapplies{*}}).
+In both cases an identifier is passed as argument -- and this can
+be any string invented in the moment (\texttt{\textbackslash hereapplies}
+additionally supports more than one identifier in the form of a comma-separated
+list).
+
+Every time \texttt{\textbackslash hereapplies} is invoked with known
+identifiers, the document is made aware that the place shares some
+kind of connection with other places in which the same identifiers
+were used. And so, every time the \texttt{\textbackslash whereapplies}
+command is invoked with a known identifier, all the occurrences of
+the latter within the entire document will be printed in the form
+of a linkable page list (e.g. ``pp.\ 1, 5, 8--9, 14--20\dots '').
+
+As \texttt{\textbackslash hereapplies} is designed to be invoked
+in the middle of a chapter or a section and that location must be
+made linkable, the \texttt{\textbackslash phantomsection} directive
+is invoked by default before a label is added. To avoid calling \texttt{\textbackslash phantomsection},
+the ``starred'' command \texttt{\textbackslash hereapplies{*}}
+is available.
+
+Finally, like \texttt{\textbackslash whereapplies} resembles a pluralizable
+version of \texttt{\textbackslash pageref}, its ``starred'' version
+\texttt{\textbackslash whereapplies{*}} will resemble a pluralizable
+version of \texttt{\textbackslash pageref{*}}.
+
+If you use LyX, the package ships a LyX module as well (please check
+the \texttt{lyx-module} subdirectory).
+
+\pagebreak{}
+
+\section{Example usage}
+
+The following \LaTeX{} manuscript
+
+\vspace{3ex}
+
+\lstinputlisting[language=TeX]{hereapplies-example.tex}
+
+\vspace{3ex}
+
+\noindent will generate the \url{hereapplies-example.pdf} document
+attached.
+
+\section{A minimal tutorial}
+
+\begin{macro}{\hereapplies}
+
+Syntax:
+
+\bigskip{}
+
+\texttt{\textbackslash hereapplies\enskip{}{[}$\langle$}\texttt{\textit{label}}\texttt{$\rangle${]}\enskip{}\{$\langle$}\texttt{\textit{identifiers}}\texttt{$\rangle$\}}
+
+\texttt{\textbackslash hereapplies{*}\enskip{}{[}$\langle$}\texttt{\textit{label}}\texttt{$\rangle${]}\enskip{}\{$\langle$}\texttt{\textit{identifiers}}\texttt{$\rangle$\}}
+
+\noindent \smallskip{}
+
+\noindent The \texttt{\textbackslash hereapplies} command notifies
+the document that one or more identifiers apply to a particular point
+and adds a label to it.
+
+If the optional argument is passed the label created will be named
+accordingly, otherwise an opaque name will be chosen for it. This
+argument may contain only what is legal for \texttt{\textbackslash pageref}.
+
+The \texttt{\textit{identifiers}} argument must be a comma-separated
+list of identifiers (leading and trailing spaces around each member
+will be ignored). Each of these strings will remain confined within
+the internal scope of the package and will not create conflicts with
+possible macros or labels of the same names.
+
+After storing some internal values, \texttt{\textbackslash hereapplies}
+will expand exactly to
+
+\begin{lstlisting}[language=TeX,numbers=none]
+\phantomsection\label{...}
+\end{lstlisting}
+
+Its ``starred'' version (\texttt{\textbackslash hereapplies{*}})
+will not invoke the \texttt{\textbackslash phantomsection} directive.
+
+\end{macro}
+
+\smallskip{}
+
+\begin{macro}{\whereapplies}
+
+Syntax:
+
+\bigskip{}
+
+\texttt{\textbackslash whereapplies\enskip{}\{$\langle$}\texttt{\textit{identifier}}\texttt{$\rangle$\}}
+
+\texttt{\textbackslash whereapplies{*}\enskip{}\{$\langle$}\texttt{\textit{identifier}}\texttt{$\rangle$\}}
+
+\noindent \smallskip{}
+
+\noindent The \texttt{\textbackslash whereapplies} command prints
+all the occurrences of an identifier, in the form ``p.\ \dots ''
+or ``pp.\ \dots '' (with page range support).
+
+The \texttt{\textit{identifier}} argument will remain confined within
+the internal scope of the package and will not create conflicts with
+possible commands or labels of the same name. Leading and trailing
+spaces around this string will be ignored.
+
+If the same \texttt{\textit{identifier}} is not passed to \texttt{\textbackslash hereapplies}
+at least once throughout the document, \texttt{\textbackslash whereapplies}
+will print ``\textbf{??}''.
+
+The ``starred'' version of this command (\texttt{\textbackslash whereapplies{*}})
+will use \texttt{\textbackslash pageref{*}} instead of \texttt{\textbackslash pageref}
+for generating the page list.
+
+\end{macro}
+
+\section{Internationalization}
+
+Currently the localization of \textbf{Here Applies} is not automatic.
+It is possible however to control the strings generated by overwriting
+the four macros \texttt{\textbackslash hapage}, \texttt{\textbackslash hapages},
+\texttt{\textbackslash hadelimiter} and \texttt{\textbackslash halastdelimiter}.
+For example, writing at the beginning of a document
+
+\vspace{3ex}
+
+\begin{lstlisting}[language=TeX]
+% German translation of **Here Applies**
+% English: "p.\ "
+\gdef\hapage{S.\ }
+% English: "pp.\ "
+\gdef\hapages{S.\ }
+% English: "\ and\ "
+\gdef\halastdelimiter{\ und\ }
+% English: ",\ " (exactly like in German -- leave it)
+%\gdef\hadelimiter{,\ }
+\end{lstlisting}
+
+\vspace{3ex}
+
+\noindent will translate ``pp.\ 2, 4 and 6'' into ``S.\ 2, 4
+und 6''.
+
+\section{Get involved}
+
+If you wish to get involved, please do not hesitate to send \href{https://github.com/madmurphy/hereapplies.sty/pulls}{merge requests}
+or participate in the discussion. The package is also \href{https://www.ctan.org/pkg/hereapplies}{available on \textbf{CTAN}}
+under \href{https://www.ctan.org/tex-archive/macros/latex/contrib/hereapplies/}{\texttt{macros/latex/contrib/hereapplies/}}.
+For any issue, please \href{https://github.com/madmurphy/hereapplies.sty/issues}{drop a message}.
+
+\section{Free software}
+
+\textbf{Here Applies} is free software. You can redistribute it and/or
+modify it under the terms of the \textbf{AGPL} license version 3 or
+any later version. See \url{COPYING} for details.
+
+\newpage{}
+
+\section*{Code appendix}
+
+\addcontentsline{toc}{section}{Code appendix}
+
+\lstinputlisting[language=TeX]{hereapplies.sty}
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/hereapplies/hereapplies-doc.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/latex/hereapplies/hereapplies-example.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/hereapplies/lyx-module/hereapplies.module
===================================================================
--- trunk/Master/texmf-dist/doc/latex/hereapplies/lyx-module/hereapplies.module	2022-09-03 19:51:22 UTC (rev 64281)
+++ trunk/Master/texmf-dist/doc/latex/hereapplies/lyx-module/hereapplies.module	2022-09-03 19:52:35 UTC (rev 64282)
@@ -1,9 +1,10 @@
 #\DeclareLyXModule[hereapplies.sty]{Here Applies}
+#\DeclareCategory{Label and References}
 #DescriptionBegin
 #A module for for referencing groups of pages that share something in common.
 #See the hereapplies.sty LaTeX package for more information.
 #DescriptionEnd
-#Authors: madmurphy
+#Author: madmurphy
 
 Format 66
 
@@ -11,9 +12,9 @@
 	\usepackage{hereapplies}
 EndPreamble
 
-InsetLayout Flex:Here_applies
-	LyXType		custom
-	Decoration	Classic
+InsetLayout "Flex:Here applies"
+	LyXType			custom
+	Decoration		Classic
 	Font
 		Family			Typewriter
 		Color			black
@@ -32,7 +33,7 @@
 	MultiPar		false
 	CustomPars		false
 	ForcePlain		true
-	PassThru		true
+	PassThru		false
 	ParbreakIsNewline	true
 	FreeSpacing		false
 	ForceLTR		true
@@ -49,9 +50,9 @@
 	EndArgument
 End
 
-InsetLayout Flex:Here_applies*
-	LyXType		custom
-	Decoration	Classic
+InsetLayout "Flex:Here applies*"
+	LyXType			custom
+	Decoration		Classic
 	Font
 		Family			Typewriter
 		Color			black
@@ -70,7 +71,7 @@
 	MultiPar		false
 	CustomPars		false
 	ForcePlain		true
-	PassThru		true
+	PassThru		false
 	ParbreakIsNewline	true
 	FreeSpacing		false
 	ForceLTR		true
@@ -87,7 +88,7 @@
 	EndArgument
 End
 
-InsetLayout Flex:Where_applies
+InsetLayout "Flex:Where applies"
 	LyXType			custom
 	Decoration		Classic
 	Font
@@ -100,7 +101,7 @@
 		Color			purple
 		Size			Small
 	EndFont
-	LabelString		"Applications of"
+	LabelString		"Where applies"
 	LatexType		command
 	LatexName		whereapplies
 	Requires		hereapplies
@@ -108,7 +109,7 @@
 	MultiPar		false
 	CustomPars		false
 	ForcePlain		true
-	PassThru		true
+	PassThru		false
 	ParbreakIsNewline	true
 	FreeSpacing		false
 	ForceLTR		true
@@ -115,7 +116,7 @@
 	BgColor			lightgray
 End
 
-InsetLayout Flex:Where_applies*
+InsetLayout "Flex:Where applies*"
 	LyXType			custom
 	Decoration		Classic
 	Font
@@ -128,7 +129,7 @@
 		Color			purple
 		Size			Small
 	EndFont
-	LabelString		"Applications of*"
+	LabelString		"Where applies*"
 	LatexType		command
 	LatexName		whereapplies*
 	Requires		hereapplies
@@ -136,7 +137,7 @@
 	MultiPar		false
 	CustomPars		false
 	ForcePlain		true
-	PassThru		true
+	PassThru		false
 	ParbreakIsNewline	true
 	FreeSpacing		false
 	ForceLTR		true

Modified: trunk/Master/texmf-dist/doc/latex/hereapplies/package.json
===================================================================
--- trunk/Master/texmf-dist/doc/latex/hereapplies/package.json	2022-09-03 19:51:22 UTC (rev 64281)
+++ trunk/Master/texmf-dist/doc/latex/hereapplies/package.json	2022-09-03 19:52:35 UTC (rev 64282)
@@ -1,15 +1,19 @@
 {
 	"name": "hereapplies.sty",
-	"version": "0.7.0",
+	"version": "0.8.0",
 	"description": "A LaTeX package for referencing groups of pages that share something in common",
-	"homepage": "https://madmurphy.github.io/hereapplies.sty",
+	"homepage": "https://www.ctan.org/pkg/hereapplies",
 	"author": "madmurphy",
 	"license": "AGPL-3.0-or-later",
+	"main": "hereapplies.sty",
 	"repository": {
 		"url": "https://github.com/madmurphy/hereapplies.sty.git"
 	},
 	"src": [
-		"hereapplies.sty"
+		"hereapplies.sty",
+		"hereapplies-doc.lyx",
+		"hereapplies-doc.tex",
+		"hereapplies-example.tex"
 	],
 	"bugs": {
 		"url": "https://github.com/madmurphy/hereapplies.sty/issues",
@@ -20,6 +24,7 @@
 		"index",
 		"latex",
 		"latex-hyperref",
+		"latex-labels",
 		"latex-package",
 		"lyx",
 		"lyx-module",

Modified: trunk/Master/texmf-dist/tex/latex/hereapplies/hereapplies.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/hereapplies/hereapplies.sty	2022-09-03 19:51:22 UTC (rev 64281)
+++ trunk/Master/texmf-dist/tex/latex/hereapplies/hereapplies.sty	2022-09-03 19:52:35 UTC (rev 64282)
@@ -1,4 +1,4 @@
-%  -*- Mode: latex; indent-tabs-mode: nil; c-basic-offset: 4; tab-width: 4 -*-
+% -*- Mode: latex; indent-tabs-mode: nil; c-basic-offset: 4; tab-width: 4 -*-
 %
 %
 % hereapplies.sty
@@ -8,7 +8,7 @@
 %
 % https://github.com/madmurphy/hereapplies.sty
 %
-% Version 0.7.0
+% Version 0.8.0
 %
 % Copyright (C) 2022 madmurphy <madmurphy333 at gmail.com>
 %
@@ -66,7 +66,7 @@
 %     \end{document}
 %
 %
-\ProvidesPackage{hereapplies}[2022/08/29 Here Applies]
+\ProvidesPackage{hereapplies}[2022/09/03 Here Applies]
 \RequirePackage{hyperref}
 \RequirePackage{refcount}
 %
@@ -101,7 +101,7 @@
 % This macro is mainly for internal purposes (but nothing forbids invoking it
 % directly). When invoked it checks whether a comma is present in `text to
 % check`, then expands to `if yes` or `if no` accordingly.
-
+%
 % Please do not put curly brackets around the text to check. The comma at the
 % end of the text is mandatory.
 %
@@ -350,16 +350,18 @@
 % other packages, if needed.
 %
 %
-% Macro: `\starred at labeled@hereapplies{label}{identifiers}`
+% Macro: `\starred at nochecks@hereapplies{label}{identifiers}`
 % *****************************************************************************
 %
-% Identical to `\hereapplies*`, but the two arguments are both mandatory
+% Similar to `\hereapplies*`, but without checks and with two mandatory
+% arguments
 %
 % This macro is mainly for internal purposes (but nothing forbids invoking it
-% directly). See the documentation of `\hereapplies` for more information.
+% directly). Here the two arguments are both mandatory and there will be no
+% checks that first argument does not contain a comma. See the documentation of
+% `\hereapplies` for more information.
 %
-\newcommand*{\starred at labeled@hereapplies}[2]{%
-    \begingroup%
+\newcommand*{\starred at nochecks@hereapplies}[2]{%
     % Assign a label to this occurrence
     \label{#1}%
     % Iterate through the comma-separated list `identifiers`
@@ -384,7 +386,8 @@
                 @ha at iter@@labels@\@ha at tmp@@id\endcsname{#1}%
         \fi%
     }%
-    \endgroup%
+    % Clean the environment
+    \let\@ha at tmp@@id\undefined%
 }
 %
 %
@@ -402,15 +405,23 @@
         % The macro has been called with only one argument
         % Assign a unique number to the unnamed occurrence
         \stepcounter{@ha at unlabeled@counter}%
-        % Call `\starred at hereapplies` with an opaque label
-        {\edef\@ha at tmp@@mcall{\noexpand\starred at labeled@hereapplies{%
-            hereapplies:unnamed\the at ha@unlabeled at counter}{#2}%
-        }\@ha at tmp@@mcall}%
+        % Create an opaque label
+        \edef\@ha at tmp@@lbl{hereapplies:unnamed\the at ha@unlabeled at counter}%
     \else%
         % The macro has been called with two arguments
-        % Call `\starred at labeled@hereapplies` with the same arguments
-        \starred at labeled@hereapplies{#1}{#2}%
+        % Expand the first argument for checking properly
+        \edef\@ha at tmp@@lbl{#1}%
+        % Make sure that there are no commas in the `label` argument
+        \expandafter\@ha at ifcomma\@ha at tmp@@lbl,\@then{%
+            \PackageError{hereapplies}{Comma detected in "\@ha at tmp@@lbl"}{%
+                It is possible to assign only one single label.%
+            }%
+        }{}%
     \fi%
+    % Call `\starred at nochecks@hereapplies`
+    \expandafter\starred at nochecks@hereapplies\expandafter{\@ha at tmp@@lbl}{#2}%
+    % Clean the environment
+    \let\@ha at tmp@@lbl\undefined%
 }
 %
 %
@@ -431,12 +442,11 @@
 % same name. Leading and trailing spaces around this string will be ignored.
 %
 \newcommand*{\get at hainfo}[2][labels]{%
-    \begingroup%
     % Trim leading and trailing spaces from the identifier
     \edef\@ha at tmp@@id{\ha at trim{#2}}%
     % Make sure that there are no commas
     \expandafter\@ha at ifcomma\@ha at tmp@@id,\@then{%
-        \PackageError{hereapplies}{Comma detected in "#2"}{%
+        \PackageError{hereapplies}{Comma detected in "\@ha at tmp@@id"}{%
             It is possible to query only one single identifier at a time.%
         }%
     }{}%
@@ -444,7 +454,8 @@
     \expandafter\@ha at newidentifier\expandafter{\@ha at tmp@@id}%
     % Print the identifier's property
     \csname @ha at prop@@#1@\@ha at tmp@@id\endcsname%
-    \endgroup%
+    % Clean the environment
+    \let\@ha at tmp@@id\undefined%
 }
 %
 %



More information about the tex-live-commits mailing list.