LaTeX: stop escaping | to LaTeX macro, except if in an index entry

This commit is contained in:
jfbu 2019-11-18 01:10:57 +01:00
parent 948ac3a1f0
commit e720f0a1a2
5 changed files with 5 additions and 5 deletions

View File

@ -1881,9 +1881,10 @@
\let\sphinxtermref \@firstofone
}}
% For curly braces inside \index macro
% For curly braces and vertical bar inside \index macro
\def\sphinxleftcurlybrace{\{}
\def\sphinxrightcurlybrace{\}}
\def\sphinxverticalbar{|}
% Declare Unicode characters used by linux tree command to pdflatex utf8/utf8x
\def\spx@bd#1#2{%

View File

@ -109,6 +109,7 @@
(merge-rule "\sphinxleftcurlybrace{}" "{" :string)
(merge-rule "\sphinxrightcurlybrace{}" "}" :string)
(merge-rule "\sphinxverticalbar{}" "|" :string)
(merge-rule "\_" "_" :string)
(merge-rule "{[}" "[" :string)
(merge-rule "{]}" "]" :string)
@ -126,7 +127,6 @@
(merge-rule "\(\rightarrow\)" "→" :string)
(merge-rule "\(\checkmark\)" "✓" :string)
(merge-rule "\textendash{}" "" :string)
(merge-rule "\textbar{}" "|" :string)
(merge-rule "\(\sp{\text{0}}\)" "⁰" :string)
(merge-rule "\(\sp{\text{1}}\)" "¹" :string)
(merge-rule "\(\sp{\text{2}}\)" "²" :string)

View File

@ -32,8 +32,6 @@ tex_replacements = [
('`', r'{}`'),
('<', r'\textless{}'),
('>', r'\textgreater{}'),
# map char for some unknown reason. TODO: remove this?
('|', r'\textbar{}'),
# map special Unicode characters to TeX commands
('', r'\(\checkmark\)'),
('', r'\(\pmb{\checkmark}\)'),

View File

@ -1816,6 +1816,7 @@ class LaTeXTranslator(SphinxTranslator):
value = value.replace('"', '""')
value = value.replace('@', '"@')
value = value.replace('!', '"!')
value = value.replace('|', r'\sphinxverticalbar{}')
return value
def style(string):

View File

@ -315,7 +315,7 @@ def test_numref_with_prefix2(app, status, warning):
assert ('\\hyperref[\\detokenize{baz:table22}]'
'{Table:\\ref{\\detokenize{baz:table22}}}') in result
assert ('\\hyperref[\\detokenize{index:code-1}]{Code-\\ref{\\detokenize{index:code-1}} '
'\\textbar{} }') in result
'| }') in result
assert ('\\hyperref[\\detokenize{baz:code22}]'
'{Code-\\ref{\\detokenize{baz:code22}}}') in result
assert ('\\hyperref[\\detokenize{foo:foo}]'