LaTeX教材排版-03:OptionsAndPackages.tex文件说明
LaTeX教材排版-03:OptionsAndPackages.tex文件说明
OptionsAndPackages.tex这个文件的作用有两个,一个是自定义了一些文类的选项,根据这些选项做对应的设置,包括调用Book文类等;一个是导入需要用到的宏包。
文件内容如下:
\newif\ifistwoside\istwosidefalse
\DeclareOption{twoside}{\istwosidetrue} %用于判断是否使用双面排版,默认不使用
\newif\ifisopenright\isopenrightfalse
\DeclareOption{openright}{\isopenrighttrue} %用于章是否从右侧开始,默认不使用
\newif\ifshowanswer\showanswerfalse
\DeclareOption{showanswer}{\showanswerfalse} %用于设置是否显示作业题的答案,默认为不显示
\newif\ifFloatCountedByPart\FloatCountedByPartfalse
\DeclareOption{FloatCountedByPart}{\FloatCountedByParttrue} %用于设置浮动体是否使用部的编号进行图片和表格的编排,默认不使用
\newif\ifshowtodonotes\showtodonotesfalse
\DeclareOption{ShowTODO}{\showtodonotestrue} %用于设置是否显示todo的内容,默认不显示
\ProcessOptions\relax
\ifistwoside %根据条件加载book文类
\ifisopenright
\LoadClass[twoside,openright]{book}
\else
\LoadClass[twoside,openany]{book}
\fi
\else
\ifisopenright
\LoadClass[oneside,openright]{book}
\else
\LoadClass[oneside,openany]{book}
\fi
\fi
\RequirePackage[heading=true,sub3section,sub4section]{ctex}%用于处理中文,同时将章节标题设置为中文风格,并修改\paragraph和\subparagraph的格式
\RequirePackage{graphicx} %用于插入图片
\RequirePackage{listings} %用于插入抄录环境,我在原始listings包上修改了\def\lst@visiblespace的定义,便于在多种字体下显示空格。
\RequirePackage{xeCJKfntef} %用于给中文添加下划线,并且可以换行,也可以只划线而不显示文字(设置hidden为true)
\RequirePackage{bbding} %用于画判断题的对错符号
\RequirePackage{gbt7714} %处理参考文献
\RequirePackage{calc} %处理数学计算
\RequirePackage{geometry} %版式设置
\RequirePackage[x11names]{xcolor} %定义颜色
\RequirePackage{enumitem} %设置列表环境的格式和间距
\RequirePackage[explicit,compact]{titlesec} %用于设置标题间距
\RequirePackage[section]{placeins} %使用floatbarrier命令来控制浮动体的排版
\RequirePackage{booktabs} %用于排版三线表格
\RequirePackage[longtable]{multirow} %多行环境
\RequirePackage{longtable} %用于排版跨页表格
\RequirePackage{tabularx} %用于排版可自动调整宽度的表格
\RequirePackage{ragged2e} %提供\Centering,解决表格换行时居中对齐的问题
\RequirePackage[obeyDraft,draft,colorinlistoftodos]{todonotes} %排版待办事项
\RequirePackage[figurewithin = section,tablewithin = section]{caption} %图表在节内编号
\RequirePackage{subfig} %排版并排的子图形
\RequirePackage[subfigure]{tocloft} %定制目录的格式
\RequirePackage{float} %为浮动体提供H选项
\RequirePackage[Export]{adjustbox} %限制浮动体的最大宽度和最大高度
\RequirePackage{seqsplit} %允许超长英文字符串在任意位置换行
\RequirePackage[hidelinks]{hyperref} %创建书签
\RequirePackage{url} %排版网址
\RequirePackage{lineno} %在PDF中显示行号
\RequirePackage{endnotes}%排版尾注
\RequirePackage{tikz} %用于画图
\usetikzlibrary{positioning} %用于在画图时定位节点
\usetikzlibrary{shadings} %用于在画图时设置渐变填充
\usetikzlibrary{shapes.geometric}
\RequirePackage{xstring}%用于处理字符替换
\RequirePackage{fancyhdr} %设置页眉页脚