summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-08-19 19:26:38 +0000
committerKarl Berry <karl@freefriends.org>2022-08-19 19:26:38 +0000
commit8aa0d80312b66c045a044402a678396391ba1b11 (patch)
treeb6bed3f0898850954493b573dd15bc14edec13a3 /Master
parent73e4cd5bad0c0e02f6c111d54f2a87b811d8ba59 (diff)
hereapplies (19aug22)
git-svn-id: svn://tug.org/texlive/trunk@64147 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r--Master/texmf-dist/doc/latex/hereapplies/ChangeLog.md10
-rw-r--r--Master/texmf-dist/doc/latex/hereapplies/README.md68
-rw-r--r--Master/texmf-dist/doc/latex/hereapplies/hereapplies-example.pdfbin50857 -> 49896 bytes
-rw-r--r--Master/texmf-dist/doc/latex/hereapplies/hereapplies-example.tex18
-rw-r--r--Master/texmf-dist/doc/latex/hereapplies/lyx-module/hereapplies-example.lyx75
-rw-r--r--Master/texmf-dist/doc/latex/hereapplies/lyx-module/hereapplies.module4
-rw-r--r--Master/texmf-dist/doc/latex/hereapplies/package.json2
-rw-r--r--Master/texmf-dist/tex/latex/hereapplies/hereapplies.sty168
8 files changed, 142 insertions, 203 deletions
diff --git a/Master/texmf-dist/doc/latex/hereapplies/ChangeLog.md b/Master/texmf-dist/doc/latex/hereapplies/ChangeLog.md
index 7f1fda1e25d..6843095f9b6 100644
--- a/Master/texmf-dist/doc/latex/hereapplies/ChangeLog.md
+++ b/Master/texmf-dist/doc/latex/hereapplies/ChangeLog.md
@@ -2,6 +2,16 @@ Change Log
==========
+## 0.5.0 (2022-08-19)
+
+Changes:
+
+* A macro expansion bug has been fixed
+* The `\hereapplies` macro now supports a comma-separated list of identifiers
+* Documentation
+* Examples
+
+
## 0.4.0 (2022-08-16)
Changes:
diff --git a/Master/texmf-dist/doc/latex/hereapplies/README.md b/Master/texmf-dist/doc/latex/hereapplies/README.md
index 2ef03857e6f..17ed9033cb0 100644
--- a/Master/texmf-dist/doc/latex/hereapplies/README.md
+++ b/Master/texmf-dist/doc/latex/hereapplies/README.md
@@ -22,15 +22,17 @@ the last one, by design, are missing in **Here Applies**.
Instead, the package offers only two macros: `\hereapplies` and `\whereapplies`
(plus their “starred” versions `\hereapplies*` and `\whereapplies*`). In both
-cases a “concept name” is passed as argument – and this can be any string
-invented in the moment, as long as it contains only letters.
-
-Every time `\hereapplies` is invoked again on an identical string, the document
-is made aware that the same concept from previous invocations is occurring at
-that point. And so, every time the `\whereapplies` macro is invoked on that
-same string, all the occurrences of that concept within the entire document
-will be printed in the form of a linkable page number list (e.g. “pp. 1, 5,
-8–9, 14–20…”).
+cases a “concept identifier” is passed as argument – and this can be any string
+invented in the moment, as long as it contains only letters (`\hereapplies`
+additionally supports more than one identifier in the form of a comma-separated
+list).
+
+Every time `\hereapplies` is invoked again on identical identifiers, the
+document is made aware that the same concepts from previous invocations are
+occurring in that point. And so, every time the `\whereapplies` macro is
+invoked on 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…”).
As `\hereapplies` is designed to be invoked in the middle of a chapter or a
section, and that location must be made linkable, the `\phantomsection` macro
@@ -38,7 +40,7 @@ is invoked by default before a label is added. To avoid calling
`\phantomsection`, the “starred” macro `\hereapplies*` is available.
Finally, like `\whereapplies` resembles a pluralizable version of `\pageref`,
-its “starred” version `\whereapplies*` resembles a pluralizable version of
+its “starred” version `\whereapplies*` will resemble a pluralizable version of
`\pageref*`.
If you use LyX, the package ships a LyX module as well (please check the
@@ -63,17 +65,11 @@ The following LaTeX manuscript
\maketitle
-This is concept one. To find this concept applied, please see
-\whereapplies{conceptOne}.
-
-This is concept two. To find this concept applied, please see
-\whereapplies{conceptTwo}.\newpage
-
-\hereapplies{conceptOne}This is page \thepage. As you can see, ``concept
-one'' applies here.\newpage
+This is concept one. To find this concept applied, please
+see \whereapplies{conceptOne}.
-\hereapplies{conceptTwo}This is page \thepage. As you can see, ``concept
-two'' applies here.\newpage
+This is concept two. To find this concept applied, please
+see \whereapplies{conceptTwo}.\newpage
\hereapplies{conceptOne}This is page \thepage. As you can see, ``concept
one'' applies here.\newpage
@@ -81,8 +77,8 @@ one'' applies here.\newpage
\hereapplies{conceptTwo}This is page \thepage. As you can see, ``concept
two'' applies here.\newpage
-\hereapplies{conceptTwo}This is page \thepage. As you can see, ``concept
-two'' applies here.\newpage
+\hereapplies{conceptOne,conceptTwo}This is page \thepage. As you
+can see, both ``concept one'' and ``concept two'' apply here.\newpage
\hereapplies{conceptTwo}This is page \thepage. As you can see, ``concept
two'' applies here.\newpage
@@ -100,32 +96,36 @@ will generate [this document][1].
A minimal tutorial
------------------
-### Macro `\hereapplies[Label]{ConceptName}`
+### Macro `\hereapplies[label]{identifiers}`
-The `\hereapplies` macro notifies the document that a particular concept
-applies to a particular point and adds a label to it.
+The `\hereapplies` macro notifies the document that one or more concepts 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 assigned to it. This argument may contain only
-what is legal in both `\label` and `\pageref`.
+what is legal for `\pageref`.
-The `ConceptName` argument may contain only Latin letters and the “at” sign
-(`@`). This string remains confined within the internal scope of the package
-and does not create conflicts with possible macros or labels of the same name.
+The `identifiers` argument must be a comma-separated list of identifiers. Each
+of these may contain only Latin letters and the "at" sign (`@`). These strings
+remain confined within the internal scope of the package and do not create
+conflicts with possible macros or labels of the same names.
-The “starred” version of this macro (`\hereapplies*`) does not invoke the
+The “starred” version of this macro (`\hereapplies*`) will not invoke the
`\phantomsection` directive.
-### Macro `\whereapplies{ConceptName}`
+### Macro `\whereapplies{identifier}`
-The `\whereapplies` macro prints all the occurrences of a concept, in the form
-“p. …” or “pp. …” (with page range support).
+The `\whereapplies` macro prints all the occurrences of an identifier, in the
+form “p. …” or “pp. …” (with page range support).
-The `ConceptName` argument may contain only Latin letters and the “at” sign
+The `identifier` argument may contain only Latin letters and the "at" sign
(`@`). This string remains confined within the internal scope of the package
and does not create conflicts with possible macros or labels of the same name.
+If the same `identifier` is not passed to `\hereapplies` at least once
+throughout the document, `\whereapplies` will print “**??**”.
+
The “starred” version of this macro (`\whereapplies*`) will use `\pageref*`
instead of `\pageref` for generating the page list.
diff --git a/Master/texmf-dist/doc/latex/hereapplies/hereapplies-example.pdf b/Master/texmf-dist/doc/latex/hereapplies/hereapplies-example.pdf
index a6406da256d..de4ecf6812e 100644
--- a/Master/texmf-dist/doc/latex/hereapplies/hereapplies-example.pdf
+++ b/Master/texmf-dist/doc/latex/hereapplies/hereapplies-example.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/hereapplies/hereapplies-example.tex b/Master/texmf-dist/doc/latex/hereapplies/hereapplies-example.tex
index ef76ef5ce09..f302236ff1f 100644
--- a/Master/texmf-dist/doc/latex/hereapplies/hereapplies-example.tex
+++ b/Master/texmf-dist/doc/latex/hereapplies/hereapplies-example.tex
@@ -10,11 +10,11 @@
\maketitle
-This is concept one. To find this concept applied, please see
-\whereapplies{conceptOne}.
+This is concept one. To find this concept applied, please
+see \whereapplies{conceptOne}.
-This is concept two. To find this concept applied, please see
-\whereapplies{conceptTwo}.\newpage
+This is concept two. To find this concept applied, please
+see \whereapplies{conceptTwo}.\newpage
\hereapplies{conceptOne}This is page \thepage. As you can see, ``concept
one'' applies here.\newpage
@@ -22,14 +22,8 @@ one'' applies here.\newpage
\hereapplies{conceptTwo}This is page \thepage. As you can see, ``concept
two'' applies here.\newpage
-\hereapplies{conceptOne}This is page \thepage. As you can see, ``concept
-one'' applies here.\newpage
-
-\hereapplies{conceptTwo}This is page \thepage. As you can see, ``concept
-two'' applies here.\newpage
-
-\hereapplies{conceptTwo}This is page \thepage. As you can see, ``concept
-two'' applies here.\newpage
+\hereapplies{conceptOne,conceptTwo}This is page \thepage. As you
+can see, both ``concept one'' and ``concept two'' apply here.\newpage
\hereapplies{conceptTwo}This is page \thepage. As you can see, ``concept
two'' applies here.\newpage
diff --git a/Master/texmf-dist/doc/latex/hereapplies/lyx-module/hereapplies-example.lyx b/Master/texmf-dist/doc/latex/hereapplies/lyx-module/hereapplies-example.lyx
index 8f77964e197..e6f5f6f07b5 100644
--- a/Master/texmf-dist/doc/latex/hereapplies/lyx-module/hereapplies-example.lyx
+++ b/Master/texmf-dist/doc/latex/hereapplies/lyx-module/hereapplies-example.lyx
@@ -219,7 +219,7 @@ concept two
status open
\begin_layout Plain Layout
-conceptOne
+conceptOne,conceptTwo
\end_layout
\end_inset
@@ -238,7 +238,7 @@ thepage
\end_inset
.
- As you can see,
+ As you can see, both
\begin_inset Quotes eld
\end_inset
@@ -246,38 +246,7 @@ concept one
\begin_inset Quotes erd
\end_inset
- applies here.
-\begin_inset Newpage newpage
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-\begin_inset Flex Here applies
-status open
-
-\begin_layout Plain Layout
-conceptTwo
-\end_layout
-
-\end_inset
-
-This is page
-\begin_inset ERT
-status collapsed
-
-\begin_layout Plain Layout
-
-
-\backslash
-thepage
-\end_layout
-
-\end_inset
-
-.
- As you can see,
+ and
\begin_inset Quotes eld
\end_inset
@@ -285,46 +254,10 @@ concept two
\begin_inset Quotes erd
\end_inset
- applies here.
-\begin_inset Newpage newpage
-\end_inset
-
-
+ apply here.
\end_layout
\begin_layout Standard
-\begin_inset Flex Here applies
-status open
-
-\begin_layout Plain Layout
-conceptTwo
-\end_layout
-
-\end_inset
-
-This is page
-\begin_inset ERT
-status collapsed
-
-\begin_layout Plain Layout
-
-
-\backslash
-thepage
-\end_layout
-
-\end_inset
-
-.
- As you can see,
-\begin_inset Quotes eld
-\end_inset
-
-concept two
-\begin_inset Quotes erd
-\end_inset
-
- applies here.
\begin_inset Newpage newpage
\end_inset
diff --git a/Master/texmf-dist/doc/latex/hereapplies/lyx-module/hereapplies.module b/Master/texmf-dist/doc/latex/hereapplies/lyx-module/hereapplies.module
index 27438dde669..4873af0a0d1 100644
--- a/Master/texmf-dist/doc/latex/hereapplies/lyx-module/hereapplies.module
+++ b/Master/texmf-dist/doc/latex/hereapplies/lyx-module/hereapplies.module
@@ -39,7 +39,7 @@ InsetLayout Flex:Here_applies
EndFont
LabelString "Label"
MenuString "Instance label"
- Tooltip "A string that will become the label of the instance (which can be referenced with \ref, \pageref, etc.)"
+ Tooltip "A string that will become the label for this point of the document (which can be referenced with \ref, \pageref, etc.)"
Mandatory 0
EndArgument
End
@@ -72,7 +72,7 @@ InsetLayout Flex:Here_applies*
EndFont
LabelString "Label"
MenuString "Instance label"
- Tooltip "A string that will become the label of the instance (which can be referenced with \ref, \pageref, etc.)"
+ Tooltip "A string that will become the label for this point of the document (which can be referenced with \ref, \pageref, etc.)"
Mandatory 0
EndArgument
End
diff --git a/Master/texmf-dist/doc/latex/hereapplies/package.json b/Master/texmf-dist/doc/latex/hereapplies/package.json
index 74dd5ed4a97..ce6edcbd99f 100644
--- a/Master/texmf-dist/doc/latex/hereapplies/package.json
+++ b/Master/texmf-dist/doc/latex/hereapplies/package.json
@@ -1,6 +1,6 @@
{
"name": "hereapplies.sty",
- "version": "0.4.0",
+ "version": "0.5.0",
"description": "A LaTeX package for cross-linking concepts to their applications",
"homepage": "https://madmurphy.github.io/hereapplies.sty",
"author": "madmurphy",
diff --git a/Master/texmf-dist/tex/latex/hereapplies/hereapplies.sty b/Master/texmf-dist/tex/latex/hereapplies/hereapplies.sty
index c83693fb4a9..3ac0462fef1 100644
--- a/Master/texmf-dist/tex/latex/hereapplies/hereapplies.sty
+++ b/Master/texmf-dist/tex/latex/hereapplies/hereapplies.sty
@@ -7,7 +7,7 @@
%
% https://github.com/madmurphy/hereapplies.sty
%
-% Version 0.4.0
+% Version 0.5.0
%
% Copyright (C) 2022 madmurphy <madmurphy333@gmail.com>
%
@@ -40,11 +40,11 @@
%
% \maketitle
%
-% This is concept one. To find this concept applied, please see
-% \whereapplies{conceptOne}.
+% This is concept one. To find this concept applied, please
+% see \whereapplies{conceptOne}.
%
-% This is concept two. To find this concept applied, please see
-% \whereapplies{conceptTwo}.\newpage
+% This is concept two. To find this concept applied, please
+% see \whereapplies{conceptTwo}.\newpage
%
% \hereapplies{conceptOne}This is page \thepage. As you can see, ``concept
% one'' applies here.\newpage
@@ -52,14 +52,8 @@
% \hereapplies{conceptTwo}This is page \thepage. As you can see, ``concept
% two'' applies here.\newpage
%
-% \hereapplies{conceptOne}This is page \thepage. As you can see, ``concept
-% one'' applies here.\newpage
-%
-% \hereapplies{conceptTwo}This is page \thepage. As you can see, ``concept
-% two'' applies here.\newpage
-%
-% \hereapplies{conceptTwo}This is page \thepage. As you can see, ``concept
-% two'' applies here.\newpage
+% \hereapplies{conceptOne,conceptTwo}This is page \thepage. As you
+% can see, both ``concept one'' and ``concept two'' apply here.\newpage
%
% \hereapplies{conceptTwo}This is page \thepage. As you can see, ``concept
% two'' applies here.\newpage
@@ -81,47 +75,43 @@
% ===================
%
%
-% Assign a unique number to each concept
-\newcounter{@ha@concept@counter}
-% Assign a unique number to each unnamed occurrence of a concept
+% Assign a unique number to each identifier
+\newcounter{@ha@identifier@counter}
+% Assign a unique number to each unnamed occurrence of an identifier
\newcounter{@ha@unlabeled@counter}
%
%
-% Macro `\@ha@makeoccurrencelist{HyperrefMacro}{LabelList}`
+% Macro `\@ha@makeoccurrencelist{hypermacro}{labels}`
% *****************************************************************************
%
% Generate the list of page numbers with page range support
%
-% This macro is for internal purposes only. When invoked, it scans the list of
-% labels provided (`LabelList`) and checks which labels refer to duplicate page
-% numbers and which page numbers can be grouped together.
-%
-% The `HyperrefMacro` argument is the macro from the `hyperref` package that
-% will process the label name. This should be either `T@pageref` -- equivalent
-% to `\pageref` -- or `@pagerefstar` -- equivalent to `\pageref*`.
+% This macro is for internal purposes only. When invoked, it scans the
+% comma-separated list of labels provided (`labels`) and checks which labels
+% refer to duplicate page numbers and which page numbers can be grouped
+% together.
%
-% The `ConceptName` argument may contain only Latin letters and the "at" sign
-% (`@`). This string remains confined within the internal scope of the package
-% and does not create conflicts with possible macros or labels of the same
-% name.
+% The `hypermacro` argument is the macro from the `hyperref` package that will
+% process the label name. This should be either `T@pageref` -- equivalent to
+% `\pageref` -- or `@pagerefstar` -- equivalent to `\pageref*`.
%
-% The `LabelList` must be a comma-separated list of labels.
+% The `labels` must be a comma-separated list of labels.
%
\newcommand{\@ha@makeoccurrencelist}[2]{%
% Reset the current page number
\def\@ha@tmp@@currp{-1}%
% Reset the current range offset
\def\@ha@tmp@@prangeoffs{-1}%
- % Iterate through the `LabelList` argument
+ % Iterate through the `labels` argument
\@for\@ha@tmp@@thislabel:=#2\do{%
% Store the page number associated with this label
\edef\@ha@tmp@@nextp{\getpagerefnumber{\@ha@tmp@@thislabel}}%
% Check that we are not on the same page as in the last iteration
\unless\ifnum\@ha@tmp@@currp=\@ha@tmp@@nextp%
% This is not the same page as in the last iteration
- % Is this the first page in which this concept appears?
+ % Is this the first page in which this identifier appears?
\unless\ifnum\@ha@tmp@@currp=-1%
- % This is not the first page in which this concept appears
+ % This is not the first page in which this identifier appears
% Does this page follow immediately the previous label's page?
\ifnum\numexpr\@ha@tmp@@currp+1=\@ha@tmp@@nextp%
% This page follows immediately the previous label's page
@@ -175,35 +165,36 @@
}
%
%
-% Macro `\@ha@newconcept{ConceptName}`
+% Macro `\@ha@newidentifier{identifier}`
% *****************************************************************************
%
-% Initialize a new concept
+% Initialize a new identifier
%
% This macro is for internal purposes only. When invoked, it sets up the helper
-% macros, counters and auxiliary files needed for keeping track of a concept.
-% If the concept was already initialized the macro will be no op.
+% macros, counters and auxiliary files needed for keeping track of an
+% identifier. If the identifier was already initialized the macro will be no
+% op.
%
-% The `ConceptName` argument may contain only Latin letters and the "at" sign
+% The `identifier` argument may contain only Latin letters and the "at" sign
% (`@`). This string remains confined within the internal scope of the package
% and does not create conflicts with possible macros or labels of the same
% name.
%
-\newcommand{\@ha@newconcept}[1]{%
- % Was this concept already initialized?
- \expandafter\ifx\csname @ha@prop@@count@#1\endcsname\relax%
- % The concept was never initialized
+\newcommand{\@ha@newidentifier}[1]{%
+ % Was this identifier already initialized?
+ \unless\ifcsname @ha@prop@@count@#1\endcsname%
+ % The identifier was never initialized
% Set the output to "??" - it will be updated by the .haN file
\expandafter\gdef\csname @ha@prop@@uoutput@#1\endcsname{\textbf{??}}%
% Set the starred output to "??" - it will be updated by the .haN file
\expandafter\gdef\csname @ha@prop@@soutput@#1\endcsname{\textbf{??}}%
% Use "p." for the preamble when there is only one occurrence
\expandafter\gdef\csname @ha@prop@@preamble@#1\endcsname{p.~}%
- % Increase the counter of concepts
- \stepcounter{@ha@concept@counter}%
- % Store the current value of the counter of concepts
+ % Increase the counter of identifiers
+ \stepcounter{@ha@identifier@counter}%
+ % Store the current value of the counter of identifiers
\expandafter\xdef\csname
- @ha@prop@@count@#1\endcsname{\the@ha@concept@counter}%
+ @ha@prop@@count@#1\endcsname{\the@ha@identifier@counter}%
% Initialize the .haN file
% Previous versions had this line, which created unwanted whitespaces:
%\@starttoc{ha\csname @ha@prop@@count@#1\endcsname}%
@@ -212,7 +203,7 @@
% Store all the occurrences when the document reaches the end
\AtEndDocument{%
% Make sure that there are occurrences
- \expandafter\ifcsname @ha@prop@@labels@#1\endcsname%
+ \ifcsname @ha@prop@@labels@#1\endcsname%
% There are occurrences
% Set the .haN file as output
\addtocontents{ha\csname @ha@prop@@count@#1\endcsname}{%
@@ -241,31 +232,32 @@
}
%
%
-% Macro: `\@ha@getpropat{PropertyName}{ConceptName}`
+% Macro: `\@ha@getpropat{field}{identifier}`
% *****************************************************************************
%
-% Get the value of a concept's property
+% Get the value of an identifier's property
%
% This macro is for internal purposes (but nothing forbids invoking it
-% directly). If a concept was never initialized the macro will initialize it.
+% directly). If the identifier was never initialized the macro will initialize
+% it.
%
-% Possible values for the `PropertyName` argument are: `count`, `labels`,
-% `preamble`, `soutput`, `uoutput`.
+% Possible values for the `field` argument are: `count`, `labels`, `preamble`,
+% `soutput`, `uoutput`.
%
-% The `ConceptName` argument may contain only Latin letters and the "at" sign
+% The `identifier` argument may contain only Latin letters and the "at" sign
% (`@`). This string remains confined within the internal scope of the package
% and does not create conflicts with possible macros or labels of the same
% name.
%
\newcommand{\@ha@getpropat}[2]{%
- % Make sure that the concept is initialized
- \@ha@newconcept{#2}%
- % Print the concept's property
+ % Make sure that the identifier is initialized
+ \@ha@newidentifier{#2}%
+ % Print the identifier's property
\csname @ha@prop@@#1@#2\endcsname%
}
%
%
-% Macro: `\starred@labeled@hereapplies{Label}{ConceptName}`
+% Macro: `\starred@labeled@hereapplies{label}{identifiers}`
% *****************************************************************************
%
% Equivalent to `\hereapplies*`, but the two arguments are both mandatory
@@ -274,23 +266,30 @@
% directly). See the documentation of `\hereapplies` for more information.
%
\newcommand{\starred@labeled@hereapplies}[2]{%
- % Make sure that the concept has been initialized
- \@ha@newconcept{#2}%
% Assign a label to this occurrence
\label{#1}%
- \expandafter\ifcsname @ha@prop@@labels@#2\endcsname%
- % This is *not* the first occurrence
- \expandafter\g@addto@macro\csname @ha@prop@@labels@#2\endcsname{,#1}%
- % Use "pp." for the preamble when there are multiple occurrences
- \expandafter\gdef\csname @ha@prop@@preamble@#2\endcsname{pp.~}%
- \else%
- % This is the first occurrence
- \expandafter\gdef\csname @ha@prop@@labels@#2\endcsname{#1}%
- \fi%
+ % Iterate through the comma-separated list `identifiers`
+ \@for\@ha@tmp@@id:=#2\do{%
+ % Make sure that the identifier is initialized
+ {\edef\tmp{\noexpand\@ha@newidentifier{\@ha@tmp@@id}}\tmp}%
+ % Is this the first time this identifier is mentioned?
+ \ifcsname @ha@prop@@labels@\@ha@tmp@@id\endcsname%
+ % This is *not* the first time
+ \expandafter\g@addto@macro\csname
+ @ha@prop@@labels@\@ha@tmp@@id\endcsname{,#1}%
+ % Use "pp." for the preamble when there are multiple occurrences
+ \expandafter\gdef\csname
+ @ha@prop@@preamble@\@ha@tmp@@id\endcsname{pp.~}%
+ \else%
+ % This is the first time
+ \expandafter\gdef\csname
+ @ha@prop@@labels@\@ha@tmp@@id\endcsname{#1}%
+ \fi%
+ }%
}
%
%
-% Macro: `\starred@hereapplies[Label]{ConceptName}`
+% Macro: `\starred@hereapplies[label]{identifiers}`
% *****************************************************************************
%
% Equivalent to `\hereapplies*`
@@ -306,7 +305,7 @@
\stepcounter{@ha@unlabeled@counter}%
% Call `\starred@hereapplies` with an opaque label
{\edef\tmp{\noexpand\starred@labeled@hereapplies{%
- ha:#2-unnamed\the@ha@unlabeled@counter}{#2}%
+ hereapplies:unnamed\the@ha@unlabeled@counter}{#2}%
}\tmp}%
\else%
% The macro has been called with two arguments
@@ -320,20 +319,20 @@
% ===================
%
%
-% Macro: `\hereapplies[Label]{ConceptName}`
+% Macro: `\hereapplies[label]{identifiers}`
% *****************************************************************************
%
-% Notify the document that a particular concept applies and create a label for
-% it
+% Notify the document that one or more identifiers apply to a particular point
+% and add a label to it
%
% If the optional argument is passed the label created will be named
% accordingly, otherwise an opaque name will be assigned to it. This argument
-% may contain only what is legal in both `\label` and `\pageref`.
+% may contain only what is legal for `\pageref`.
%
-% The `ConceptName` argument may contain only Latin letters and the "at" sign
-% (`@`). This string remains confined within the internal scope of the package
-% and does not create conflicts with possible macros or labels of the same
-% name.
+% The `identifiers` argument must be a comma-separated list of identifiers.
+% Each of these may contain only Latin letters and the "at" sign (`@`). These
+% strings remain confined within the internal scope of the package and do not
+% create conflicts with possible macros or labels of the same names.
%
% The starred version of this macro (`\hereapplies*`) does not invoke the
% `\phantomsection` directive.
@@ -344,16 +343,19 @@
}
%
%
-% Macro: `\whereapplies{ConceptName}`
+% Macro: `\whereapplies{identifier}`
% *****************************************************************************
%
-% Print all the occurrences of a concept in the form "p. ..." or "pp. ..."
+% Print all the occurrences of an identifier in the form "p. ..." or "pp. ..."
% with page range support
%
-% The `ConceptName` argument may contain only Latin letters and the "at" sign
-% (`@`). This string remains confined within the internal scope of the package
-% and does not create conflicts with possible macros or labels of the same
-% name.
+% The `identifier` argument may contain only Latin letters and the "at"
+% sign (`@`). This string remains confined within the internal scope of the
+% package and does not create conflicts with possible macros or labels of the
+% same name.
+%
+% If the same `identifier` is not passed to `\hereapplies` at least once
+% throughout the document, `\whereapplies` will print "??".
%
% The starred version of this macro (`\whereapplies*`) will use `\pageref*`
% instead of `\pageref` for generating the page list.