From a0cd52e74c71a51b422c2e1be7195b58c23ba1ba Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 28 May 2020 17:59:35 +0000 Subject: handle hyperref \see and \seealso, from J\"urgen S git-svn-id: svn://tug.org/texlive/trunk@55315 c570f23f-e606-0410-a88d-b1316a301751 --- Build/source/utils/xindy/ChangeLog | 9 ++++ Build/source/utils/xindy/TLpatches/ChangeLog | 6 +++ .../xindy/TLpatches/patch-08-hyperref-seealso | 63 ++++++++++++++++++++++ .../utils/xindy/TLpatches/patch-10-doc-min-range | 56 +++++++++---------- .../xindy/xindy-src/modules/base/makeindex.xdy | 5 ++ .../utils/xindy/xindy-src/user-commands/texindy.in | 10 +--- .../utils/xindy/xindy-src/user-commands/xindy.in | 10 +--- 7 files changed, 116 insertions(+), 43 deletions(-) create mode 100644 Build/source/utils/xindy/TLpatches/patch-08-hyperref-seealso diff --git a/Build/source/utils/xindy/ChangeLog b/Build/source/utils/xindy/ChangeLog index ec9c6911fab..efcb68ab147 100644 --- a/Build/source/utils/xindy/ChangeLog +++ b/Build/source/utils/xindy/ChangeLog @@ -1,5 +1,14 @@ 2020-05-28 J\"urgen Spitzm\"uller + These patches from + https://tug.org/pipermail/tex-live/2020-May/045760.html + + * xindy-src/modules/base/makeindex.xdy + (define-crossref-class, markup-crossref-list): handle + \see and \seealso added by hyperref. + * xindy-src/user-commands/texindy.in, + * xindy-src/user-commands/xindy.in: corresponding doc updates. + * xindy-src/doc/faq-4.html, * xindy-src/doc/manual-3.html: document workaround for :min-range-length none being broken. diff --git a/Build/source/utils/xindy/TLpatches/ChangeLog b/Build/source/utils/xindy/TLpatches/ChangeLog index 5757aed845f..766ab547e3f 100644 --- a/Build/source/utils/xindy/TLpatches/ChangeLog +++ b/Build/source/utils/xindy/TLpatches/ChangeLog @@ -1,3 +1,9 @@ +2020-05-28 Karl Berry + + * patch-08-hyperref-seealso, + * patch-10-doc-min-range: new patches from J\"urgen S. + https://tug.org/pipermail/tex-live/2020-May/045760.html + 2017-11-13 Karl Berry * patch-02-lbrace: new file. diff --git a/Build/source/utils/xindy/TLpatches/patch-08-hyperref-seealso b/Build/source/utils/xindy/TLpatches/patch-08-hyperref-seealso new file mode 100644 index 00000000000..0ea8960fc8f --- /dev/null +++ b/Build/source/utils/xindy/TLpatches/patch-08-hyperref-seealso @@ -0,0 +1,63 @@ + https://sourceforge.net/p/xindy/bugs/62/ + https://tug.org/pipermail/tex-live/2020-May/045753.html + +Index: xindy-src/modules/base/makeindex.xdy +=================================================================== +--- xindy-src/modules/base/makeindex.xdy (revision 55307) ++++ xindy-src/modules/base/makeindex.xdy (working copy) +@@ -17,6 +17,11 @@ + (define-crossref-class "seealso") + (markup-crossref-list :class "seealso" :open "\seealso{" :sep "; " :close "}{}") + ++;; \hyperindexformat is a wrapper to \see and \seealso added by hyperref. ++;; We treat it like \see and \seealso ++(define-crossref-class "hyperindexformat" :unverified) ++(markup-crossref-list :class "hyperindexformat" :open "\hyperindexformat{" :sep "; " :close "}{}") ++ + ;; Subentries in cross references are seperated by comma for all + ;; crossref classes. + (markup-crossref-layer-list :sep ", ") +Index: xindy-src/user-commands/texindy.in +=================================================================== +--- xindy-src/user-commands/texindy.in (revision 55307) ++++ xindy-src/user-commands/texindy.in (working copy) +@@ -308,15 +308,9 @@ behaviour. + + For more complex usage, when C is not an identifier, no such + compatibility definitions exist and may also not been created with +-current B. In particular, this means that by default the LaTeX +-package C will create raw index files that cannot be +-processed with B. This is not a bug, this is the unfortunate +-result of an intented incompatibility. It is currently not possible to +-get both hyperref's index links and use B. ++current B. Such a situation is reported to exist for the ++C LaTeX class. + +-A similar situation is reported to exist for the C LaTeX +-class. +- + Programmers who know Common Lisp and Lex and want to work on a remedy + should please contact the author. + +Index: xindy-src/user-commands/xindy.in +=================================================================== +--- xindy-src/user-commands/xindy.in (revision 55307) ++++ xindy-src/user-commands/xindy.in (working copy) +@@ -260,15 +260,9 @@ behaviour. + + For more complex usage, when C is not an identifier, no such + compatibility definitions exist and may also not been created with +-current B. In particular, this means that by default the LaTeX +-package C will create raw index files that cannot be +-processed with B. This is not a bug, this is the unfortunate +-result of an intented incompatibility. It is currently not possible to +-get both hyperref's index links and use B. ++current B. Such a situation is reported to exist for the ++C LaTeX class. + +-A similar situation is reported to exist for the C LaTeX +-class. +- + Programmers who know Common Lisp and Lex and want to work on a remedy + should please contact the author. + diff --git a/Build/source/utils/xindy/TLpatches/patch-10-doc-min-range b/Build/source/utils/xindy/TLpatches/patch-10-doc-min-range index 644be4b42b5..d26e322138a 100644 --- a/Build/source/utils/xindy/TLpatches/patch-10-doc-min-range +++ b/Build/source/utils/xindy/TLpatches/patch-10-doc-min-range @@ -1,29 +1,10 @@ -diff --git a/doc/faq-4.html b/doc/faq-4.html -index 8105256..3a57b7a 100644 ---- a/doc/faq-4.html -+++ b/doc/faq-4.html -@@ -460,11 +460,12 @@ location references. For exmaple the sequence - the form -

-

--  (define-location-class ... :min-range-length none)
-+  (define-location-class ... :min-range-length 100000)
- 
--

The argument :min-range-length none avoids forming of ranges. --Arbitrary numbers instead of none define the minimum length of a --sequence of location references that are needed to form a range. -+

Arbitrary numbers define the minimum length of a sequence of location references that are needed to form a range. -+The use of a sufficiently large number (such as :min-range-length 100000) avoids forming of ranges -+(unless your document has more than 100.000 pages and an index entry spans all of them; in this unlikely case, just increase -+the number sufficiently). - xindys default value is 2. -

-

-diff --git a/doc/manual-3.html b/doc/manual-3.html -index 3520de7..e00cf79 100644 ---- a/doc/manual-3.html -+++ b/doc/manual-3.html -@@ -185,8 +185,8 @@ strings representing separators. Separators must follow the + https://tug.org/pipermail/tex-live/2020-May/045760.html + +Index: xindy-src/doc/manual-3.html +=================================================================== +--- xindy-src/doc/manual-3.html (revision 54835) ++++ xindy-src/doc/manual-3.html (working copy) +@@ -185,8 +185,8 @@ keyword argument :sep. If the keyword :min-range-length is specified we define the minimum range length to be used when building ranges. The argument num must be a positive integer @@ -34,7 +15,7 @@ index 3520de7..e00cf79 100644 is of type variable, i.e. it is a var-location-class. Since building of ranges is currently only allowed for standard classes :var and :min-range-length must not be used together. The -@@ -198,7 +198,7 @@ layers the hierarchy does contain. See command +@@ -198,7 +198,7 @@

    (define-location-class "page-numbers" ("arabic-numbers")
@@ -43,3 +24,24 @@ index 3520de7..e00cf79 100644
  

Defines the location class page-numbers consisting of one layer which is the alphabet arabic-numbers. Since the minimum +Index: xindy-src/doc/faq-4.html +=================================================================== +--- xindy-src/doc/faq-4.html (revision 54835) ++++ xindy-src/doc/faq-4.html (working copy) +@@ -460,11 +460,12 @@ + the form +

+

+-  (define-location-class ... :min-range-length none)
++  (define-location-class ... :min-range-length 100000)
+ 
+-

The argument :min-range-length none avoids forming of ranges. +-Arbitrary numbers instead of none define the minimum length of a +-sequence of location references that are needed to form a range. ++

Arbitrary numbers define the minimum length of a sequence of location references that are needed to form a range. ++The use of a sufficiently large number (such as :min-range-length 100000) avoids forming of ranges ++(unless your document has more than 100.000 pages and an index entry spans all of them; in this unlikely case, just increase ++the number sufficiently). + xindys default value is 2. +

+

diff --git a/Build/source/utils/xindy/xindy-src/modules/base/makeindex.xdy b/Build/source/utils/xindy/xindy-src/modules/base/makeindex.xdy index c859ecac651..94db4bb052e 100644 --- a/Build/source/utils/xindy/xindy-src/modules/base/makeindex.xdy +++ b/Build/source/utils/xindy/xindy-src/modules/base/makeindex.xdy @@ -17,6 +17,11 @@ (define-crossref-class "seealso") (markup-crossref-list :class "seealso" :open "\seealso{" :sep "; " :close "}{}") +;; \hyperindexformat is a wrapper to \see and \seealso added by hyperref. +;; We treat it like \see and \seealso +(define-crossref-class "hyperindexformat" :unverified) +(markup-crossref-list :class "hyperindexformat" :open "\hyperindexformat{" :sep "; " :close "}{}") + ;; Subentries in cross references are seperated by comma for all ;; crossref classes. (markup-crossref-layer-list :sep ", ") diff --git a/Build/source/utils/xindy/xindy-src/user-commands/texindy.in b/Build/source/utils/xindy/xindy-src/user-commands/texindy.in index f876aba940f..653e51d49c9 100644 --- a/Build/source/utils/xindy/xindy-src/user-commands/texindy.in +++ b/Build/source/utils/xindy/xindy-src/user-commands/texindy.in @@ -308,14 +308,8 @@ behaviour. For more complex usage, when C is not an identifier, no such compatibility definitions exist and may also not been created with -current B. In particular, this means that by default the LaTeX -package C will create raw index files that cannot be -processed with B. This is not a bug, this is the unfortunate -result of an intented incompatibility. It is currently not possible to -get both hyperref's index links and use B. - -A similar situation is reported to exist for the C LaTeX -class. +current B. Such a situation is reported to exist for the +C LaTeX class. Programmers who know Common Lisp and Lex and want to work on a remedy should please contact the author. diff --git a/Build/source/utils/xindy/xindy-src/user-commands/xindy.in b/Build/source/utils/xindy/xindy-src/user-commands/xindy.in index 27af4b276d9..df52dd948c9 100644 --- a/Build/source/utils/xindy/xindy-src/user-commands/xindy.in +++ b/Build/source/utils/xindy/xindy-src/user-commands/xindy.in @@ -260,14 +260,8 @@ behaviour. For more complex usage, when C is not an identifier, no such compatibility definitions exist and may also not been created with -current B. In particular, this means that by default the LaTeX -package C will create raw index files that cannot be -processed with B. This is not a bug, this is the unfortunate -result of an intented incompatibility. It is currently not possible to -get both hyperref's index links and use B. - -A similar situation is reported to exist for the C LaTeX -class. +current B. Such a situation is reported to exist for the +C LaTeX class. Programmers who know Common Lisp and Lex and want to work on a remedy should please contact the author. -- cgit v1.2.3