\documentclass{ctxdoc} \hypersetup { colorlinks, linkcolor = blue, urlcolor = blue } \title{\sffamily easybook书籍文档类} \author{瞿毅} \date{2021/01/13\hskip\ccwd\relax v1.21c\thanks{\url{https://gitee.com/TeX-doc/easybook}}} \begin{document} \maketitle \changes{v1.20}{2021/01/09}{修改和完善用户文档。} \changes{v1.20}{2021/01/09}{模板更改为使用CC-BY许可协议。} \begin{abstract} \cls{easybook} 是基于 \cls{ctexbook} 书籍文档类创建以极简为风格的模板,可以看作对 \cls{ctexbook} 的进一步包装。虽然\CTeX 文档类提供了较好的中文支持,但想实现个性化功能一般需要在其基础上载入更多宏包来定制。\cls{easybook} 考虑了一些细节并载入一些常用宏包实现一般的排版需求,它适用于排版中英文书籍或笔记,甚至可稍加调整成为学位论文模板。 \end{abstract} \tableofcontents \section{编译方式} 模板含有一个使用示例文件,编译前建议满足以下的条件 \begin{itemize} \item 使用 \hologo{XeLaTeX}(推荐)或 \hologo{LuaLaTeX} 两种编译方式, \item 参考文献支持用 \hologo{BibTeX}(默认)或 \hologo{biber} 后端处理。 \item 由于用到了一些较新的宏包,建议安装最新的\TeX 发行版并将宏包升级为最新。 \end{itemize} \subsection{编译步骤} \begin{frameverb} xelatex -shell-escape easybook-demo bibtex easybook-demo makeindex easybook-demo xelatex -shell-escape easybook-demo xelatex -shell-escape easybook-demo \end{frameverb} 需注意,正确\textsf{编译索引}需要增加 \opt{-shell-escape} 命令行选项。若不需要索引和参考文献,可以在正文中注释掉命令。若出现以下警告,再编译一次即可。 \begin{frameverb} LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right. \end{frameverb} \subsection{字体设置}\label{subsec1} 默认使用\CTeX 预置中文字库,当开启 \opt{font = myfont} 选项时需要安装开源字体,中文使用方正系列的{\songti 方正书宋}、{\heiti 方正黑体}、{\kaishu 方正楷体}和{\fangsong 方正仿宋},英文使用思源系列的{\rmfamily Noto Serif}、{\sffamily Noto Sans}和{\ttfamily Noto Sans Mono},数学字体使用 \pkg{notomath}。相关选项可以见小节 \ref{subsec2},字体点击此处下载\href{https://wws.lanzous.com/b01ns361i}{下载地址}。 如果您不想使用\CTeX 默认字体和方正、思源字体,\textsf{自定义字体}需启用选项 \opt{font = none},并可在导言区设置中文字体,粗体与斜体不设置会产生警告。 \begin{ctexexam} \setCJKmainfont{SimSun}[BoldFont = SimHei,ItalicFont = KaiTi] \setCJKsansfont{SimHei} \setCJKmonofont{FangSong} \end{ctexexam} \section{文档类选项}\label{subsec2} 标准 \cls{book} 文类与 \cls{ctexbook} 文类的选项同样适用于本文档。除此之外选项分为两类 \begin{itemize} \item 带有 \rexptarget\rexpstar{} 号的选项,需要在引入文档类的时候设定。 \item 带有 \exptarget\expstar{} 号的选项,需要通过\CTeX 宏集提供的用户接口命令 \tn{ctexset} 设定。 \end{itemize} \begin{function}[rEXP,added = 2021-01-05]{draft} 开启草稿模式会加快编译速度,表现有显示页面边框、行溢出的地方显示黑色方块、图片变成占位方框、显示当前日期和关闭超链接渲染。 \end{function} \begin{function}[rEXP,added = 2021-01-05]{newline} 章标题风格为另起一行,英文模式使用较为常见。类似下面的效果 \begin{flushleft}\sffamily\LARGE Chapter 1\vskip 1.3pc This is a title \end{flushleft} \end{function} \begin{function}[rEXP,added = 2021-01-05]{entitle} 部分标题编号由中文数字变为大写罗马数字,章标题编号由中文数字变为阿拉伯数字。比如\textsf{第一部分}变为\textsf{第I部分},\textsf{第一章}变为\textsf{第1章}。 \end{function} \begin{function}[rEXP,added = 2021-01-05]{english} 使各类标题变为英文形式。包括章节标题、图表标题和定理标题等。如\textsf{第一章}变为\textsf{Chapter 1},\textsf{图1.1} 变为 \textsf{Table 1.1}。 \end{function} \begin{function}[rEXP,added = 2021-01-05]{enstyle} 同时开启 \opt{newline}、\opt{entitle} 和 \opt{english} 三个选项以符合英文原生风格。 \end{function} \begin{function}[rEXP,added = 2021-01-05,updated = 2021-01-12]{font} \begin{syntax} font = \end{syntax} \changes{v1.21b}{2021/01/12}{默认字体与\CTeX 一致,不再是自定义字体。} 传递给 \cls{ctexbook} 设置字体,最好不要使用原有的 \opt{fontset} 选项,默认情况下使用自定义字体而不开启这个选项,可根据安装的字体及电脑系统选取。\opt{myfont} 与 \opt{none} 选项的相关描述见小节 \ref{subsec1},\opt{overleaf} 是一个各系统通用选项,会检测系统环境选取对应字体。 \end{function} \begin{function}[rEXP,added = 2021-01-05,updated = 2021-01-13]{paper} \begin{syntax} paper = <(a4paper)|b5paper|letterpaper|...> \end{syntax} 设置页面大小,交给 \pkg{geometry} 宏包处理,可使用它支持的所有规格。建议选项 \opt{b5paper} 和 \opt{zihao = 5},选项 \opt{a4paper} 和 \opt{zihao = -4} 配合。 \end{function} \section{接口选项} \begin{function}[added = 2021-01-05]{\ctexset} \begin{syntax} \tn{ctexset}\marg{键值列表} \end{syntax} \cls{easybook} 扩展了\CTeX 宏集\LaTeX 3风格键值的通用控制命令 \tn{ctexset},接口选项同样用它设置, 原有的键值列表仍然可用。 \end{function} \begin{function}[added = 2021-01-08]{config} \begin{syntax} config = <配置文件名> \end{syntax} \changes{v1.10}{2021/01/08}{加入载入用户配置选项。} \opt{config}为载入用户配置选项,配置文件名不需加括号但需带有后缀名如 \opt{tex}、\opt{def} 和 \opt{cfg}。 \end{function} \subsection{风格} \begin{function}[EXP,added = 2021-01-05,updated = 2021-01-12]{style/color,style/capdash,style/multoc,style/withpart,style/perchap,style/perpage} \begin{syntax} color = <(none)|forest|energy|cyberpunk> capdash = multoc = withpart = perchap = perpage = \end{syntax} \changes{v1.10}{2021/01/08}{更改颜色实现方式与选项名。} \opt{style} 选项控制文章的风格。 \end{function} \begin{optdesc} \item[color] 主题颜色,包括标题、页眉颜色等,选项 \opt{none} 为黑白页面,但不包括超链接。 \begin{function}{ctex@frame,ctex@emph,ctex@verb} \begin{syntax} \tn{definecolor}\oarg{类型}\marg{名称}\marg{模式列表}\marg{参数列表} \end{syntax} \changes{v1.10}{2021/01/08}{可以自定义主题颜色。} 主题颜色用到这三个颜色,可以使用 \tn{definecolor} 命令进行更改,类似地更改超链接颜色见小节 \ref{subsec3}。 \end{function} \item[capdash] 将图表代码标题风格由例如\textsf{图1.1}变为\textsf{图1\textendash 1}的形式。 \item[multoc] 开启双栏目录,可与 \opt{onecolumn} 和 \opt{twocolumn} 选项配合出单栏正文、单栏目录,双栏正文、单栏目录,单栏正文、双栏目录和双栏正文、双栏目录四种方式 。 \item[withpart] 使章跟随每一部分编号,默认不跟随。 \item[perchap] 使脚注跟随每一章编号,默认不跟随。 \item[perpage] 使脚注跟随每一页编号,默认不跟随。 \end{optdesc} \subsection{超链接}\label{subsec3} \begin{function}[EXP,added = 2021-01-05,updated = 2021-01-08]{link/hyperlink,link/linkcolor,link/linktopage} \begin{syntax} hyperlink = <(edge)|various|none> linkcolor = <(graphite)|cutepink|skyblue|crimson> linktopage = \end{syntax} \changes{v1.10}{2021/01/08}{修复了 \opt{linktopage} 选项关闭时目录中标题编号无超链接的问题。} \end{function} \begin{optdesc} \item[hyperlink] \opt{edge} 使超链接为边框形式,\opt{various} 使超链接为彩色字体,有四种颜色风格。\opt{none} 关闭超链接边框与颜色,此时 \opt{linkcolor} 选项无效。 \item[linkcolor] 超链接颜色样式。 \begin{function}{ctex@link,ctex@url,ctex@cite} \begin{syntax} \tn{definecolor}\oarg{类型}\marg{名称}\marg{模式列表}\marg{参数列表} \end{syntax}超链接颜色用到这三个颜色,可以使用 \tn{definecolor} 命令进行更改。 \changes{v1.10}{2021/01/08}{可以自定义超链接颜色。} \end{function} \item[linktopage] 将目录中的超链接置于页码上,默认是置于标题上。 \end{optdesc} \subsection{行距} \begin{function}[EXP,added = 2021-01-05,updated = 2021-01-12]{spread/linespread,spread/tabspread,spread/mathspread,spread/capspread,spread/fnspread,spread/fnsep} \begin{syntax} linespread = <(1.3)> tabspread = <(1)> mathspread = <(1)> capspread = <(1)> fnspread = <(1)> fnsep = <(0ex)> \end{syntax} \changes{v1.21b}{2021/01/12}{增加脚注线间的距离选项。} 除了 \opt{fnsep} 选项,其它是行距因子用于设置各种行距倍数,只能是浮点数,不能带有长度单位。\tn{ctexset} 原有的行距选项\opt{linespread}失效。各行距既可在导言区全局设置也可正文中设置对后面生效,行距的意义为 \end{function} \begin{optdesc} \item[linespread] 正文行距。 \item[tabspread] 表格行距。 \item[mathspread] 数学环境行距。 \item[capspread] 图表代码标题行距。 \item[fnspread] 脚注行距。 \item[fnspread] 脚注与脚注线间的距离,需带有长度单位。 \end{optdesc} \subsection{其它字体} \begin{function}[EXP,added = 2021-01-08]{elfont/tabfont,elfont/figfont,elfont/lstfont,elfont/fnfont,elfont/marfont} \begin{syntax} tabfont = <\tn{sffamily}\tn{small}> figfont = <\tn{sffamily}\tn{small}> lstfont = <\tn{sffamily}\tn{small}> fnfont = <\tn{rmfamily}> marfont = <\tn{rmfamily}\tn{footnotesize}> \end{syntax} \changes{v1.10}{2021/01/08}{加入自定义非正文字体选项。} \end{function} \begin{optdesc} \item[tabfont] 表格标题的字体设置。 \item[figfont] 图片标题的字体设置。 \item[lstfont] 代码标题的字体设置。 \item[fnfont] 脚注的字体设置,请不要使用字号命令。 \item[marfont] 边注的字体设置。 \end{optdesc} \subsection{参考文献} \begin{function}[EXP,added = 2021-01-11]{bibset/backend,bibset/bibstyle,bibset/citestyle,bibset/bibfile,\printbibliography} \begin{syntax} backend = <(bibtex)|biblatex> bibstyle = <(number)|authoryear|其它格式> citestyle = <引用格式> bibfile = \tn{printbibliography}\oarg{选项列表} \end{syntax} \changes{v1.21}{2021/01/11}{增加 \opt{bibset} 选项,可以使用 \hologo{BibTeX} 或 \hologo{biber} 编译参考文献。} \end{function} \begin{optdesc} \item[backend] 参考文献处理后端,默认用传统的 \hologo{BibTeX} 处理参考文献。 \item[bibstyle] 参考文献格式为中国的参考文献推荐标准GB/T 7714-2015,有顺序编码制和著者-出版年制两种风格,理工科类一般使用顺序编码制,文科类一般使用著者-出版年制。若使用其它格式,使用 \hologo{BibTeX} 处理时需确保正确的 \opt{bst} 文件,使用 \hologo{biber} 处理可使用 \pkg{biblatex} 宏包支持的参考文献风格名称。 \item[citestyle] 引用参考文献的格式,对 \opt{backend = bibtex} 选项\textsf{无效},可使用 \pkg{biblatex} 宏包支持的引用文献风格名称。 \item[bibfile] 参考文献的数据文件,使用 \hologo{biber} 处理时要带有 \opt{bib} 后缀,默认为一个在 \opt{ref} 文件夹中以 \opt{refs.bib} 命名的文件。 \item[\tn{printbibliography}] 两种方式\textsf{均使用}此命令打印参考文献,其中可选项仅在 \hologo{biber} 处理时有效。 \end{optdesc} \subsection{定理样式} \begin{function}[EXP,added = 2021-01-12]{thmset/thmbox,thmset/numberwith,thmset/headpunct,thmset/bodyfont,thmset/notefont,thmset/headindent,thmset/spaceabove,thmset/spacebelow} \begin{syntax} thmbox = numberwith = <(chapter)|section|其它环境|空置> headpunct = <(未设置)> bodyfont = <(未设置)> notefont = <(未设置)> headindent = <(0\tn{ccwd})> spaceabove = <(0.75ex plus .1ex)> spacebelow = <(0.75ex plus .1ex)> \end{syntax} \changes{v1.21b}{2021/01/12}{增加配置定理环境样式的选项。} \end{function} \begin{optdesc} \item[thmbox] 开启定理及习题环境的盒子边框。 \item[numberwith] 定理编号格式,默认跟随章的编号,也可以与其它定理环境共享编号,空置时不跟随其它计数器编号。 \item[headpunct] 定理标题后的标记。 \item[bodyfont] 定理内容部分的字体。 \item[notefont] 定理标题内容的字体。 \item[headindent] 定理标题的缩进,默认无缩进,可用 \tn{parindent} 命令设置为段落缩进。 \item[spaceabove] 定理环境前的间距。 \item[spacebelow] 定理环境后的间距。 \end{optdesc} \subsubsection{新的定理样式} 定理由 \pkg{thmtools} 设置,自带定理的样式为 \opt{mythm},如果使用这个样式而只是增加新的定理名称,可以这样 \begin{ctexexam} \declaretheorem[style = mythm,name = 定理名]{定理环境名} \end{ctexexam} 若要重新定义一个全新的定理样式,具体参数可以查看 \pkg{thmtools} 宏包帮助文档。 \subsection{页面边距} \begin{function}[EXP,added = 2021-01-13]{geoset/left,geoset/top,geoset/hmargin,geoset/textwidth,geoset/includehead,...} \begin{syntax} left = <长度> top = <长度> hmargin = \marg{左边距,右边距} textwidth = <长度> includehead = \end{syntax} \changes{v1.21c}{2021/01/13}{增加配置页面边距的选项。} \opt{geoset} 将选项交给 \pkg{geometry} 宏包接口命令 \tn{geometry} 处理,并且选项的键值列表与之相同,支持的参数可查阅宏包帮助文档。当在此设置页面大小时,会覆盖 \opt{paper} 选项的设置。 \begin{ctexexam} \ctexset { geoset = { top = 2.5cm, bottom = 2.5cm, left = 3.2cm, right = 3.2cm } } \end{ctexexam} \end{function} \subsection{页眉页脚} \begin{function}[EXP,added = 2021-01-13]{hdrset/elhead,hdrset/echead,hdrset/ochead,hdrset/orhead,hdrset/olfoot,...} \begin{syntax} elhead = \tn{color{ctex@frame}}\tn{thepage} echead = \tn{color{ctex@frame}}\tn{kaishu}\tn{leftmark} ochead = \tn{color{ctex@frame}}\tn{kaishu}\tn{rightmark} orhead = \tn{color{ctex@frame}}\tn{thepage} olfoot = <未设置> \end{syntax} \changes{v1.21}{2021/01/11}{修复单面文档时页眉横线消失的问题。} \changes{v1.21c}{2021/01/13}{增加配置页眉页脚的选项。} \opt{hdrset} 将选项交给 \pkg{fancyhdr} 宏包页面风格命令 \tn{fancyhf} 处理,\pkg{fancyhdr} 将页眉页脚分成左中右和奇数页(odd)、偶数页(even)共12个部分,所以设置了对应的12个选项。\opt{head} 与 \opt{foot} 表示页眉与页脚区域,前缀e、o代表偶数、奇数,前缀l、c、r代表左、中、右部分。单面打印时,偶数前缀的选项无效。 \begin{ctexexam} \ctexset { hdrset = { erhead = \leftmark, elhead = \textbf{\thepage}, olhead = \rightmark, orhead = \textbf{\thepage} } } \end{ctexexam} \end{function} \subsection{目录样式} \begin{function}[EXP,added = 2021-01-13]{tocset/.../format,tocset/.../indent,tocset/.../rule,\tocrule} \begin{syntax} format = <目录标题格式> indent = <目录标题左边缩进> rule = <目录引导线样式> \tn{tocrule} = \oarg{引导点间距}\oarg{引导点大小}\marg{引导点}\oarg{页码格式} \end{syntax} \changes{v1.21c}{2021/01/13}{增加配置目录样式的选项。} \opt{tocset} 将目录样式交给 \pkg{titletoc} 处理,预置了 \opt{part}、\opt{chapter}、\opt{section}、\opt{subsection} 和 \opt{lists} 五种级别的目录标题,键值列表中的...代表它们。\opt{lists} 为图片、表格和代码目录格式的级别。\tn{tocrule} 命令生成目录引导线,需要在 \opt{rule} 选项中使用,其中引导线间距需带有长度单位,引导点大小不带单位,为引导点符号正常大小的倍数,引导点一般为英文句号或 \tn{cdot} 中心点符号。页码格式的内容位于页码前面,可以设置页码字体、距离。 \begin{ctexexam} \ctexset { tocset = { chapter = { format = \addvspace{8pt}\large, indent = 1.5\ccwd, rule = \tocrule[0.6pc][1.1]{.}[\zihao{5}] } } } \end{ctexexam} \end{function} \section{常用环境} \subsection{公式} \begin{function}[added = 2021-01-05]{equation,multline,gather,align} \begin{syntax} \tn{begin}\marg{环境名} \tn{item} <行间公式> \tn{end}\marg{环境名} \end{syntax} \opt{amsmath} 宏包提供了一系列数学环境,它们可以排布各种对齐或不对齐的公式组。\opt{multline} 环境用于一行无法放下的长公式,\opt{gather} 环境用于每行居中的公式组,\opt{align} 环境用于多列对齐的公式组。 \end{function} \subsection{列表} \begin{function}[added = 2021-01-05]{enumerate,itemize,description} \begin{syntax} \tn{begin}\marg{环境名}\oarg{键值列表} \tn{item} <列表内容> \tn{end}\marg{环境名} \end{syntax} \pkg{enumitem} 宏包为系统自带的列表环境提供了更灵活的标签以及间距的控制。已设置默认格式,若自定义标签可例如 \begin{ctexexam} \begin{enumerate}[label = \arabic*(a),leftmargin = 1cm,resume] \begin{itemize}[label = \textbullet] \begin{description}[font = \sffamily\bfseries,style = nextline] \end{ctexexam} \end{function} \subsubsection{排序列表}\label{ssubsec1} 使用 \opt{enumerate} 环境可创建排序列表,使用 \opt{enumerate*} 环境产生行内部列表,可以使用\textsf{A、a、I、i和1}作为可选项为 \opt{enumerate} 与 \opt{enumerate*} 格式化标签。若生成\textsf{Item I、Item II、Item III}格式可以这样 \begin{ctexexam} \begin{enumerate*}[(a)] \begin{enumerate}[\bfseries{Item} I] \end{ctexexam} \subsubsection{常规列表} 使用 \opt{itemize} 环境可创建不计数列表,列表环境中若换行不缩进,若在列表中分段后则缩进两字符。 \opt{itemize*} 为行内常规列表,也提供一个可选参数。 用$\star$取代默认的符号 \begin{ctexexam} \begin{itemize*}[$\star$] \begin{itemize}[$\star$] \end{ctexexam} \subsubsection{主题列表} 使用 \opt{description} 环境可创建带有主题词的列表。 \begin{ctexexam} \begin{description} \item[主题一] 内容一 \item[主题二] 内容二 \end{description} \end{ctexexam} \subsection{定理} \begin{function}[added = 2021-01-05,updated = 2021-01-08]{theorem,definition,lemma,corollary,proposition,example,remark,proof} \begin{syntax} \tn{begin}\marg{环境名} <定理内容> \tn{end}\marg{环境名} \end{syntax} 定理环境除了注和证明跟随章编号并可带有边框,边框和习题标题盒子可使用 \opt{thmbox = false} 开启,证明末尾会自动添加证明结束符。 \end{function} \subsection{习题} \begin{function}[added = 2021-01-05]{exercise} \begin{syntax} \tn{begin}\marg{exercise}\oarg{颜色名}\oarg{编号}\oarg{标题} \tn{item} <习题内容> \tn{end}\marg{exercise} \end{syntax} 习题环境 \opt{exercise} 的标题紧接上一节编号并加入目录与页眉,当使用星号环境时不进行编号。三个可选参数中颜色为自定义或 \pkg{xcolor} 包含的颜色名称(深色),正文编号格式与小节 \ref{ssubsec1} 排序列表相同,标题名默认为摘要,参数只能\textsf{从右往左}省略。 \begin{ctexexam} \begin{exercise}[black][1.][习题] \item 习题内容 \item 习题内容 \end{exercise} \end{ctexexam} \end{function} \subsection{盒子} \subsubsection{摘要盒子} \begin{function}[added = 2021-01-05]{outline} \begin{syntax} \tn{begin}\marg{outline}\oarg{标题名称} \tn{item} <摘要内容> \tn{end}\marg{outline} \end{syntax} 摘要盒子可用于章前摘要,它的标题是可选参数,默认标题是摘要。 \begin{ctexexam} \begin{outline}[标题名称] \item 摘要内容 \item 摘要内容 \end{outline} \end{ctexexam} \end{function} \subsubsection{段落盒子} \begin{function}[added = 2021-01-05]{mybox} \begin{syntax} \tn{begin}\marg{mybox}\oarg{段落标题} <盒子内容> \tn{end}\marg{mybox} \end{syntax} 环境 \opt{mybox} 创建一个段落盒子,可以添加可选参数的标题,否则无标题框。带有星号的环境会生成浅灰背景,否则是纯白背景。 \begin{ctexexam} \begin{mybox}*[段落标题] 盒子内容 \tcblower % 盒子上下部分分界线 盒子内容 \end{mybox} \end{ctexexam} \end{function} \subsubsection{行内盒子} \begin{function}[added = 2021-01-05]{\concise,\fuzzy} \begin{syntax} \tn{concise}\oarg{颜色名}\oarg{配置}\marg{内容} \tn{fuzzy}\oarg{颜色名}\oarg{配置}\marg{内容} \end{syntax} 设置了两个参数选项相同的行内盒子,盒子 \opt{concise} 可以为抄录盒子有三个参数,行内盒子内容是必选参数其他可选。盒子 \opt{fuzzy} 不是抄录盒子,具有模糊边缘类似高亮的效果。 \end{function} \section{其它格式} \subsection{代码} \begin{function}[added = 2021-01-05]{\lstinline,lstlisting,\listoflistings} \begin{syntax} \tn{lstinline}\oarg{键值列表}\marg{行内代码} \tn{begin}\marg{lstlisting}\oarg{键值列表} <行间代码> \tn{end}\marg{lstlisting} \end{syntax} 使用 \pkg{listings} 宏包可以对代码格式进行高度定制,\tn{listoflistings} 命令用于输出代码目录。 \end{function} \subsection{物理量} \begin{function}[added = 2021-01-05]{\num,\si,\SI} \begin{syntax} \tn{num}\oarg{选项}\marg{数字} \tn{si}\oarg{选项}\marg{单位} \tn{SI}\oarg{选项}\marg{数字}\oarg{前缀}\marg{单位} \end{syntax} \pkg{siunitx} 宏包的 \tn{num} 命令可以输出科学计数法,而 \tn{SI} 命令可用来输出带有单位的量,\tn{si} 命令支持数学模式,可以代替数学行内公式输入。 \begin{ctexexam} \num{-21x.3e5} \si{mL.min^{-1}} \SI{5}{\mole} \end{ctexexam} \end{function} \subsection{化学式} \begin{function}[added = 2021-01-05]{\ch,\chemfig} \begin{syntax} \tn{ch}\oarg{选项}\marg{输入} \tn{chemfig}\oarg{键值列表}\marg{分子代码} \end{syntax} 除了以普通公式的方式,化学式还可用 \pkg{chemformula} 实现,无机化学式使用 \tn{ch} 命令书写。有机化学式推荐使用 \pkg{chemfig} 的 \tn{chemfig} 命令完成。 \end{function} \subsection{引用} \begin{function}[added = 2021-01-05]{\cref} \begin{syntax} \tn{cref}\marg{标签} \end{syntax} 使用 \pkg{cleveref} 宏包的 \tn{cref} 命令进行引用,将会自动检测环境并添加相应的前缀。 \end{function} \subsubsection{索引} \begin{function}[added = 2021-01-05]{\index,\printindex} \begin{syntax} \tn{index}\marg{标签} \tn{printindex}\oarg{索引名} \end{syntax} 使用 \pkg{imakeidx} 生成索引,\tn{printindex} 命令用于生成索引目录。仅做了简单的设置如将索引设为双栏并加入目录,其他选项可另外配置。 \end{function} \subsubsection{脚注} \begin{function}[added = 2021-01-05]{\Footnote,\Footnotetext,\Footnotemark} \begin{syntax} \tn{Footnote}\marg{标记}\marg{插入文本} \tn{Footnotetext}\marg{标记}\marg{插入文本} \tn{Footnotemark}\marg{标记} \end{syntax} 自定义标记且不影响正常编号的脚注命令。 \begin{ctexexam} \Footnote{*}{这是可以自定义标记的脚注。} \end{ctexexam} \end{function} \subsubsection{边注} \begin{function}[added = 2021-01-05]{\marginnote} \begin{syntax} \tn{marginnote}\oarg{左文本}\marg{右文本}\oarg{垂直偏移} \end{syntax} 命令 \tn{marginnote} 可以生成简单的边注,如果只给定了\meta{右文本},那么边注在奇偶数页文字相同。如果同时给定了\meta{左文本},则偶数页使用\meta{左文本}的文字。 \end{function} \IndexLayout \PrintChanges \PrintIndex \end{document}