proposed enhancement #4830

This commit is contained in:
Michael Tesch 2018-04-20 13:13:00 +02:00
parent 96c5605374
commit e368ac21ef
3 changed files with 15 additions and 3 deletions

View File

@ -1578,6 +1578,7 @@
\protected\def\sphinxtablecontinued#1{\textsf{#1}} \protected\def\sphinxtablecontinued#1{\textsf{#1}}
\protected\def\sphinxtitleref#1{\emph{#1}} \protected\def\sphinxtitleref#1{\emph{#1}}
\protected\def\sphinxmenuselection#1{\emph{#1}} \protected\def\sphinxmenuselection#1{\emph{#1}}
\protected\def\sphinxguilabel#1{\emph{#1}}
\protected\def\sphinxaccelerator#1{\underline{#1}} \protected\def\sphinxaccelerator#1{\underline{#1}}
\protected\def\sphinxcrossref#1{\emph{#1}} \protected\def\sphinxcrossref#1{\emph{#1}}
\protected\def\sphinxtermref#1{\emph{#1}} \protected\def\sphinxtermref#1{\emph{#1}}

View File

@ -2409,9 +2409,12 @@ class LaTeXTranslator(nodes.NodeVisitor):
def visit_inline(self, node): def visit_inline(self, node):
# type: (nodes.Node) -> None # type: (nodes.Node) -> None
classes = node.get('classes', []) classes = node.get('classes', [])
if classes in [['menuselection'], ['guilabel']]: if classes in [['menuselection']]:
self.body.append(r'\sphinxmenuselection{') self.body.append(r'\sphinxmenuselection{')
self.context.append('}') self.context.append('}')
elif classes in [['guilabel']]:
self.body.append(r'\sphinxguilabel{')
self.context.append('}')
elif classes in [['accelerator']]: elif classes in [['accelerator']]:
self.body.append(r'\sphinxaccelerator{') self.body.append(r'\sphinxaccelerator{')
self.context.append('}') self.context.append('}')

View File

@ -162,12 +162,20 @@ def get_verifier(verify, verify_re):
'\\sphinxmenuselection{a \\(\\rightarrow\\) b}', '\\sphinxmenuselection{a \\(\\rightarrow\\) b}',
), ),
( (
# interpolation of ampersands in guilabel/menuselection # interpolation of ampersands in menuselection
'verify',
':menuselection:`&Foo -&&- &Bar`',
(u'<p><span class="menuselection"><span class="accelerator">F</span>oo '
'-&amp;- <span class="accelerator">B</span>ar</span></p>'),
r'\sphinxmenuselection{\sphinxaccelerator{F}oo -\&- \sphinxaccelerator{B}ar}',
),
(
# interpolation of ampersands in guilabel
'verify', 'verify',
':guilabel:`&Foo -&&- &Bar`', ':guilabel:`&Foo -&&- &Bar`',
(u'<p><span class="guilabel"><span class="accelerator">F</span>oo ' (u'<p><span class="guilabel"><span class="accelerator">F</span>oo '
'-&amp;- <span class="accelerator">B</span>ar</span></p>'), '-&amp;- <span class="accelerator">B</span>ar</span></p>'),
r'\sphinxmenuselection{\sphinxaccelerator{F}oo -\&- \sphinxaccelerator{B}ar}', r'\sphinxguilabel{\sphinxaccelerator{F}oo -\&- \sphinxaccelerator{B}ar}',
), ),
( (
# non-interpolation of dashes in option role # non-interpolation of dashes in option role