diff options
author | Karl Berry <karl@freefriends.org> | 2022-08-19 19:26:38 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2022-08-19 19:26:38 +0000 |
commit | 8aa0d80312b66c045a044402a678396391ba1b11 (patch) | |
tree | b6bed3f0898850954493b573dd15bc14edec13a3 /Master | |
parent | 73e4cd5bad0c0e02f6c111d54f2a87b811d8ba59 (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.md | 10 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/hereapplies/README.md | 68 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/hereapplies/hereapplies-example.pdf | bin | 50857 -> 49896 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/hereapplies/hereapplies-example.tex | 18 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/hereapplies/lyx-module/hereapplies-example.lyx | 75 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/hereapplies/lyx-module/hereapplies.module | 4 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/hereapplies/package.json | 2 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/hereapplies/hereapplies.sty | 168 |
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 Binary files differindex a6406da256d..de4ecf6812e 100644 --- a/Master/texmf-dist/doc/latex/hereapplies/hereapplies-example.pdf +++ b/Master/texmf-dist/doc/latex/hereapplies/hereapplies-example.pdf 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. |