本文為快問快答形式拱礁,分享使用 Sphinx+reStructuredText 發(fā)布PDF過程中揍移,調整PDF樣式的方法和經(jīng)驗。另外一姿,實現(xiàn)方法可能有多種,本文僅分享筆者工作中的經(jīng)驗跃惫,不代表是唯一的或者最優(yōu)的做法叮叹。
Q6: 如何修改PDF中標題級的顏色?
在 conf.py
文件中找到 latex_elements
中使用 sphinxsetup
調整爆存。
除標題顏色外蛉顽,也可以修改其他標語的顏色。以下僅為示例:
sphinxsetup.png
Q7: 為什么在發(fā)布的PDF中有些圖片會錯位(和文本不在同一頁面)先较?
Latex 中圖片和表格的排版使用浮動體(float)設置在頁面的位置携冤,默認設置為 htbp
(here此處, top頁頂, bottom頁底, page獨立一頁)悼粮。因此,在當前頁面無法放下圖片時曾棕,圖片可能會懸浮到下一頁面扣猫,可能造成圖片和文本的“錯位”。
為了讓圖片嚴格出現(xiàn)在對應的文本處翘地,可以做如下修改:
- 在
conf.py
文件中找到latex_elements
申尤,并添加以下命令行:
'figure_align': 'H',
figure_align 設置.png
Q8: 跨頁表格,如何讓表頭在每頁開頭重復顯示衙耕?
對于行數(shù)較多的大型表格昧穿,如需每頁開始都重復顯示標題行,可以為表格添加 class: longtable
的屬性即可橙喘。
以CSV表格為例时鸵,寫法如下:
.. csv-table:: Table Title
:class: longtable
Q9:如何讓圖片和表格自動編號?
- 在
conf.py
文件中設置numfig = True
:
image.png - RST文件中渴杆,使用
numref
引用圖片和表格寥枝。 “%” 為占位符宪塔,代表自動編號磁奖。
:numref:`Fig. %s <figure-label>`
另外,
- 可以在
conf.py
文件修改numfig_format
設置圖片和表格的自動編號的標簽文本某筐。默認:-
Fig. %s
為 figure的自動編號 -
Table %s
為 table的自動編號 -
Listing %s
為code-block的自動編號 -
Section %s
為 section的自動編號
-
- 可以在
conf.py
文件修改numfig_secnum_depth
設置起始編號比搭。默認起始編號為 “1”。
詳細信息南誊,可以參考 Sphinx configuration 官方文檔