Merge pull request #9991 from tk0miya/9962_texinfo_definfoenclose

Fix #9962: texinfo: Do not use @definfoenclose to empasize string
This commit is contained in:
Takeshi KOMIYA 2021-12-23 03:00:21 +09:00 committed by GitHub
commit 03c915174e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 14 additions and 23 deletions

View File

@ -9,6 +9,8 @@ Dependencies
Incompatible changes
--------------------
* #9962: texinfo: Customizing styles of emphasized text via ``@definfoenclose``
command was not supported because the command was deprecated since texinfo 6.8
* #2068: :confval:`intersphinx_disabled_reftypes` has changed default value
from an empty list to ``['std:doc']`` as avoid too surprising silent
intersphinx resolutions.
@ -25,6 +27,9 @@ Features added
Bugs fixed
----------
* #9962: texinfo: Deprecation message for ``@definfoenclose`` command on
bulding texinfo document
Testing
--------

View File

@ -350,19 +350,3 @@ The following notes may be helpful if you want to create Texinfo files:
scheme ``info``. For example::
info:Texinfo#makeinfo_options
- Inline markup
The standard formatting for ``*strong*`` and ``_emphasis_`` can
result in ambiguous output when used to markup parameter names and
other values. Since this is a fairly common practice, the default
formatting has been changed so that ``emphasis`` and ``strong`` are
now displayed like ```literal'``\s.
The standard formatting can be re-enabled by adding the following to
your :file:`conf.py`::
texinfo_elements = {'preamble': """
@definfoenclose strong,*,*
@definfoenclose emph,_,_
"""}

View File

@ -58,8 +58,6 @@ TEMPLATE = """\
@exampleindent %(exampleindent)s
@finalout
%(direntry)s
@definfoenclose strong,`,'
@definfoenclose emph,`,'
@c %%**end of header
@copying
@ -805,17 +803,21 @@ class TexinfoTranslator(SphinxTranslator):
# -- Inline
def visit_strong(self, node: Element) -> None:
self.body.append('@strong{')
self.body.append('`')
def depart_strong(self, node: Element) -> None:
self.body.append('}')
self.body.append("'")
def visit_emphasis(self, node: Element) -> None:
element = 'emph' if not self.in_samp else 'var'
self.body.append('@%s{' % element)
if self.in_samp:
self.body.append('@var{')
self.context.append('}')
else:
self.body.append('`')
self.context.append("'")
def depart_emphasis(self, node: Element) -> None:
self.body.append('}')
self.body.append(self.context.pop())
def is_samp(self, node: Element) -> bool:
return 'samp' in node['classes']