Skip to content

Commit 45244b1

Browse files
committed
LaTeX: Work around sphinxuseclass environments
... which have been introduced in Sphinx 4.1.0.
1 parent 9c6c308 commit 45244b1

File tree

1 file changed

+14
-5
lines changed

1 file changed

+14
-5
lines changed

src/nbsphinx.py

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2170,11 +2170,21 @@ def depart_codearea_latex(self, node):
21702170
if lines[0].startswith(r'\fvset{'): # Sphinx >= 1.6.6 and < 1.8.3
21712171
out.append(lines[0])
21722172
del lines[0]
2173-
assert 'Verbatim' in lines[0]
2174-
out.append(lines[0])
2173+
# Sphinx 4.1.0 added "sphinxuseclass" environments around "sphinxVerbatim"
2174+
for begin_verbatim, line in enumerate(lines):
2175+
if line.startswith(r'\begin{sphinxVerbatim}'):
2176+
break
2177+
else:
2178+
assert False
2179+
for end_verbatim, line in enumerate(reversed(lines)):
2180+
if line == r'\end{sphinxVerbatim}':
2181+
break
2182+
else:
2183+
assert False
2184+
out.extend(lines[:begin_verbatim + 1])
21752185
code_lines = (
21762186
[''] * node.get('empty-lines-before', 0) +
2177-
lines[1:-1] +
2187+
lines[begin_verbatim + 1:-end_verbatim - 1] +
21782188
[''] * node.get('empty-lines-after', 0)
21792189
)
21802190
prompt = node['prompt']
@@ -2185,8 +2195,7 @@ def depart_codearea_latex(self, node):
21852195
assert code_lines
21862196
code_lines[0] = prefix + code_lines[0]
21872197
out.extend(code_lines)
2188-
assert 'Verbatim' in lines[-1]
2189-
out.append(lines[-1])
2198+
out.extend(lines[-end_verbatim - 1:])
21902199
out.append('}') # End of scope for colors
21912200
out.append('')
21922201
self.body.append('\n'.join(out))

0 commit comments

Comments
 (0)