From bbbe8128e7ae9d816a221377dbf5ff3969bb203b Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 30 Sep 2019 03:00:43 +0000 Subject: CTAN sync 201909300300 --- macros/latex/contrib/testidx/CHANGES | 8 ++ macros/latex/contrib/testidx/README | 7 +- .../contrib/testidx/samples/sample-idx-a4.pdf | Bin 186061 -> 186326 bytes .../contrib/testidx/samples/sample-idx-amsmath.pdf | Bin 190620 -> 190937 bytes .../testidx/samples/sample-idx-babel-german.pdf | Bin 204565 -> 204609 bytes .../testidx/samples/sample-idx-babel-german.tex | 2 +- .../contrib/testidx/samples/sample-idx-german.pdf | Bin 204480 -> 204649 bytes .../contrib/testidx/samples/sample-idx-german.tex | 2 +- .../contrib/testidx/samples/sample-idx-hyp.pdf | Bin 207017 -> 207510 bytes .../contrib/testidx/samples/sample-idx-letter.pdf | Bin 199713 -> 199911 bytes .../contrib/testidx/samples/sample-idx-lua.pdf | Bin 148258 -> 148916 bytes .../contrib/testidx/samples/sample-idx-lua.tex | 2 +- .../contrib/testidx/samples/sample-idx-subset.pdf | Bin 138492 -> 138492 bytes .../contrib/testidx/samples/sample-idx-t1.pdf | Bin 294342 -> 294962 bytes .../contrib/testidx/samples/sample-idx-utf8.pdf | Bin 316716 -> 316807 bytes .../contrib/testidx/samples/sample-idx-utf8.tex | 2 +- .../testidx/samples/sample-idx-xe-digraphs.pdf | Bin 101305 -> 102392 bytes .../testidx/samples/sample-idx-xe-digraphs.tex | 8 +- .../contrib/testidx/samples/sample-idx-xe.pdf | Bin 103564 -> 104548 bytes .../contrib/testidx/samples/sample-idx-xe.tex | 2 +- .../latex/contrib/testidx/samples/sample-idx.pdf | Bin 187731 -> 188003 bytes .../testidx/samples/sample-idxgloss-bib2gls-xe.pdf | Bin 178540 -> 179953 bytes .../testidx/samples/sample-idxgloss-bib2gls.pdf | Bin 364062 -> 363897 bytes .../testidx/samples/sample-idxgloss-desc.pdf | Bin 430712 -> 431035 bytes .../testidx/samples/sample-idxgloss-desc.tex | 2 +- .../samples/sample-idxgloss-xe-digraphs.pdf | Bin 100182 -> 101271 bytes .../testidx/samples/sample-idxgloss-xindy.pdf | Bin 279604 -> 279705 bytes .../contrib/testidx/samples/sample-idxgloss.pdf | Bin 304536 -> 304624 bytes .../contrib/testidx/samples/sample-idxgloss.tex | 2 +- .../contrib/testidx/samples/sample-noidxgloss.pdf | Bin 276368 -> 277566 bytes macros/latex/contrib/testidx/testidx-code.pdf | Bin 480276 -> 483610 bytes macros/latex/contrib/testidx/testidx-manual.pdf | Bin 321402 -> 326696 bytes macros/latex/contrib/testidx/testidx-manual.tex | 127 ++++++++++++++++++--- macros/latex/contrib/testidx/testidx.dtx | 80 ++++++++++--- macros/latex/contrib/testidx/testidx.ins | 4 +- 35 files changed, 196 insertions(+), 52 deletions(-) (limited to 'macros/latex/contrib/testidx') diff --git a/macros/latex/contrib/testidx/CHANGES b/macros/latex/contrib/testidx/CHANGES index c37932f084..4917d1faa6 100644 --- a/macros/latex/contrib/testidx/CHANGES +++ b/macros/latex/contrib/testidx/CHANGES @@ -1,3 +1,11 @@ +v1.2 (2019-09-29): + + * Added options ascii and noascii + + * Added lonely sub-item + + * Corrected description for seal + v1.1 (2017-08-11): * Added more sample text, including examples starting with some diff --git a/macros/latex/contrib/testidx/README b/macros/latex/contrib/testidx/README index 1671deff3c..9802c9ed45 100644 --- a/macros/latex/contrib/testidx/README +++ b/macros/latex/contrib/testidx/README @@ -1,6 +1,6 @@ -LaTeX Package : testidx v1.1 +LaTeX Package : testidx v1.2 -Last Modified : 2017-08-11 +Last Modified : 2019-09-29 Author : Nicola Talbot @@ -24,7 +24,8 @@ Example document: \end{document} Note that the dummy indexing intentionally triggers multiple encap -warnings for testing purposes. +warnings for testing purposes. The package is designed to emulate +common problems. LICENCE diff --git a/macros/latex/contrib/testidx/samples/sample-idx-a4.pdf b/macros/latex/contrib/testidx/samples/sample-idx-a4.pdf index 40d26c22e5..3ca5dc3cff 100644 Binary files a/macros/latex/contrib/testidx/samples/sample-idx-a4.pdf and b/macros/latex/contrib/testidx/samples/sample-idx-a4.pdf differ diff --git a/macros/latex/contrib/testidx/samples/sample-idx-amsmath.pdf b/macros/latex/contrib/testidx/samples/sample-idx-amsmath.pdf index b212b990cc..5cc32f4301 100644 Binary files a/macros/latex/contrib/testidx/samples/sample-idx-amsmath.pdf and b/macros/latex/contrib/testidx/samples/sample-idx-amsmath.pdf differ diff --git a/macros/latex/contrib/testidx/samples/sample-idx-babel-german.pdf b/macros/latex/contrib/testidx/samples/sample-idx-babel-german.pdf index 624a7ec024..c6c10af4b2 100644 Binary files a/macros/latex/contrib/testidx/samples/sample-idx-babel-german.pdf and b/macros/latex/contrib/testidx/samples/sample-idx-babel-german.pdf differ diff --git a/macros/latex/contrib/testidx/samples/sample-idx-babel-german.tex b/macros/latex/contrib/testidx/samples/sample-idx-babel-german.tex index 3f0719aa34..2537bc3b99 100644 --- a/macros/latex/contrib/testidx/samples/sample-idx-babel-german.tex +++ b/macros/latex/contrib/testidx/samples/sample-idx-babel-german.tex @@ -18,7 +18,7 @@ \usepackage{filecontents} \usepackage{makeidx} \usepackage{babel} -\usepackage{testidx} +\usepackage[ascii]{testidx} \providecommand*\lettergroup[1]{% \par\textbf{#1}\par diff --git a/macros/latex/contrib/testidx/samples/sample-idx-german.pdf b/macros/latex/contrib/testidx/samples/sample-idx-german.pdf index 8796631b56..a63d6cd0d9 100644 Binary files a/macros/latex/contrib/testidx/samples/sample-idx-german.pdf and b/macros/latex/contrib/testidx/samples/sample-idx-german.pdf differ diff --git a/macros/latex/contrib/testidx/samples/sample-idx-german.tex b/macros/latex/contrib/testidx/samples/sample-idx-german.tex index 0a3543bbea..c8be326632 100644 --- a/macros/latex/contrib/testidx/samples/sample-idx-german.tex +++ b/macros/latex/contrib/testidx/samples/sample-idx-german.tex @@ -18,7 +18,7 @@ \usepackage{filecontents} \usepackage{makeidx} \usepackage{ngerman} -\usepackage[german]{testidx} +\usepackage[german,ascii]{testidx} \providecommand*\lettergroup[1]{% \par\textbf{#1}\par diff --git a/macros/latex/contrib/testidx/samples/sample-idx-hyp.pdf b/macros/latex/contrib/testidx/samples/sample-idx-hyp.pdf index e46507fbae..85fc48dea5 100644 Binary files a/macros/latex/contrib/testidx/samples/sample-idx-hyp.pdf and b/macros/latex/contrib/testidx/samples/sample-idx-hyp.pdf differ diff --git a/macros/latex/contrib/testidx/samples/sample-idx-letter.pdf b/macros/latex/contrib/testidx/samples/sample-idx-letter.pdf index 319f33dd7b..2f85f38412 100644 Binary files a/macros/latex/contrib/testidx/samples/sample-idx-letter.pdf and b/macros/latex/contrib/testidx/samples/sample-idx-letter.pdf differ diff --git a/macros/latex/contrib/testidx/samples/sample-idx-lua.pdf b/macros/latex/contrib/testidx/samples/sample-idx-lua.pdf index 6cf3556cd3..70b9f497eb 100644 Binary files a/macros/latex/contrib/testidx/samples/sample-idx-lua.pdf and b/macros/latex/contrib/testidx/samples/sample-idx-lua.pdf differ diff --git a/macros/latex/contrib/testidx/samples/sample-idx-lua.tex b/macros/latex/contrib/testidx/samples/sample-idx-lua.tex index 39526333cd..31b7ad0339 100644 --- a/macros/latex/contrib/testidx/samples/sample-idx-lua.tex +++ b/macros/latex/contrib/testidx/samples/sample-idx-lua.tex @@ -12,7 +12,7 @@ % arara: lualatex % arara: xindy: {language: english, codepage: utf8, % arara: --> log: sample-idx-lua.ilg, -% arara: --> modules: [basename, texindy]} +% arara: --> modules: [sample-idx-lua, texindy]} % arara: lualatex \documentclass{article} diff --git a/macros/latex/contrib/testidx/samples/sample-idx-subset.pdf b/macros/latex/contrib/testidx/samples/sample-idx-subset.pdf index c6045b334e..68e21fbfe3 100644 Binary files a/macros/latex/contrib/testidx/samples/sample-idx-subset.pdf and b/macros/latex/contrib/testidx/samples/sample-idx-subset.pdf differ diff --git a/macros/latex/contrib/testidx/samples/sample-idx-t1.pdf b/macros/latex/contrib/testidx/samples/sample-idx-t1.pdf index 50a176f0d4..5ca311a23e 100644 Binary files a/macros/latex/contrib/testidx/samples/sample-idx-t1.pdf and b/macros/latex/contrib/testidx/samples/sample-idx-t1.pdf differ diff --git a/macros/latex/contrib/testidx/samples/sample-idx-utf8.pdf b/macros/latex/contrib/testidx/samples/sample-idx-utf8.pdf index f35959e4b7..92c8339c56 100644 Binary files a/macros/latex/contrib/testidx/samples/sample-idx-utf8.pdf and b/macros/latex/contrib/testidx/samples/sample-idx-utf8.pdf differ diff --git a/macros/latex/contrib/testidx/samples/sample-idx-utf8.tex b/macros/latex/contrib/testidx/samples/sample-idx-utf8.tex index e4cbb529f3..836963ea27 100644 --- a/macros/latex/contrib/testidx/samples/sample-idx-utf8.tex +++ b/macros/latex/contrib/testidx/samples/sample-idx-utf8.tex @@ -11,7 +11,7 @@ % % arara: pdflatex % arara: xindy: {language: english, codepage: utf8, -% arara: --> modules: [basename, texindy]} +% arara: --> modules: [sample-idx-utf8, texindy]} % arara: pdflatex \documentclass{article} diff --git a/macros/latex/contrib/testidx/samples/sample-idx-xe-digraphs.pdf b/macros/latex/contrib/testidx/samples/sample-idx-xe-digraphs.pdf index a9c6341239..820d84b896 100644 Binary files a/macros/latex/contrib/testidx/samples/sample-idx-xe-digraphs.pdf and b/macros/latex/contrib/testidx/samples/sample-idx-xe-digraphs.pdf differ diff --git a/macros/latex/contrib/testidx/samples/sample-idx-xe-digraphs.tex b/macros/latex/contrib/testidx/samples/sample-idx-xe-digraphs.tex index 7fcd40f949..d579daaabe 100644 --- a/macros/latex/contrib/testidx/samples/sample-idx-xe-digraphs.tex +++ b/macros/latex/contrib/testidx/samples/sample-idx-xe-digraphs.tex @@ -4,9 +4,9 @@ % with XeLaTeX and xindy using digraph glyphs. % You can build this document using: % -% xelatex sample-idx-xe -% xindy -M sample-idx-xe -M texindy -C utf8 -L english -t sample-idx-xe.ilg sample-idx-xe.idx -% xelatex sample-idx-xe +% xelatex sample-idx-xe-digraphs +% xindy -M sample-idx-xe-digraphs -M texindy -C utf8 -L english -t sample-idx-xe-digraphs.ilg sample-idx-xe-digraphs.idx +% xelatex sample-idx-xe-digraphs % % You may want to experiment with different languages. % @@ -14,7 +14,7 @@ % % arara: xelatex % arara: xindy: {language: english, codepage: utf8, -% arara: --> modules: [basename, texindy]} +% arara: --> modules: [sample-idx-xe-digraphs, texindy]} % arara: xelatex \documentclass{article} diff --git a/macros/latex/contrib/testidx/samples/sample-idx-xe.pdf b/macros/latex/contrib/testidx/samples/sample-idx-xe.pdf index af1f8ada1e..7d5a0510e1 100644 Binary files a/macros/latex/contrib/testidx/samples/sample-idx-xe.pdf and b/macros/latex/contrib/testidx/samples/sample-idx-xe.pdf differ diff --git a/macros/latex/contrib/testidx/samples/sample-idx-xe.tex b/macros/latex/contrib/testidx/samples/sample-idx-xe.tex index 4502dafe6f..f1edaa47f6 100644 --- a/macros/latex/contrib/testidx/samples/sample-idx-xe.tex +++ b/macros/latex/contrib/testidx/samples/sample-idx-xe.tex @@ -13,7 +13,7 @@ % % arara: xelatex % arara: xindy: {language: english, codepage: utf8, -% arara: --> modules: [basename, texindy]} +% arara: --> modules: [sample-idx-xe, texindy]} % arara: xelatex \documentclass{article} diff --git a/macros/latex/contrib/testidx/samples/sample-idx.pdf b/macros/latex/contrib/testidx/samples/sample-idx.pdf index 61197f8097..cf24bc93dd 100644 Binary files a/macros/latex/contrib/testidx/samples/sample-idx.pdf and b/macros/latex/contrib/testidx/samples/sample-idx.pdf differ diff --git a/macros/latex/contrib/testidx/samples/sample-idxgloss-bib2gls-xe.pdf b/macros/latex/contrib/testidx/samples/sample-idxgloss-bib2gls-xe.pdf index e5410c3d84..5354e2194b 100644 Binary files a/macros/latex/contrib/testidx/samples/sample-idxgloss-bib2gls-xe.pdf and b/macros/latex/contrib/testidx/samples/sample-idxgloss-bib2gls-xe.pdf differ diff --git a/macros/latex/contrib/testidx/samples/sample-idxgloss-bib2gls.pdf b/macros/latex/contrib/testidx/samples/sample-idxgloss-bib2gls.pdf index 956cdf1511..9b22eb4b61 100644 Binary files a/macros/latex/contrib/testidx/samples/sample-idxgloss-bib2gls.pdf and b/macros/latex/contrib/testidx/samples/sample-idxgloss-bib2gls.pdf differ diff --git a/macros/latex/contrib/testidx/samples/sample-idxgloss-desc.pdf b/macros/latex/contrib/testidx/samples/sample-idxgloss-desc.pdf index 764fc16f9d..7cfe8e25ec 100644 Binary files a/macros/latex/contrib/testidx/samples/sample-idxgloss-desc.pdf and b/macros/latex/contrib/testidx/samples/sample-idxgloss-desc.pdf differ diff --git a/macros/latex/contrib/testidx/samples/sample-idxgloss-desc.tex b/macros/latex/contrib/testidx/samples/sample-idxgloss-desc.tex index 34c350a27c..51bf60d169 100644 --- a/macros/latex/contrib/testidx/samples/sample-idxgloss-desc.tex +++ b/macros/latex/contrib/testidx/samples/sample-idxgloss-desc.tex @@ -5,7 +5,7 @@ \usepackage[T1]{fontenc} \usepackage[hidelinks]{hyperref} -\usepackage[desc]{testidx-glossaries} +\usepackage[desc,ascii]{testidx-glossaries} \tstidxmakegloss diff --git a/macros/latex/contrib/testidx/samples/sample-idxgloss-xe-digraphs.pdf b/macros/latex/contrib/testidx/samples/sample-idxgloss-xe-digraphs.pdf index ee78e9178c..ac3bd07d79 100644 Binary files a/macros/latex/contrib/testidx/samples/sample-idxgloss-xe-digraphs.pdf and b/macros/latex/contrib/testidx/samples/sample-idxgloss-xe-digraphs.pdf differ diff --git a/macros/latex/contrib/testidx/samples/sample-idxgloss-xindy.pdf b/macros/latex/contrib/testidx/samples/sample-idxgloss-xindy.pdf index 582ce035b0..06816ef5f8 100644 Binary files a/macros/latex/contrib/testidx/samples/sample-idxgloss-xindy.pdf and b/macros/latex/contrib/testidx/samples/sample-idxgloss-xindy.pdf differ diff --git a/macros/latex/contrib/testidx/samples/sample-idxgloss.pdf b/macros/latex/contrib/testidx/samples/sample-idxgloss.pdf index de7e98a83a..a220c9492d 100644 Binary files a/macros/latex/contrib/testidx/samples/sample-idxgloss.pdf and b/macros/latex/contrib/testidx/samples/sample-idxgloss.pdf differ diff --git a/macros/latex/contrib/testidx/samples/sample-idxgloss.tex b/macros/latex/contrib/testidx/samples/sample-idxgloss.tex index 0b7f8b6118..3fc6661563 100644 --- a/macros/latex/contrib/testidx/samples/sample-idxgloss.tex +++ b/macros/latex/contrib/testidx/samples/sample-idxgloss.tex @@ -6,7 +6,7 @@ \usepackage[T1]{fontenc} \usepackage{amssymb} \usepackage[a4paper,left=.75in,right=1.6in]{geometry} -\usepackage[verbose]{testidx-glossaries} +\usepackage[verbose,ascii]{testidx-glossaries} \renewcommand*{\glstreenamefmt}[1]{#1} \renewcommand*{\glstreegroupheaderfmt}[1]{\textbf{#1}} diff --git a/macros/latex/contrib/testidx/samples/sample-noidxgloss.pdf b/macros/latex/contrib/testidx/samples/sample-noidxgloss.pdf index 633472b549..9dadb10e47 100644 Binary files a/macros/latex/contrib/testidx/samples/sample-noidxgloss.pdf and b/macros/latex/contrib/testidx/samples/sample-noidxgloss.pdf differ diff --git a/macros/latex/contrib/testidx/testidx-code.pdf b/macros/latex/contrib/testidx/testidx-code.pdf index 0e30ab91a9..0374b93cd1 100644 Binary files a/macros/latex/contrib/testidx/testidx-code.pdf and b/macros/latex/contrib/testidx/testidx-code.pdf differ diff --git a/macros/latex/contrib/testidx/testidx-manual.pdf b/macros/latex/contrib/testidx/testidx-manual.pdf index 7eedfb5ba4..4c81af5790 100644 Binary files a/macros/latex/contrib/testidx/testidx-manual.pdf and b/macros/latex/contrib/testidx/testidx-manual.pdf differ diff --git a/macros/latex/contrib/testidx/testidx-manual.tex b/macros/latex/contrib/testidx/testidx-manual.tex index 5311acae3a..a08bdfe22a 100644 --- a/macros/latex/contrib/testidx/testidx-manual.tex +++ b/macros/latex/contrib/testidx/testidx-manual.tex @@ -27,12 +27,12 @@ \begin{document} - \title{testidx.sty v1.1: + \title{testidx.sty v1.2: dummy text for testing indexes} \author{Nicola L.C. Talbot\\[10pt] \url{http://www.dickimaw-books.com/}} - \date{2017-08-11} + \date{2019-09-29} \maketitle \tableofcontents @@ -41,7 +41,11 @@ dummy text for testing indexes} The \styfmt{testidx} package is for testing indexes (\cs{index}, \env{theindex} and indexing applications, such as \app{makeindex} -and \app{xindy}). +and \app{xindy}). See also +\href{http://tug.org/TUGboat/tb38-3/tb120talbot.pdf}{Testing +indexes: \texttt{testidx.sty}} in +\href{http://tug.org/TUGboat/Contents/contents38-3.html}{TUGboat issue 38:3, 2017}. + As with packages like \sty{lipsum} and \sty{blindtext}, this package provides dummy text, but it's interspersed with \cs{index} commands. The filler text is mostly English not lorum ipsum, as this makes it @@ -112,13 +116,23 @@ equation. \item Symbols and numbers that don't have a natural word order. The numbers may or may not be ordered numerically, depending on the indexing method. + +\item An item with just a single sub-item. (Perhaps the document +author intended to index more sub-items but they weren't needed in +the end.) Ideally this needs to be flagged and have the hierarchy +removed. There are actually two lonely sub-items. The first is +\qt{properties} as a sub-item of \qt{document}. In this case the +parent \qt{document} has also been indexed and has a location. The +second is \qt{lonely} as a sub-item of \qt{sub-items}. In this case +the parent \qt{sub-items} hasn't been indexed and so doesn't have a +location. \end{itemize} In addition, words containing extended Latin characters, digraphs and a trigraph are indexed to help test various Latin alphabets, such as Swedish, Icelandic, Welsh, Dutch, Polish and Hungarian. These may or may not be recognised by indexing applications. -Version 1.1 now comes with a supplementary package +As from version 1.1, \sty{testidx} now comes with a supplementary package \sty{testidx-glossaries} which provides a similar way of testing the \sty{glossaries} or \sty{glossaries-extra} package. @@ -150,6 +164,24 @@ There will be warnings about multiple encaps. This is intentional to test how the indexing applications deal with this problem. \end{important} +Note that as from 2018, \LaTeX\ now automatically provides limited +UTF-8 support even if the document doesn't load \sty{inputenc}. Therefore +the above document will use the ASCII indexing tests with pre-2018 +\LaTeX, but will use the UTF-8 indexing tests with newer versions of +the \LaTeX\ kernel (because \cs{inputencodingname} is now defined as +\texttt{utf8}). If you specifically want to test ASCII indexing +then you either need to switch to ASCII encoding: +\begin{verbatim} +\usepackage[ascii]{inputenc} +\usepackage{makeidx} +\usepackage{testidx} +\end{verbatim} +or use \sty{testidx}'s \pkgopt{ascii} option: +\begin{verbatim} +\usepackage{makeidx} +\usepackage[ascii]{testidx} +\end{verbatim} + If you want to use \app{xindy}, you'll need to define the attributes (encaps) used in the dummy text. For example: \begin{verbatim} @@ -272,7 +304,7 @@ For example: \usepackage{filecontents} \usepackage{makeidx} \usepackage{ngerman} -\usepackage[german]{testidx} +\usepackage[german,ascii]{testidx} \begin{filecontents*}{\jobname.ist} quote '+' @@ -302,7 +334,7 @@ Alternatively: \usepackage{filecontents} \usepackage{makeidx} \usepackage{babel} -\usepackage{testidx} +\usepackage[ascii]{testidx} \begin{filecontents*}{\jobname.ist} quote '+' @@ -324,7 +356,7 @@ The \styfmt{testidx-glossaries} package automatically loads \documentclass{report} \usepackage[T1]{fontenc} -\usepackage{testidx-glossaries} +\usepackage[ascii]{testidx-glossaries} \renewcommand*{\glstreenamefmt}[1]{#1} @@ -358,6 +390,15 @@ redefined in the above example to simply do its argument. The following package options are provided: \begin{description} +\item[\pkgopt{ascii}] Use only ASCII tests even if the document +supports UTF-8. Any characters outside +that range are produced with \LaTeX\ commands. + +\item[\pkgopt{noascii}] (Default.) Don't enforce ASCII tests. This option +doesn't actually provide UTF-8 support but will simply +determine whether or not to use ASCII tests depending on the +document's input encoding. + \item[\pkgopt{german} or \pkgopt{ngerman}] This redefines the indexing \qt{quote} character to use \texttt{+} instead of the double-quote character. Remember to add this @@ -412,6 +453,10 @@ This option may also be implemented using \begin{definition}[\DescribeMacro\testidxSanitizeOff] \cs{testidxSanitizeOff} \end{definition} +Note that as from \LaTeX\ 2019/10/01 UTF-8 characters are no longer +expanded while they are written to the \texttt{.idx} file. This +means that there may be no difference between \pkgopt{sanitize} and +\pkgopt{nosanitize} depending on the \LaTeX\ kernel in use. \item[\pkgopt{showmarks}] (Default.) Show the location of the \cs{index} commands @@ -1026,12 +1071,16 @@ The \qt{close range} character. The default is: \label{sec:exlatin} The dummy text includes words or phrases that have extended -Latin characters. There are two modes: +Latin characters. (The document encoding should be correctly set +before loading \sty{testidx}.) There are two modes: \begin{description} -\item[ASCII] This mode is on \emph{unless} you are using -\XeLaTeX\ or \LuaLaTeX, or the document has loaded -\sty{inputenc} with the encoding set to \pkgopt{utf8}. +\item[ASCII] This mode is on by default \emph{unless} you are using +\XeLaTeX\ or \LuaLaTeX, or the document has the encoding set to \pkgopt{utf8}. +Note that with new versions of \LaTeX, \cs{inputencodingname} is now +automatically defined as \pkgopt{utf8} by the kernel. You can +explicitly switch this mode on with the \pkgopt{ascii} package +option. Example that will switch on ASCII mode: \begin{verbatim} @@ -1049,12 +1098,30 @@ Example that will switch on ASCII mode: \printindex \end{document} \end{verbatim} +(With new versions of \LaTeX\ this document will start with +\cs{inputencodingname} set to \texttt{utf8} and then it will be +changed to \texttt{latin1} when \sty{inputenc} is loaded.) + +Alternatively use the \pkgopt{ascii} package option: +\begin{verbatim} +\documentclass{article} -\item[UTF-8] This mode is on \emph{if} you are using -\XeLaTeX\ or \LuaLaTeX, or if the document has loaded -\sty{inputenc} with the encoding set to \pkgopt{utf8}. +\usepackage{makeidx} +\usepackage[ascii]{testidx} -Example that will switch on UTF-8 mode: +\makeindex + +\begin{document} +\testidx + +\printindex +\end{document} +\end{verbatim} + +\item[UTF-8] This mode is on by default \emph{if} you are using +\XeLaTeX\ or \LuaLaTeX, or if \cs{inputencodingname} is set to \pkgopt{utf8}. + +Example that will switch on UTF-8 mode (\XeLaTeX\ or \LuaLaTeX): \begin{verbatim} \documentclass{article} @@ -1070,7 +1137,7 @@ Example that will switch on UTF-8 mode: \printindex \end{document} \end{verbatim} -Or +Or (\sty{inputenc} sets the encoding to UTF-8): \begin{verbatim} \documentclass{article} @@ -1084,6 +1151,23 @@ Or \begin{document} \testidx +\printindex +\end{document} +\end{verbatim} +Or with new versions of the \LaTeX\ kernel (which automatically +provides UTF-8 support): +\begin{verbatim} +\documentclass{article} + +\usepackage[T1]{fontenc} +\usepackage{makeidx} +\usepackage{testidx} + +\makeindex + +\begin{document} +\testidx + \printindex \end{document} \end{verbatim} @@ -1093,7 +1177,7 @@ If the UTF-8 mode is on, you can additionally use the \tstidxqt{ll}, \tstidxqt{ij} and \tstidxqt{dz} digraphs with a single glyph, but you'll need a font that supports those glyphs. (The trigraph \tstidxqt{dzw} and other digraphs, -such as \tstidxqt{th} aren't affected by this option.) For example +such as \tstidxqt{th} aren't affected by this option.) For example: \begin{verbatim} \documentclass{article} @@ -1174,7 +1258,7 @@ above will appear in the \texttt{.idx} file as: \end{verbatim} (where 3 is the page number). -Since this can confuse the indexing application, +Since this expansion can confuse the indexing application, \styfmt{testidx} provides a \pkgopt{sanitize} package option which will first sanitize the UTF-8 characters before indexing them. This option is on by default for regular \LaTeX\ and @@ -1188,6 +1272,13 @@ if you want to test how your indexing command (whatever \cs{tstindex} is defined as) behaves with these characters, then switch it off. +\begin{important} +As from \LaTeX\ 2019/10/01 this behaviour has changed and the UTF-8 +characters are no longer expanded while they are written to the +\texttt{.idx} file. This means that the tests may produce different +results depending on the \LaTeX\ kernel in use. +\end{important} + Note that this \pkgopt{sanitize} option isn't adjusting the definition of \cs{index} or \cs{tstindex}, but is essentially pretending that the user is doing something like: diff --git a/macros/latex/contrib/testidx/testidx.dtx b/macros/latex/contrib/testidx/testidx.dtx index 39a48ed9fe..8b743807ce 100644 --- a/macros/latex/contrib/testidx/testidx.dtx +++ b/macros/latex/contrib/testidx/testidx.dtx @@ -1,17 +1,17 @@ %\iffalse % testidx.dtx generated using makedtx version 1.2 (c) Nicola Talbot % Command line args: -% -author "Nicola Talbot" -% -doc "testidx-codedoc.tex" -% -setambles ".*\.bib=>\nopreamble\nopostamble" -% -codetitle "Main Package Code" % -src "(testidx.sty)\Z=>\1" % -src "(testidx-.*.sty)\Z=>\1" % -src "(testidx-glossaries.*\.tex)\Z=>\1" % -src "(testidx-glossaries.*\.bib)\Z=>\1" +% -setambles ".*\.bib=>\nopreamble\nopostamble" +% -doc "testidx-codedoc.tex" +% -codetitle "Main Package Code" +% -author "Nicola Talbot" % -macrocode ".*\.bib" % testidx -% Created on 2017/8/11 12:58 +% Created on 2019/9/29 13:53 %\fi %\iffalse %<*package> @@ -34,7 +34,7 @@ %\fi % \iffalse % Doc-Source file to use with LaTeX2e -% Copyright (C) 2017 Nicola Talbot, all rights reserved. +% Copyright (C) 2019 Nicola Talbot, all rights reserved. % \fi % \iffalse %<*driver> @@ -45,6 +45,7 @@ testidx-codedoc.tex is a stub file used by makedtx to create testidx.dtx \fi +\usepackage{metalogo} \usepackage{fontspec} \setromanfont{FreeSerif} \setsansfont{FreeSans}[Scale=MatchLowercase] @@ -61,7 +62,7 @@ testidx.dtx \setcounter{IndexColumns}{2} -\CheckSum{10076} +\CheckSum{10168} \begin{document} \DocInput{testidx.dtx} @@ -71,12 +72,12 @@ testidx.dtx %\MakeShortVerb{"} %\DeleteShortVerb{\|} % -% \title{Documented Code For testidx v1.1} +% \title{Documented Code For testidx v1.2} % \author{Nicola L.C. Talbot\\[10pt] %Dickimaw Books\\ %\url{http://www.dickimaw-books.com/}} % -% \date{2017-08-11} +% \date{2019-09-29} % \maketitle % %\tableofcontents @@ -106,7 +107,7 @@ testidx.dtx %\section{Initialisation} % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{testidx}[2017/08/11 v1.1 (NLCT)] +\ProvidesPackage{testidx}[2019/09/29 v1.2 (NLCT)] % \end{macrocode} %To avoid as much conflict as possible, this package loads the %bare minimum, so I'm not using useful packages like \styfmt{etoolbox} or @@ -135,9 +136,10 @@ testidx.dtx } % \end{macrocode} %\end{macro} -%\begin{macro}{\@tstidx@ifutfviii} +%\begin{macro}{\@@tstidx@ifutfviii} +%\changes{1.2}{2019-09-29}{renamed from \cs{@tstidx@ifutfviii}} % \begin{macrocode} -\newcommand*{\@tstidx@ifutfviii}[2]{% +\newcommand*{\@@tstidx@ifutfviii}[2]{% \@tstidx@ifxelua{#1} {% \ifx\inputencodingname\@tstidx@utfviii#1\else#2\fi @@ -146,6 +148,23 @@ testidx.dtx \newcommand*{\@tstidx@utfviii}{utf8} % \end{macrocode} %\end{macro} +%\begin{macro}{\@tstidx@ifutfviii} +%\changes{1.2}{2019-09-29}{now let to \cs{@@tstidx@ifutfviii}} +% \begin{macrocode} +\let\@tstidx@ifutfviii\@@tstidx@ifutfviii +% \end{macrocode} +%\end{macro} +%As from 2018, \LaTeX\ now automatically enables UTF-8 support, so provide +%an option to use only ASCII in the test: +%\changes{1.2}{2019-09-29}{added ascii and noascii options} +% \begin{macrocode} +\DeclareOption{ascii}{\let\@tstidx@ifutfviii\@secondoftwo} +% \end{macrocode} +%Provide option to counteract this (if document doesn't support +%UTF-8 this won't make a difference): +% \begin{macrocode} +\DeclareOption{noascii}{\let\@tstidx@ifutfviii\@@tstidx@ifutfviii} +% \end{macrocode} % %\begin{macro}{\tstidxprocessasciisort} %The first argument is a control sequence in which to store the @@ -301,6 +320,12 @@ testidx.dtx } % \end{macrocode} %\end{macro} +%Note that as from LaTeX 2019/10/01, UTF-8 characters no longer +%expand as they are written to the indexing file. This means that +%there won't be a difference if the sanitizing is on or off. +%Similarly there's no difference with \XeLaTeX\ and \LuaLaTeX\ since +%they natively support UTF-8 and don't make extended characters +%active anyway. % %\begin{macro}{\iftestidxdiglyphs} %\changes{1.1}{2017-08-11}{new} @@ -3702,6 +3727,7 @@ testidx.dtx %\end{macro} % %\begin{macro}{\@tidx@par@iii} +%\changes{1.2}{2019-09-29}{added lonely sub-item} % \begin{macrocode} \tstidxnewblock {% @@ -3812,7 +3838,8 @@ testidx.dtx any further sub-levels. Although \tstidxapp{xindy} allows more than three levels (\tstidxapp{makeindex} doesn't), it's somewhat \tstidxword{excessive} to go below a sub-sub-level. - You'll have to add your own tests for anything deeper.% + You'll have to add your own tests for anything deeper. + Watch out for \tstidxsubword{sub-items}{lonely} sub-items.% } % \end{macrocode} %\end{macro} @@ -4676,7 +4703,7 @@ and then we can take a \tstidxword{ffotograff} of %and then used in the dummy text. % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{testidx-glossaries}[2017/08/11 v1.1 (NLCT)] +\ProvidesPackage{testidx-glossaries}[2019/09/29 v1.2 (NLCT)] % \end{macrocode} % %\begin{macro}{\tstidx@glossariespkg} @@ -7728,9 +7755,10 @@ use the any further sub-levels. Although \tstidxapp{xindy} allows more than three levels (\tstidxapp{makeindex} doesn't), it's somewhat \tstidxword{excessive} to go below a sub-sub-level. - You'll have to add your own tests for anything deeper.% - + You'll have to add your own tests for anything deeper. + Watch out for \tstidxsubword{sub-items}{lonely} sub-items.% } + \let\@tidx@org@par@iii\@tidx@par@iii \let\@tidx@par@iii\@tidx@gls@par@iii % \end{macrocode} @@ -8059,6 +8087,7 @@ design or provide new commands} \tstidxnewword{people}{human individuals (or fictional anthropomorphisms)} \tstidxnewword{places}{particular areas or locations} +\tstidxnewword{sub-items}{items that have a parent entry} \tstidxnewword{applications}{computer programs} \tstidxnewword{environments}{a marked-up block within the document that requires special action or formatting} @@ -8257,7 +8286,7 @@ something} \tstidxnewword{thrilling}{exciting} \tstidxnewword{quixotic}{impractically unselfish and idealist} \tstidxnewword{sea}{large area of salt water} -\tstidxnewword{seal}{seal-dwelling fish-eating mammal with flippers} +\tstidxnewword{seal}{sea-dwelling fish-eating mammal with flippers} \tstidxnewword{seaborne}{transported or travelling by sea} \tstidxnewword{zither}{a type of stringed musical instrument} \tstidxnewword{zealous}{having great enthusiasm for something} @@ -8566,6 +8595,8 @@ story, especially fairy tales} % \end{macrocode} %Sub-entries (terms). % \begin{macrocode} +\tstidxnewsubword{sub-items}{lonely}{a sub-item that doesn't have +any siblings} \tstidxnewsubword{document}{properties}{attributes such as page size} \tstidxnewsubword{font encoding}{OT1}{one of the original font encodings supplied with \TeX} @@ -10512,6 +10543,12 @@ some other languages} description={particular areas or locations} } +@index{subitems, + category={word}, + name={sub-items}, + description={items that have a parent entry} +} + @index{applications, category={word}, description={computer programs} @@ -11362,7 +11399,7 @@ something} @index{seal, category={word}, - description={seal-dwelling fish-eating mammal with flippers} + description={sea-dwelling fish-eating mammal with flippers} } @index{sea, @@ -11591,6 +11628,13 @@ the sovereign} description={attributes such as page size} } +@index{subitems.lonely, + name={lonely}, + parent={subitems}, + category={word}, + description={a sub-item that doesn't have any siblings} +} + @index{fontencoding.OT1, name={OT1}, parent={fontencoding}, diff --git a/macros/latex/contrib/testidx/testidx.ins b/macros/latex/contrib/testidx/testidx.ins index 3ec870db68..47846d5a8b 100644 --- a/macros/latex/contrib/testidx/testidx.ins +++ b/macros/latex/contrib/testidx/testidx.ins @@ -1,10 +1,10 @@ -% testidx.ins generated using makedtx version 1.2 2017/8/11 12:58 +% testidx.ins generated using makedtx version 1.2 2019/9/29 13:53 \input docstrip \preamble testidx.dtx - Copyright 2017 Nicola Talbot + Copyright 2019 Nicola Talbot This work may be distributed and/or modified under the conditions of the LaTeX Project Public License, either version 1.3 -- cgit v1.2.3