最初,我在Sphinx v3.5.4中的代码非常好。我使用了以下代码:
.. code-block:: python
:caption: ex2.py: step 3
:name: ex2.py
:linenos:
:lineno-start: 1
:emphasize-lines: 2-5
def Sum(iN):
if (iN == 0):
return(0)
else:
return(iN + Sum(iN - 1))
iMax = 10
for i in range(1, iMax):
print(i, ':', Sum(i))
然后,Sphinx将正常输出如下所示。
1 def Sum(iN):
2 if (iN == 0):
3 return(0)
4 else:
5 return(iN + Sum(iN - 1))
6
7 iMax = 10
8 for i in range(1, iMax):
9 print(i, ':', Sum(i))
但是,在Sphinx v4.5.0渲染之后,我的示例代码如下所示。
1 def Sum(iN):
2
if (iN == 0):
3
return(0)
4
else:
5
return(iN + Sum(iN - 1))
6
7 iMax = 10
8 for i in range(1, iMax):
9 print(i, ':', Sum(i))
基本上,我去掉:lineno:参数,意外换行条件就消失了。无论如何,它可能带有行号功能。有人有解决这个问题的办法吗?
请注意,我在我的环境中使用了以下必需的模块。
sphinx==4.5.0
graphviz==0.19.1
sphinxcontrib-plantuml==0.23
sphinxcontrib-blockdiag==2.0.0
sphinxcontrib-actdiag==2.0.0
sphinxcontrib-nwdiag==2.0.0
sphinxcontrib-seqdiag==2.0.0
sphinxbootstrap4theme>=0.6.0
sphinxcontrib.bibtex==2.4.2
sphinxcontrib.httpdomain==1.8.0
sphinx-autorun==1.1.1
sphinx-copybutton==0.5.0
hieroglyph==2.1.0
我看到了同样的问题。这个github问题说这个错误是由pygments
的v2.3.1引起的,并在pygments
的v2.11.2中修复。