diff options
author | Takeshi KOMIYA <i.tkomiya@gmail.com> | 2021-12-11 04:25:07 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-12-11 04:25:07 +0300 |
commit | b232b00cf84f2e473e3c059430c14e6d0482cbe0 (patch) | |
tree | 9efcc3393591f8fca496bc533b96f0e1d5ec3556 /sphinx/writers | |
parent | 7d6d5621fe7fde48545e663c94405efe01503c72 (diff) | |
parent | faed8cb8dbacf1cfe3061dc6793f0a631f8e3792 (diff) |
Merge pull request #9391 from marxin/info-samp-with-variable
texinfo: improve variable in :samp: directives
Diffstat (limited to 'sphinx/writers')
-rw-r--r-- | sphinx/writers/texinfo.py | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/sphinx/writers/texinfo.py b/sphinx/writers/texinfo.py index 6df558323..3f98a882e 100644 --- a/sphinx/writers/texinfo.py +++ b/sphinx/writers/texinfo.py @@ -194,6 +194,7 @@ class TexinfoTranslator(SphinxTranslator): self.curfilestack: List[str] = [] self.footnotestack: List[Dict[str, List[Union[collected_footnote, bool]]]] = [] # NOQA self.in_footnote = 0 + self.in_samp = 0 self.handled_abbrs: Set[str] = set() self.colwidths: List[int] = None @@ -809,15 +810,23 @@ class TexinfoTranslator(SphinxTranslator): self.body.append('}') def visit_emphasis(self, node: Element) -> None: - self.body.append('@emph{') + element = 'emph' if not self.in_samp else 'var' + self.body.append('@%s{' % element) def depart_emphasis(self, node: Element) -> None: self.body.append('}') + def is_samp(self, node: Element) -> bool: + return 'samp' in node['classes'] + def visit_literal(self, node: Element) -> None: + if self.is_samp(node): + self.in_samp += 1 self.body.append('@code{') def depart_literal(self, node: Element) -> None: + if self.is_samp(node): + self.in_samp -= 1 self.body.append('}') def visit_superscript(self, node: Element) -> None: |