summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/hereapplies/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/hereapplies/README.md')
-rw-r--r--macros/latex/contrib/hereapplies/README.md82
1 files changed, 48 insertions, 34 deletions
diff --git a/macros/latex/contrib/hereapplies/README.md b/macros/latex/contrib/hereapplies/README.md
index 8ffda3cd99..2ef03857e6 100644
--- a/macros/latex/contrib/hereapplies/README.md
+++ b/macros/latex/contrib/hereapplies/README.md
@@ -7,38 +7,43 @@ A LaTeX package for cross-linking concepts to their applications
Overview
--------
-**Here Applies** is a LaTeX package that implements an _informal glossary_. Its
-core mechanism is identical to that of a conventional glossary – i.e. some
-concepts are marked as “important” and indicized every time they appear in the
-document – but it does not produce any nomenclature section, nor relies on the
-conventions that normally take part in a glossary.
-
-In fact, normally, besides an indicization mechanism, a proper glossary should
-be able to produce a dedicated section (usually at the end of the document)
+**Here Applies** is a LaTeX package that implements an _informal glossary_ for
+cross-linking concepts to their applications. Its core mechanism is identical
+to that of a conventional glossary – i.e. some concepts are marked as
+“important” and indicized every time they appear in the document – but it does
+not produce any nomenclature section, nor relies on the conventions that
+normally take part in a glossary.
+
+Besides an indicization mechanism, in fact, a proper glossary should normally
+be able to produce a dedicated section – usually at the end of the document –
where the terms are collected in alphabetical order, their definitions are
-shown, and the lists of their occurrences are presented. By design, all these
-things but the last one are missing in **Here Applies**.
+shown, and the lists of their occurrences are presented. All these things but
+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
-knows that the same concept from previous invocations is occurring at that
-point. And so every time the `\whereapplies` macro is invoked, all the
-occurrences of that concept within the entire document will be printed in the
-form of a linkable page number list (“pp. 1, 2, 3, 4, …”).
+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…”).
As `\hereapplies` is designed to be invoked in the middle of a chapter or a
-section and make it linkable, the `\phantomsection` macro is invoked by default
-before a label is added to that place. To avoid calling `\phantomsection`,
-the “starred” macro `\hereapplies*` is available.
+section, and that location must be made linkable, the `\phantomsection` macro
+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
`\pageref*`.
+If you use LyX, the package ships a LyX module as well (please check the
+`lyx-module` subdirectory).
+
Example usage
-------------
@@ -53,29 +58,34 @@ The following LaTeX manuscript
\begin{document}
\title{Some title}
+
\author{Some author}
\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}.
+This is concept one. To find this concept applied, please see
+\whereapplies{conceptOne}.
-\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
-\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}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{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[myref]{conceptOne}This is page \thepage. As you can
see, ``concept one'' applies here. This point in the document is
@@ -90,27 +100,31 @@ will generate [this document][1].
A minimal tutorial
------------------
-### Macro `\hereapplies[label]{concept_name}`
+### Macro `\hereapplies[Label]{ConceptName}`
The `\hereapplies` macro notifies the document that a particular concept
-applies to a particular point and creates a label for it.
+applies 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`.
-The `concept_name` argument may contain only letters and the “at” sign (`@`).
+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 “starred” version of this macro (`\hereapplies*`) does not invoke the
`\phantomsection` directive.
-### Macro `\whereapplies{concept_name}`
+### Macro `\whereapplies{ConceptName}`
The `\whereapplies` macro prints all the occurrences of a concept, in the form
-“p. …” or “pp. …”
+“p. …” or “pp. …” (with page range support).
-The `concept_name` argument may contain only letters and the “at” sign (`@`).
+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 “starred” version of this macro (`\whereapplies*`) will use `\pageref*`
instead of `\pageref` for generating the page list.