2017-02-18 53 views
1

我正在將我的python包文檔構建爲HTML和乳膠PDF。生成的默認latex pdf(手動課程)在「CONTENTS」文本週圍的目錄頂部有大量空白空間。我不太熟悉乳膠,所以當我看着生成的.tex文件時,我沒有看到任何告訴我如何去除空白的東西。刪除sphinx頂部的空格pdflatex目錄

我周圍中搜索,但沒有找到該工作乳膠液。我也嘗試將toctree上的:caption:設置爲空字符串,但實際上刪除了整個TOC和我的所有內容。

任何人都可以幫助我嗎?

whitespace example

+0

見http://tex.stackexchange.com/questions/62125/how-to-remove-top-margin-above-tableofcontents一個答案 –

+0

我發現,它不能得到工作。我會再試一次。 – daveydave400

+0

什麼是您使用的獅身人面像的版本號? – jfbu

回答

1

獅身人面像對英語語言的默認行爲是使用Bjarne的選項乳膠包fncychap的章節標題。但它也加載包titlesec一般來說標題標題。它並沒有對titlesec做出特殊的章節定義,它只是簡單地收集fncychap定義並將其定義在自己的鉤子中。總之,使長話短說,我們發現

\[email protected]@mkschap #1->\vspace *{50\[email protected] }{\parindent \[email protected] \raggedright \normalfont \interlinepenalty \@M \DOTIS {#1} \vskip 40\[email protected] } 
在日誌跟蹤

,這是在其自己的宏\[email protected]@mkschap保留通過titlesec\@makeschapterheadfncychap定義。

fncychapsphinx.sty之前加載,沒有掛鉤,

編輯:其實'fncychap'鍵,其默認值爲'\\usepackage[Bjarne]{fncychap}'可以起到添加一些代碼來重新定義fncychap設置爲未編號的章節標題。它與下面的'preamble'關鍵方法沒有什麼不同,除了人們不需要知道所有這些的titlesec干預。因爲最近的獅身人面像1.5

,但你可以使用自己的神社模板乳膠內容。從你contents這是小的樣子,我覺得你有獅身人面像的舊版本。因此,我會去的乳膠盜號變種是這樣的:

latex_elements = { 
    # The paper size ('letterpaper' or 'a4paper'). 
    # 
    # 'papersize': 'letterpaper', 

    # The font size ('10pt', '11pt' or '12pt'). 
    # 
    # 'pointsize': '10pt', 

    # Additional stuff for the LaTeX preamble. 
    # 
    'preamble': r""" 
\makeatletter 
\def\[email protected]@mkschap #1{\vspace *{10\[email protected] }{\parindent \[email protected] \raggedright 
    \color{blue}% 
    \normalfont \interlinepenalty \@M \DOTIS {#1} \vskip 10\[email protected] }} 
\makeatother 
""", 

    # Latex figure (float) alignment 
    # 
    # 'figure_align': 'htbp', 
} 

我已經在那裏加入了\color{blue}僅作示範,並修改了您需要的命令\vspace\vskip

但是,圖像顯示內容和TOC內容之間存在一些額外的垂直空間來源(它仍然與\vskip 0\[email protected]保持一致,但可以做\vskip -40\[email protected] ...),但我認爲您在頂層空間之後並已經使用只有\vspace*{10pt}減少了很多(在下面的屏幕截圖中不可見)。

enter image description here

+0

忘了說獅身人面像刪除*編號*章節標題頂部的空格。但是TOC是用一個沒有編號的章節標題完成的,因此Sphinx不會改變最初的垂直位移。 – jfbu

+0

非常感謝。這很好。我目前使用的是1.4.9,但是如果我使用1.5,我只需要添加您在jinja模板中輸入的前導碼部分?我很難找到有關獅身人面像中的jinja模板的文檔。 – daveydave400

+0

很高興它的工作... LaTeX的Jinja模板在[latex文檔](http://www.sphinx-doc.org/en/stable/latex.html)的末尾簡要地引起,並且使用的默認模板可以在[這裏]找到(https://github.com/sphinx-doc/sphinx/blob/stable/sphinx/templates/latex/content.tex_t)。緊接在<%= fncychap%>之下,你可以定位'\ def \ @ makeschapterhead#1 {...與我在文章中相同的def ...}';順便說一句,我已經確定了標題之後的額外空間的來源:它在'fncychap'的''\ DOTIS'',它是''\ renewcommand {\ DOTIS} [1] {\ CTV \ FmTi {#1} \ par \ nobreak \ vskip 40 \ p @}''in'fncychap.sty'爲Bjarne。 – jfbu