LaTeX 定制

latex 目标不会从准备好的主题中受益.

LaTeX输出的选项 ,特别是 latex_elements 变量提供了很多自定义界面.

有关LaTeX/PDF构建器命令行调用的一些详细信息,请参阅 LaTeXBuilder .

请记住,反斜杠必须在Python字符串文字中加倍,以避免解释为转义序列,或使用原始字符串(如此处所做).

# inside conf.py
latex_engine = 'xelatex'
latex_elements = {
    'fontpkg': r'''
\setmainfont{DejaVu Serif}
\setsansfont{DejaVu Sans}
\setmonofont{DejaVu Sans Mono}
''',
    'preamble': r'''
\usepackage[titles]{tocloft}
\cftsetpnumwidth {1.25cm}\cftsetrmarg{1.5cm}
\setlength{\cftchapnumwidth}{0.75cm}
\setlength{\cftsecindent}{\cftchapnumwidth}
\setlength{\cftsecnumwidth}{1.25cm}
''',
    'fncychap': r'\usepackage[Bjornstrup]{fncychap}',
    'printindex': r'\footnotesize\raggedright\printindex',
}
latex_show_urls = 'footnote'

latex_elements配置设置

包含覆盖那些Sphinx的LaTeX片段的字典通常会放入生成的 .tex 文件中.它的 'sphinxsetup' 键被描述为 separate .

  • 您可能想要覆盖的键包括:

    'papersize'

    文件类的纸张尺寸选项('a4paper''letterpaper'),默认为 'letterpaper' .

    'pointsize'

    文档类的点大小选项('10pt', '11pt''12pt'), 默认为 '10pt'.

    'pxunit'

    在图像属性 widthheight 中使用 px 的值.默认值是 '0.75bp' , 它实现了 96px = 1in (在TeX 1in = 72bp = 72.27pt 中).例如,要获得 100px = 1in , 请使用 '0.01in''0.7227pt' (后者导致TeX计算更精确的值,因为规范中使用的单位更小);对于 72px = 1in ,只需使用 '1bp' ;对于 90px = 1in ,使用 '0.8bp''0.803pt' .

    1.5 新版功能.

    'passoptionstopackages'

    一个字符串,它将位于序言的早期,旨在包含 \\PassOptionsToPackage{options}{foo} 命令.默认为空.

    1.4 新版功能.

    'babel'

    “babel” 包包含,默认 '\\ usepackage {babel}' (合适的文档语言字符串作为类选项传递,如果没有语言则使用 english .)对于日语文件,默认是空字符串.

    使用XeLaTeX和LuaLaTeX,Sphinx将LaTeX文档配置为使用`polyglossia`_,但是应该知道当前`babel`_近年来已经改进了对Unicode引擎的支持,对于某些语言,更喜欢 babelpolyglossia.

    提示

    在修改了像这样的核心LaTeX密钥之后,在下一个PDF构建之前清理LaTeX构建库,否则剩下的辅助文件可能会破坏构建.

    在 1.5 版更改: 对于 latex_engine 设置为 'xelatex' ,默认为 '\\usepackage{polyglossia}\n\\setmainlanguage{<language>}'.

    在 1.6 版更改: 'lualatex'``使用与’xelatex’``相同的默认设置

    在 1.7.6 版更改: 对于法语,``xelatex``和``lualatex``默认使用``babel``,而不是``polyglossia``.

    'fontpkg'

    字体包包含,默认为``’\ usepackage {times}’``使用Times代表文本,Helvetica代表sans serif,Courier代表monospace.

    在 1.2 版更改: language 使用西里尔文脚本时,默认为 '' .

    在 2.0 版更改: 支持希腊和西里尔字母:

    • 字体包中包含,默认为``’\ usepackage {times}’``使用Times代表文本,Helvetica代表sans serif,Courier代表monospace.

      \substitutefont{LGR}{\rmdefault}{cmr}
      \substitutefont{LGR}{\sfdefault}{cmss}
      \substitutefont{LGR}{\ttdefault}{cmtt}
      \substitutefont{X2}{\rmdefault}{cmr}
      \substitutefont{X2}{\sfdefault}{cmss}
      \substitutefont{X2}{\ttdefault}{cmtt}
      

      但只有在``’fontenc’``键被配置为加载``LGR``(希腊语)和/或``X2``(西里尔语)pdflatex-font编码(如果: confval:language`设置为西里尔语,这个’’fontpkg’``键必须用作”times “包没有直接支持;然后只保留``LGR``行,如果文中希腊语需要支持).

      ``codefont``命令来自同名的LaTeX包,如果需要,它由Sphinx加载(在Ubuntu xenial上它是``texlive-latex-extra``的一部分,这是Sphinx的要求).

      仅当文档实际上包含Unicode希腊字母(文本)或西里尔字母时,上述默认设置才会导致PDF构建的其他要求.在Ubuntu xenial上,``texlive-lang-greek``, texlive-lang-cyrillic,和(用上面选择的字体)``cm-super``(或``cm-super-minimal ``)包.

    • 如果文档实际包含Unicode希腊字母(文本)或西里尔字母,则上述默认设置仅会对PDF构建产生其他要求.在Ubuntu xenial上,``texlive-lang-greek``, texlive-lang-cyrillic,和(使用上面选择的字体)``cm-super``(或``cm-super-minimal`` )包.

    • ``’platex’``(日文文档)引擎支持单独的西里尔字母和希腊字母,无需额外的用户设置.

    'fncychap'

    包含”fncychap “包(制作花哨的章节标题),默认为`’‘\ usepackage [Bjarne] {fncychap}’用于英文文档(此选项由Sphinx稍微定制), ‘\ usepackage [Sonny] {fncychap}’用于国际化文档(因为"Bjarne "风格使用英文拼写的数字).您可以尝试的其他"fncychap"风格是"Lenny","Glenn","Conny","Rejne"和"Bjornstrup".您也可以将其设置为’‘``以禁用fncychap.

    对于日文文档,默认为``’```

    'preamble'

    附加前导内容,默认为空.可以将所有需要的宏移动到某个文件:file:项目源库的`mystyle.tex.txt`,并让LaTeX在运行时导入它:

    'preamble': r'\input{mystyle.tex.txt}',
    # or, if the \ProvidesPackage LaTeX macro is used in a file mystyle.sty
    'preamble': r'\usepackage{mystyle}',
    

    然后需要适当地设置:confval:latex_additional_files,例如:

    latex_additional_files = ["mystyle.sty"]
    
    'figure_align'

    乳胶图浮动对齐,默认为’htbp’(此处,顶部,底部,页面).每当图像不适合当前页面时,它将”浮动”到下一页,但可能在任何其他文本之前.如果您不喜欢这种行为,请使用”H”,它将严格按照它们在源中出现的顺序禁用浮动和位置数字.

    1.3 新版功能.

    'atendofbody'

    附加文档内容(在索引之前),默认为空.

    1.5 新版功能.

    'footer'

    额外的页脚内容(在索引之前),默认为空.

    1.5 版后已移除: Use 'atendofbody' key instead.

  • 除非在特殊情况下,否则不需要覆盖的键是:

    'extraclassoptions'

    默认为空字符串.例如:'extraclassoptions':'openany'``将允许章节(对于’‘手册’``类型的文档)在任何页面上开始.

    1.2 新版功能.

    在 1.6 版更改: 添加了此文档.

    'maxlistdepth'

    对于嵌套列表和类似报价的环境,LaTeX默认允许最多6个级别,最多包含4个枚举列表和4个项目符号列表.例如将此键设置为”’‘10’``(作为字符串)将允许最多10个嵌套级别(各种类型).将它留给空字符串意味着遵守LaTeX默认值.

    警告

    • 使用此密钥可能证明与某些LaTeX软件包或进行自己的列表自定义的特殊文档类不兼容.

    • 如果在文档前导码中执行``usepackage {enumitem}``,则默认*忽略键设置.然后使用此LaTeX包的专用命令.

    1.5 新版功能.

    'inputenc'

    “inputenc “包包含,默认为``’\ usepackage [utf8] {inputenc}’``使用pdflatex时.否则是空的.

    在 1.4.3 版更改: 以前`’‘\ usepackage [utf8] {inputenc}’``用于所有编译器.

    'cmappkg'

    包含的”cmap”包,默认为``’\ usepackage {cmap}’``.

    1.2 新版功能.

    'fontenc'

    “fontenc “包包含,默认为``’\ usepackage [T1] {fontenc}’``.

    如果``’pdflatex’是:confval:`latex_engine`,可以添加``LGR``来支持文档中的希腊字母,还可以添加``X2``(或``T2A)西里尔字母,像这样:

    r'\usepackage[LGR,X2,T1]{fontenc}'
    

    注意

    在2.0之前,Unicode希腊字母被转义为使用LaTeX数学标记.情况已经不是这样了,如果源包含这样的Unicode希腊语,则必须使用上述内容(仅限于``’pdflatex’``引擎).

    在Ubuntu xenial上,包含``texlive-lang-greek``和``cm-super``(对于后者,只有当’`’fontpkg’设置保留为默认值时)才需要``LGR ``工作.代替``cm-super,可以安装较小的``cm-super-minimal``,但它需要LaTeX文件在加载``fontenc之前执行``usepackage [10pt] {type1ec}`` ``.因此,如果需要,可以在启动时使用此密钥.

    在 1.5 版更改: Defaults to '\\usepackage{fontspec}' when latex_engine is 'xelatex'.

    在 1.6 版更改: 'lualatex' uses fontspec per default like 'xelatex'.

    在 2.0 版更改: 'lualatex' executes \defaultfontfeatures[\rmfamily,\sffamily]{} to disable TeX ligatures.

    在 2.0 版更改: 检测到``LGR``, T2A, X2``以触发支持偶尔的希腊语或西里尔语(仅仅是’pdflatex’,因为这种支持是由’platex’本身提供的. 并且只需要合适的字体`’xelatex’/’lualatex’``).

    'textgreek'

    默认(仅限``’pdflatex’)是`''\\ usepackage {textalpha}',但只有当用户修改``’fontenc’``以包含``LGR``选项时.如果不是,则键值将被强制为空字符串.

    这需要``pdfLaTeX``来支持希腊字母的Unicode输入,例如φύσις.专家用户可能希望使用选项``normalize-symbols``加载``textalpha``包.

    提示

    Unicode希腊语(但没有其他Unicode符号):rst:dir:math`可以通过`’pdflatex’来支持将此键设置为``r’usepackage {textalpha,alphabeta}’`.然后``:math:α```(U + 03B1)将呈现为:math:alpha`.有关数学输入中更广泛的Unicode支持,请参阅讨论:confval:latex_engine.

    使用``’platex’(日语),’xelatex’’lualatex’``,这个键被忽略.

    2.0 新版功能.

    'geometry'

    “geometry “包包含,默认定义是:

    '\\usepackage{geometry}'

    还有一个日语文件``[dvipdfm]``. Sphinx LaTeX样式文件执行:

    \PassOptionsToPackage{hmargin=1in,vmargin=1in,marginpar=0.5in}{geometry}

    可以通过相应的方式定制:ref:’sphinxsetup’选项<latexsphinxsetup>.

    1.5 新版功能.

    在 1.5.2 版更改: dvipdfm``选项if:confval:`latex_engine`是’platex’``.

    1.5.3 新版功能: :ref:`’sphinxsetup’键为边距<latexsphinxsetuphmargin>.

    在 1.5.3 版更改: LaTeX文件中的位置已经移到``usepackage {sphinx}``和``sphinxsetup {..}``之后,因此也插入``’fontpkg’``键.这是为了以日本文档的特殊方式处理纸张布局选项:文本宽度将设置为* zenkaku *宽度的整数倍,文本高度将设置为基线的整数倍.有关更多信息,请参阅:ref:`hmargin <latexsphinxsetuphmargin>`文档.

    'hyperref'

    “hyperref “包包含;还会加载package “hypcap “并发出``urlstyle {same}``.这是在以下之后完成的:file:sphinx.sty`文件被加载并且在执行`’preamble’``键的内容之前.

    注意

    加载包”hyperref “和”hypcap “是必需的.

    1.5 新版功能: 以前这是从内部完成的:文件:sphinx.sty.

    'maketitle'

    “maketitle “来电,默认``’\ sphinxmaketitle’``.如果要生成不同样式的标题页,请覆盖.

    提示

    如果键值设置为”r”newcommand sphinxbackoftitlepage {<Extra material>} sphinxmaketitle```,那么``<Extra material>``将在标题页背面排版(` 'manual' docclass only).

    在 1.8.3 版更改: 文档类中的原始``maketitle``不会被覆盖,因此可以作为此键的某些自定义设置的一部分重复使用.

    1.8.3 新版功能: \ sphinxbackoftitlepage``可选宏.它也可以在’preamble’``键中定义,而不是在这个键中.

    'releasename'

    在标题页上加上前缀``’release’元素的值,默认为’Release’``.对于在* confval:`latex_documents`的元组中使用的* title author *,它作为LaTeX标记插入.

    'tableofcontents'

    “tableofcontents “调用,默认``’\ sphinxtableofcontents’(它是未修改的tableofcontents``的包装,它本身可以由用户加载的包自定义.)如果你想要覆盖生成不同的目录或在标题页和TOC之间放置内容.

    在 1.5 版更改: 以前,”tableofcontents`”本身的含义是由Sphinx修改的.这与修改它的专用包创建了不兼容性,例如”tocloft “或”etoc “.

    'transition'

    用于显示转换的命令,默认为``’n n \ bigskip \ hrule \ bigskip n n’``.如果要以不同方式显示转换,请覆盖.

    1.2 新版功能.

    在 1.6 版更改: 在``\ hrule``之后删除不需要的``{}``.

    'printindex'

    “printindex “调用,文件中的最后一件事,默认为``’\ printindex’.如果要以不同方式生成索引或在索引后附加一些内容,请覆盖.例如,当索引充满长条目时,建议使用’\ footnotesize \ raggedright \ printindex’``.

    'fvset'

    自定义``fancyvrb`` LaTeX包. Sphinx默认执行``’fvset’:’\ fvset {fontsize = \ small}’``,以调整代码块中使用的等宽字体的大字符宽度.如果使用自定义字体,则可能需要修改此项.

    1.8 新版功能.

    在 2.0 版更改: 由于``’xelatex’’lualatex’(FreeFont)的新默认字体选择,Sphinx对这些引擎也做了`'\\ fvset {fontsize = \\ small} (而不是``\ fvset {fontsize = auto}``).

  • 由其他选项设置但因此不应被覆盖的键是:

    'docclass' 'classoptions' 'title' 'release' 'author' 'makeindex'

'sphinxsetup' 键

`’‘sphinxsetup’``键:ref:`latex_elements <latex_elements_confval>`提供了一个LaTeX类型的自定义接口:

latex_elements = {
    'sphinxsetup': 'key1=value1, key2=value2, ...',
}

它默认为空.如果非空,它将作为参数传递给文档前导码中的``sphinxsetup``宏,如下:

\usepackage{sphinx}
\sphinxsetup{key1=value1, key2=value2,...}

1.5 新版功能.

提示

通过:rst:dir:raw`指令,可以将`sphinxsetup`` LaTeX宏的更多用法直接插入到文档正文中.以下是本章如何在PDF输出中设置样式:

.. raw:: latex

   \begingroup
   \sphinxsetup{%
         verbatimwithframe=false,
         VerbatimColor={named}{OldLace},
         TitleColor={named}{DarkGoldenrod},
         hintBorderColor={named}{LightCoral},
         attentionborder=3pt,
         attentionBorderColor={named}{Crimson},
         attentionBgColor={named}{FloralWhite},
         noteborder=2pt,
         noteBorderColor={named}{Olive},
         cautionborder=3pt,
         cautionBorderColor={named}{Cyan},
         cautionBgColor={named}{LightCyan}}

在本章的开头和:

.. raw:: latex

   \endgroup

在它的结尾.

上面使用的颜色由”xcolor “包的``svgnames``选项提供:

latex_elements = {
    'passoptionstopackages': r'\PassOptionsToPackage{svgnames}{xcolor}',
}

LaTeX布尔键需要* lowercase *``true``或``false``值.逗号和等号周围的空格被忽略,LaTeX宏中的空格可能很重要.

hmargin, vmargin

水平(相应的垂直)边距的尺寸,作为``hmargin``(resp.``vmargin``)选项传递给``geometry``包.默认为``1in``,相当于``{1in,1in}``.例:

'sphinxsetup': 'hmargin={2in,1.5in}, vmargin={1.5in,2in}, marginpar=1in',

日文文档目前仅接受这些参数的一维格式.然后将``geometry``包传递给合适的选项,以将文本宽度设置为* zenkaku * width的精确倍数,并将文本高度设置为baselineskip的整数倍,最接近边距.

提示

日文文档目前只接受这些参数的一维格式.然后将``geometry``包传递给相应的选项,将文本宽度设置为* zenkaku * width的精确倍数,并将文本高度设置为baselineskip的整数倍,最接近边距.

'sphinxsetup': 'hmargin=1.5truein, vmargin=1.5truein, marginpar=5zw',

1.5.3 新版功能.

marginpar

\ marginparwidth LaTeX维度,默认为``0.5in``.对于日文文档,该值被修改为* zenkaku * width的最接近的整数倍.

1.5.3 新版功能.

verbatimwithframe

默认``true``. Boolean用于指定if:rst:dir:code-block s和literal includes是否为框架.将其设置为”false”不会停用package “framed “的使用,因为它仍然用于可选的背景颜色.

verbatimwrapslines

默认``true``.告诉长行是否:rst:dir:code-block 的内容应该换行.

literalblockcappos

默认``t``为”top “.决定标题位置.替代方案是``b``(“bottom “).

1.7 新版功能.

verbatimhintsturnover

默认``true``.如果``true``,代码块显示”继续下一页”,”继续从上一页”提示,如果是分页.

1.6.3 新版功能.

在 1.7 版更改: 默认值从``false``变为``true``.

verbatimcontinuedalign, verbatimcontinuesalign

默认``r``.相对于框架内容的水平位置:”l”(左对齐),”r”(右对齐)或”c”(居中).

1.7 新版功能.

parsedliteralwraps

默认``true``.判断是否有长行:dudir:parsed-literal 的内容应该换行.

1.5.2 新版功能: 将此选项值设置为”false”以恢复以前的行为.

inlineliteralwraps

默认``true``.允许内联文字内部的换行符:但是当前只在字符”之后插入了额外的潜在断点(除了LaTeX在空格或连字符允许的断点). ,; ? ! /`.由于TeX内部,线路中的空白区域将被拉伸(或缩小)以适应线路断裂.

1.5 新版功能: 将此选项值设置为”false”以恢复以前的行为.

verbatimvisiblespace

默认``textcolor {red} {t​​extvisiblespace}``.分割长代码行时,使用此代码排版在换行符位置之前的源代码行中的最后一个空格字符.

verbatimcontinued

在连续代码行的开头插入一个LaTeX宏.它(复杂的…)默认排版一个指向右边的小红钩:

\makebox[2\fontcharwd\font`\x][r]{\textcolor{red}{\tiny$\hookrightarrow$}}

在 1.5 版更改: 在1.4.2处添加了长代码行的分解.连续符号的默认定义在1.5处更改以适应各种字体大小(例如,代码块可以在脚注中).

TitleColor

默认``{rgb} {0.126,0.263,0.361}``.标题的颜色(通过使用package “titlesec “进行配置.)

警告

通过``’sphinxsetup’设置的颜色必须遵循``color/xcolor``包definecolor``命令的参数的语法.

InnerLinkColor

默认``{rgb} {0.208,0.374,0.486}``.一种颜色传递给``hyperref``作为``linkcolor``和``citecolor``的值.

OuterLinkColor

默认``{rgb} {0.216,0.439,0.388}``.一种颜色传递给``hyperref``作为``filecolor``, ``menucolor``和``urlcolor``的值.

VerbatimColor

默认``{rgb} {1,1,1}``.背景颜色:rst:dir:code-block s.默认为白色.

VerbatimBorderColor

默认``{rgb} {0,0,0}``.框架颜色,默认为黑色.

VerbatimHighlightColor

默认``{rgb} {0.878,1,1}``.突出显示的线条的颜色.

1.6.6 新版功能.

注解

从这个颜色键开始,对于接下来的所有其他颜色键,声明为”color”或”xcolor “的实际名称以”sphinx”为前缀.

verbatimsep

默认``fboxsep``.代码行与框架之间的分离.

verbatimborder

默认``fboxrule``.框架的宽度:rst:dir:code-block s.

shadowsep

默认``5pt``.内容和框架之间的分离:dudir:`contents`和:dudir:`topic`框.

shadowsize

默认``4pt``.横向”阴影”的宽度向右.

shadowrule

默认``fboxrule``.框架的宽度:dudir:`topic`框.

noteBorderColor, hintBorderColor, importantBorderColor, tipBorderColor

默认``{rgb} {0,0,0}``(黑色). Sphinx在LaTeX中用于样式化的两个水平规则的颜色:dudir:`note`类型的警告.

noteborder, hintborder, importantborder, tipborder

默认``0.5pt``.两个水平规则的宽度.

warningBorderColor, cautionBorderColor, attentionBorderColor, dangerBorderColor, errorBorderColor

默认``{rgb} {0,0,0}``(黑色).告诫框架的颜色.

warningBgColor, cautionBgColor, attentionBgColor, dangerBgColor, errorBgColor

默认``{rgb} {1,1,1}``(白色).各种警告的背景颜色.

warningborder, cautionborder, attentionborder, dangerborder, errorborder

默认``1pt``.框架的宽度.

AtStartFootnote

默认``mbox {}``.在脚注编号后面的页脚底部的脚注文本开头插入了LaTeX宏.

BeforeFootnote

默认``leavevmode unskip``.在脚注标记之前插入了LaTeX宏.默认情况下会删除之前的可能空间(否则,TeX可能会在那里插入换行符).

1.5 新版功能.

HeaderFamily

默认``sffamily bfseries``.设置标题使用的字体.

LaTeX宏和环境

以下是包文件中的一些宏:file:sphinx.sty`和类文件:file:`sphinxhowto.cls,:file:sphinxmanual.cls,它们具有公共名称,因此允许重新定义.检查相应的文件以获取默认值.

  • 文本样式命令``sphinx <foo>`````<foo>``是``strong``, bfcode, email, tablecontinued, `` titleref``, menuselection, accelerator, crossref, termref, optional.

    1.4.5 新版功能: 使用``sphinx``前缀宏名称来限制与LaTeX包冲突的可能性.

  • 更多文字样式:\ sphinxstyle <bar>`````<bar>````indexentry, indexextra, indexpageref, topictitle, `` sidebartitle``, othertitle, sidebarsubtitle, theadfamily, emphasis, literalemphasis, strong, literalstrong, abbreviation` `,``literalintitle, codecontinued, codecontinues

    1.5 新版功能: 这些宏以前硬编码为不可自定义的``texttt``, ``emph``等…

    1.6 新版功能: \ sphinxstyletheadfamily``默认为sffamily``,并允许表格的标题单元格中有多个段落.

    1.6.3 新版功能: \sphinxstylecodecontinued and \sphinxstylecodecontinues.

  • 目录是通过``sphinxtableofcontents``排版的,它是标准``tableofcontents`的包装器(在文件:sphinxhowto.cls`和:file:`sphinxmanual.cls`中定义不同) .宏`sphinxtableofcontentshook``在``tableofcontents``之前的扩展期间执行.

    在 1.5 版更改: 以前,”tableofcontents`”的含义是由Sphinx修改的.

    在 2.0 版更改: 以前在加载``’manual’docclass时完成的l @ section``和``l @ subsection``的硬编码重新定义现在稍后通过``sphinxtableofcontentshook``执行.这个宏也由’`’howto’``docclass执行,但默认为空.

  • 自定义``sphinxmaketitle``在类文件中定义:file:sphinxmanual.cls`和:file:`sphinxhowto.cls`并用作`’maketitle’``的默认设置:confval:` latex_elements`键.

    在 1.8.3 版更改: 以前,来自LaTeX文档类的``maketitle``被Sphinx修改.

  • 对于`’‘manual’docclass一个宏sphinxbackoftitlepage``,如果已定义,则在最后的``clearpage``之前在``sphinxmaketitle``的末尾执行.使用``’maketitle’键或’‘preamble’键:confval:`latex_elements`来添加sphinxbackoftitlepage``的自定义定义.

    1.8.3 新版功能.

  • 引文引用是通过``sphinxcite``排版的,它是标准``cite``的包装.

环境

  • a:dudir:figure`可能有一个带有任意body元素的可选图例:它们在``sphinxlegend``环境中呈现.默认定义发出`small``,以``par``结尾.

    1.5.6 新版功能: 以前,’small``在LaTeX编写器中是硬编码的,结尾的``par``缺乏.

  • 对于每个告诫类型``<foo>``,使用的环境名为``sphinx <foo>``.它们可能是单独的”更新环境”,然后必须用一个参数定义(它是通知的标题,例如``Warning:for:dudir:`warning`指令,如果是英语是文档语言).它们的默认定义使用* sphinxheavybox *(对于第一个列出的指令)或* sphinxlightbox *环境,配置为使用特定于每种类型的参数(颜色,边框粗细),可以通过’sphinxsetup’设置. `字符串.

    在 1.5 版更改: 使用公共环境名称,单独定制参数,例如``noteBorderColor``, noteborder, warningBgColor, warningBorderColor, warningborder,…

  • 使用公共环境名称单独自定义参数,例如``noteBorderColor``, noteborder, warningBgColor, warningBorderColor, warningborder,…

    1.4.2 新版功能: 以前的代码重构为允许分页的环境.

    在 1.5 版更改: 选项``shadowsep``, shadowsize, shadowrule.

  • 文字块(通过``::或:rst:dir:`code-block`)是使用``sphinxVerbatim``环境实现的,它是包``fancyvrb'的``Verbatim``环境的包装. sty.它增加了顶部标题的处理和长行的包装,以及允许分页的框架.在表格中,使用的环境是``sphinxVerbatimintable``(它不绘制框架,但允许使用标题).

    在 1.5 版更改: Verbatim``与``fancyvrb.sty``(也名为``OriginalVerbatim)的含义完全相同;在表格中使用``sphinxVerbatimintable``.

    1.5 新版功能: 选项``verbatimwithframe``, verbatimwrapslines, verbatimsep, verbatimborder.

    1.6.6 新版功能: support for :emphasize-lines: option

    1.6.6 新版功能: 通过暴露给用户LaTeX宏(例如`sphinxVerbatimHighlightLine``),可以更轻松地自定义格式化.

  • 参考书目使用``sphinxthebibliography``和Python模块索引以及一般索引都使用``sphinxtheindex``;这些环境是文档类(或包)提供的``thebibliography``和``theindex``环境的包装器.

    在 1.5 版更改: 以前,Sphinx修改了原始环境.

杂记

  • section, subsection, … 标题是使用 titlesec\titleformat 命令设置的.

  • 对于 'manual' docclass , 章节标题可以使用 fncychap 的命令 \ChNameVar , \ChNumVar , \ChTitleVar 来定制.文件 sphinx.styfncychap 选项 Bjarne 的情况下有自定义重新定义.

    在 1.5 版更改: 以前,使用 fncychap 与其他风格比 Bjarne 功能失调.

提示

作为一个实验性功能,如果您的项目中有一个名为 _templates/latex.tex_t 的文件,Sphinx可以将用户定义的模板文件用于LaTeX源代码.

1.5 新版功能: 目前,所有模板变量都不稳定且未记录.

可以在 _templates/ 中添加附加文件 longtable.tex_t , tabulary.tex_ttabular.tex_t 来配置表呈现的某些方面(例如标题位置).

1.6 新版功能: 目前,所有模板变量都不稳定且未记录.