DocBook: add test case for multiple indices

This commit is contained in:
Thibaut Cuvelier 2022-09-01 01:11:40 +02:00
parent 07380a3bc1
commit 35a752e6db
3 changed files with 260 additions and 0 deletions

View File

@ -0,0 +1,248 @@
#LyX 2.4 created this file. For more info see https://www.lyx.org/
\lyxformat 609
\begin_document
\begin_header
\save_transient_properties true
\origin unavailable
\textclass article
\use_default_options true
\maintain_unincluded_children no
\language american
\language_package default
\inputencoding utf8
\fontencoding auto
\font_roman "default" "default"
\font_sans "default" "default"
\font_typewriter "default" "default"
\font_math "auto" "auto"
\font_default_family default
\use_non_tex_fonts false
\font_sc false
\font_roman_osf false
\font_sans_osf false
\font_typewriter_osf false
\font_sf_scale 100 100
\font_tt_scale 100 100
\use_microtype false
\use_dash_ligatures true
\graphics default
\default_output_format default
\output_sync 0
\bibtex_command default
\index_command default
\float_placement class
\float_alignment class
\paperfontsize default
\spacing single
\use_hyperref false
\papersize default
\use_geometry false
\use_package amsmath 1
\use_package amssymb 1
\use_package cancel 1
\use_package esint 1
\use_package mathdots 1
\use_package mathtools 1
\use_package mhchem 1
\use_package stackrel 1
\use_package stmaryrd 1
\use_package undertilde 1
\cite_engine basic
\cite_engine_type default
\biblio_style plain
\use_bibtopic false
\use_indices true
\paperorientation portrait
\suppress_date false
\justification true
\use_refstyle 1
\use_minted 0
\use_lineno 0
\index Index
\shortcut idx
\color #008000
\end_index
\index Secondary
\shortcut sec
\color #550000
\end_index
\secnumdepth 3
\tocdepth 3
\paragraph_separation indent
\paragraph_indentation default
\is_math_indent 0
\math_numbering_side default
\quotes_style english
\dynamic_quotes 0
\papercolumns 1
\papersides 1
\paperpagestyle default
\tablestyle default
\tracking_changes false
\output_changes false
\change_bars false
\postpone_fragile_content true
\html_math_output 0
\html_css_as_file 0
\html_be_strict false
\docbook_table_output 0
\docbook_mathml_prefix 1
\end_header
\begin_body
\begin_layout Title
Multiple indices tests
\end_layout
\begin_layout Standard
\begin_inset Index idx
range none
pageformat default
status open
\begin_layout Plain Layout
A
\end_layout
\end_inset
\end_layout
\begin_layout Standard
\begin_inset Index idx
range none
pageformat default
status open
\begin_layout Plain Layout
A
\begin_inset IndexMacro subindex
status open
\begin_layout Plain Layout
B
\end_layout
\end_inset
\end_layout
\end_inset
\end_layout
\begin_layout Standard
\begin_inset Index sec
range none
pageformat default
status open
\begin_layout Plain Layout
A
\begin_inset IndexMacro subindex
status open
\begin_layout Plain Layout
B
\end_layout
\end_inset
\begin_inset IndexMacro subindex
status open
\begin_layout Plain Layout
C
\end_layout
\end_inset
\end_layout
\end_inset
\end_layout
\begin_layout Standard
\begin_inset Index sec
range none
pageformat default
status open
\begin_layout Plain Layout
A
\begin_inset IndexMacro subindex
status open
\begin_layout Plain Layout
D
\end_layout
\end_inset
\end_layout
\end_inset
\end_layout
\begin_layout Standard
\begin_inset Index sec
range none
pageformat default
status open
\begin_layout Plain Layout
E
\begin_inset IndexMacro subindex
status open
\begin_layout Plain Layout
F
\end_layout
\end_inset
\end_layout
\end_inset
\end_layout
\begin_layout Standard
\begin_inset CommandInset index_print
LatexCommand printindex
type "idx"
name "Index"
literal "false"
\end_inset
\end_layout
\begin_layout Standard
\begin_inset CommandInset index_print
LatexCommand printindex
type "sec"
name "Index"
literal "false"
\end_inset
\end_layout
\end_body
\end_document

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- This DocBook file was created by LyX 2.4.0dev
See https://www.lyx.org/ for more information -->
<article xml:lang="en_US" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:xi="http://www.w3.org/2001/XInclude" version="5.2">
<title>Multiple indices tests</title>
<para><indexterm type="idx"><primary>A</primary></indexterm></para>
<para><indexterm type="idx"><primary>A</primary><secondary>B</secondary></indexterm></para>
<para><indexterm type="sec"><primary>A</primary><secondary>B</secondary><tertiary>C</tertiary></indexterm></para>
<para><indexterm type="sec"><primary>A</primary><secondary>D</secondary></indexterm></para>
<para><indexterm type="sec"><primary>E</primary><secondary>F</secondary></indexterm></para>
</article>

View File

@ -1680,6 +1680,7 @@ docstring InsetPrintIndex::xhtml(XMLStream &, OutputParams const & op) const
// Collect the index entries in a form we can use them. // Collect the index entries in a form we can use them.
vector<IndexEntry> entries; vector<IndexEntry> entries;
for (const TocItem& item : *toc) { for (const TocItem& item : *toc) {
static_cast<const InsetIndex*>(&(item.dit().inset()))->params_.index;
if (item.isOutput()) if (item.isOutput())
entries.emplace_back(IndexEntry{static_cast<const InsetIndex*>(&(item.dit().inset())), &op}); entries.emplace_back(IndexEntry{static_cast<const InsetIndex*>(&(item.dit().inset())), &op});
} }