有关宏包的说明:可以把…MiKTeXTeXMFdoc文件夹移到另外的地方以方便查阅下面各种宏包的使用说明。
宏包的兼容性与宏包的顺序有关,一般不应改动下面宏包的前后顺序。
一般情形下的必用宏包
1 2 3 4 |
usepackage{textcomp} usepackage{latexsym,amssymb,amsmath} usepackage{CJK,CJKnumb} %其中CJKnumb用在fancyhdr宏包时,CJK 这个环境可以在preamble里使用, %但要记得在begin{document}之前关掉之后可以再另外打开一个新的 CJK 环境. |
其他 miktex 自带选用宏包
包括: 图形宏包, 公式宏包, 表格宏包, 页面设置宏包, 特殊文本元素宏包
1 2 3 4 5 |
%usepackage{ifpdf} %切换latex和pdflatex命令编译 %usepackage{china2e} %特殊的汉字字符 usepackage{makeidx}makeindex %产生方式是用命令(pdf)latex,(pdf)latex,texify,(pdf)latex |
图形宏包
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
ifxpdfoutputundefined %即可用latex或pdflatex编译 usepackage[dvips]{graphicx} else usepackage[pdftex]{graphicx} fi%将eps或pdf都放在当前目录的figures子目录下, 在文中用graphicspath{{figures/}} usepackage[centerlast]{caption2}%图形宏包, 下面的设置在我这儿有一点冲突, 所以弃用 %usepackage[subfigure,caption2]{ccaption}%构造连续标题,无标题,双语标题或匿名标题 usepackage{color}%彩色文本、底色、文本框等等色彩支持(这个宏包只能放在这里,否则通不过编译) definecolor{lightgray}{gray}{.80}%colorbox{lightgray}{vbox{}} %usepackage{epic} %usepackage[all]{xy} usepackage{floatflt}%可把图表和文字混排, 其中[p]可选 %begin{floatingfigure}[p]{40mm}centeringcaption{}end{floatingfigure} %begin{floatingtable}[p]{begin{tabular}end{tabular}}caption{}end{floatingtable} %usepackage{overpic}%将LaTeX对象放置在图上 %usepackage{pstricks}%Posts cript macrosfor Generic TeX(我没用过,据说很强),在pdf下要用pdftricks %usepackage{Picins}%图形放在正文行中 usepackage{bez123,fancybox}%latexcad/mytexcad所需要的宏包 usepackage{mytexcad}%%mytexcad是修改latexcad后的非Miktex宏包,也可用自带的latexcad. %我想在latex和pdflatex下都能正常显示编译结果,这时把它换成bez123宏包中的相应命令即可. %另外,改动一下latexcad.sty内的宏命令,把drawpath 命令中的path 改为lbezier. %建议把latexcad图中的内容复制过来,并在begin{picture}前加centeringsetlength{unitlength}{1mm} %usepackage{picinpar}%图表和文字混排宏包 %usepackage[verbose]{wrapfig} %图表和文字混排宏包 %usepackage{pspicture}%绘制任意角度和粗细的线段以及不限大小的圆,在PDF下不能用 %usepackage{eso-pic}%向文档的所有页或部分页加n副图形, 可实现水印效果 %usepackage{eepic}%扩展的绘图支持 %usepackage{curves}%绘制复杂曲线 %usepackage{texdraw}%增强的绘图工具 %usepackage{treedoc}%树形图绘制 %usepackage{pictex}可以画任意的图形 |
公式宏包
1 2 3 4 5 6 7 8 9 10 11 12 |
usepackage[amsmath,thmmarks]{ntheorem}%定理类环境宏包,其中amsmath选项用来兼容AMS LaTeX的宏包 usepackage{cases}%begin{numcases}{|x|=}x,&for$xgeq0$\-x,&for$x<0$end{numcases} usepackage{subeqnarray}%多个子方程begin{subeqnarray}label{eqw}slabel{eq0}\ slabel{eq1}end{subeqnarray} %usepackage{bm}%处理[数学公式](http://wenwen.soso.com/z/Search.e?sp=S%E6%95%B0%E5%AD%A6%E5%85%AC%E5%BC%8F&ch=w.search.intlink)中的黑斜体 usepackage{pmat}%分块矩阵的虚线,非miktex宏包,兼容性很好 iffalse begin{pmat}[{.|}] a_{11} & a_{12} & b_{11} cr a_{21} & a_{22} & b_{21} cr- c_{11} & c_{12} & d_{11} cr end{pmat}fi usepackage{blkarray}%另一种分块矩阵 |
表格宏包
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
usepackage{threeparttable}%表格内的脚注, 用法为 iffalse% begin{table}centering begin{threeparttable}caption{...} begin{tabular}{ll}% or {tabular*} ...tnote{1}&.... ... end{tabular} begin{tablenotes} item [1] the first note ... end{tablenotes} end{threeparttable} end{table}fi% usepackage{rotating}%用法begin{sidewaystable}....end{sidewaystable}即可旋转表格 usepackage{longtable}%,不推荐用这个,而推荐用下面这一个 usepackage{supertabular} usepackage{tabls} usepackage{hhline}%在表格中用 hhline 得到的结果就如同hline 或%hlinehline,当然在和垂直线的交叉处会有所不同. usepackage{slashbox}% 可在表格的单元格中画上一斜线. newcommand{centpcol}{leftskipfill rightskipfill}%制表使可用p{ncm}设置栏宽,还使本栏居中 %举例multicolumn{1}{p{3.5cm}|}{centpcol Same as previous response} %usepackage{colortbl}%彩色表格 %usepackage{dcolumn}%让表格中将小数点对齐 usepackage{bigstrut,bigdelim,multirow}%表格多行合并, 矩阵的边注 newcommand{myminitab}[2][l]{begin{tabular}{#1}#2end{tabular}} %比如两行合并可分为以下几种情况 %multirow{2}{1in}{Common g text}%行之间无横线,但要指列的定宽度; %multirow{2}[4]*{Common g text}%行之间有横线; %multirow{2}[4]{1in}{Common g text}%行之间有横线,但要指列的定宽度; %multirow{2}*{myminitab[c]{Common \ g text}}%合并的文本要手动断行 |
页面设置宏包
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
usepackage{geometry}%可以自定义页面设置 usepackage{titlesec,titletoc}%配合命令在后面,章节标题设置 usepackage{multicol,multienum}%多栏结构在文中用begin{multicols}{2}end{multicols} %多列编号用法为(可嵌套使用): %begin{multienumerate} %mitemxxxx{Not}{Linear}{Not}{Quadratic} %mitemxxxo{Not}{Linear}{No; if $x=3$, then $y=-2$.} %mitemxx{$(x_1,x_2)=(2+dfrac{1}{3}t,t)$ or %$(s,3s-6)$}{$(x_1,x_2,x_3)=(2+dfrac{5}{2}s-3t,s,t)$} %end{multienumerate} usepackage[perpage,stable]{footmisc} %让脚注在每一页重新编号和在章节、标题上加脚注 %usepackage[perpage,symbol*]{footmisc} %把脚注(footnote)的编号去掉 usepackage{indentfirst}%indent every new paragraph usepackage{fancyhdr}% Modify the page headings of book usepackage{fancyvrb} usepackage{pageno}%章首页的页眉处理, 可以改为自己想要的形式 %usepackage{pifont} %有很漂亮的带圈的各种[数字符号](http://wenwen.soso.com/z/Search.e?sp=S%E6%95%B0%E5%AD%97%E7%AC%A6%E5%8F%B7&ch=w.search.intlink)使用,也可用textcircled{}命令,参考如下命令: %Large{textcircled{small{12}}},textcircled{九},textcircled{}不需要任何宏包即可使用,推荐 usepackage{atbeginend}%非Miktex宏包,可以注掉,能解决比如itemize,enumerate等列表中item之间的控制 %AfterBegin{itemize}{addtolength{itemsep}{-0.5baselineskip}} %AfterBegin{enumerate}{addtolength{itemsep}{-0.5baselineskip}} %AfterBegin{description}{addtolength{itemsep}{-0.5baselineskip}} %usepackage{appendix}%附录宏包 |
特殊文本元素宏包
1 2 3 4 5 6 7 8 9 10 11 12 13 |
usepackage{everb} usepackage{ulem,CJKulem}%比如uwave{wave ne}等命令,注意会改写em命令 %超级链接宏包, 以下设置可去掉链接的[下划线](http://wenwen.soso.com/z/Search.e?sp=S%E4%B8%8B%E5%88%92%E7%BA%BF&ch=w.search.intlink)形式 usepackage[draft=false,colorlinks=true,CJKbookmarks=true, linkcolor=black,citecolor=black,urlcolor=black]{hyperref}%这是印刷的需要,平时就改black为blue usepackage[numbers,sort&compress]{natbib} usepackage{hypernat} makeatletter newcommand{ucite}[1]{$^{mbox{scriptsize cite{#1}}}$}%[参考文献](http://wenwen.soso.com/z/Search.e?sp=S%E5%8F%82%E8%80%83%E6%96%87%E7%8C%AE&ch=w.search.intlink)的引用为上标形式的自定义 %providecommand*{toclevel@defn}{0}%去掉一些无关紧要的警告信息 makeatother |
用以下四个宏包之一能使(pdf)latex自动不嵌入相应的系列字体,减少PDF或DVI文件的大小并提高pdf的效果:
%其中times宏包还能自由定义字号大小
1 2 3 4 5 6 7 8 9 10 11 12 |
usepackage{times} %-- Times Roman + Helvetica + Courier %usepackage{palatino} %-- Palatino + Helvetica + Courier %usepackage{newcent} %-- New Century Schoolbook + Avant Garde + Courier %usepackage{bookman} %-- Bookman + Avant Garde + Courier usepackage{balance} �lance the last two columns in twocolumn mode(命令为balance) usepackage{delarray}%使array环境的[t]或者[b]选项生效,并可解决表格中的文字上下位置不对的问题 %由于重新定义array,所以须放在array后面,使用方法为$$abegin{array}[t][{c}]b\dend{array}c$$ usepackage{mdwlist}%用{itemize*}等来减少竖直距离a |