From 9411051131b19d5dfd865d6b3d3de53157bd7ca1 Mon Sep 17 00:00:00 2001 From: Takeshi KOMIYA Date: Thu, 11 Feb 2021 00:36:08 +0900 Subject: [PATCH] LaTeX: Restructure the index nodes inside title nodes only on LaTeX builds refs: #8865 --- CHANGES | 2 ++ sphinx/builders/latex/transforms.py | 5 +++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/CHANGES b/CHANGES index daf0fd788..ceb2a6608 100644 --- a/CHANGES +++ b/CHANGES @@ -142,6 +142,8 @@ Bugs fixed the :ref:`'sphinxsetup' ` key of ``latex_elements``) * #8183: LaTeX: Remove substitution_reference nodes from doctree only on LaTeX builds +* #8865: LaTeX: Restructure the index nodes inside title nodes only on LaTeX + builds Testing -------- diff --git a/sphinx/builders/latex/transforms.py b/sphinx/builders/latex/transforms.py index b8f503932..dbff53c67 100644 --- a/sphinx/builders/latex/transforms.py +++ b/sphinx/builders/latex/transforms.py @@ -574,7 +574,7 @@ class DocumentTargetTransform(SphinxPostTransform): section['ids'].append(':doc') # special label for :doc: -class IndexInSectionTitleTransform(SphinxTransform): +class IndexInSectionTitleTransform(SphinxPostTransform): """Move index nodes in section title to outside of the title. LaTeX index macro is not compatible with some handling of section titles @@ -601,8 +601,9 @@ class IndexInSectionTitleTransform(SphinxTransform): ... """ default_priority = 400 + builders = ('latex',) - def apply(self, **kwargs: Any) -> None: + def run(self, **kwargs: Any) -> None: for node in self.document.traverse(nodes.title): if isinstance(node.parent, nodes.section): for i, index in enumerate(node.traverse(addnodes.index)):