TeX 使用指南(常见问题).doc_第1页
TeX 使用指南(常见问题).doc_第2页
TeX 使用指南(常见问题).doc_第3页
TeX 使用指南(常见问题).doc_第4页
TeX 使用指南(常见问题).doc_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

TeX 使用指南常见问题(一) 1.makeatletter 和 makeatother 的用法?答:如果需要借助于内部有字符的命令,如addtoreset,就需要借助于另两个命令makeatletter, makeatother。下面给出使用范例,用它可以实现公式编号与节号的关联。beginverbatimdocumentclassarticle.makeatletter % is now a normal letter for TeXrenewcommandtheequationthesection.arabicequationaddtoresetequationsectionmakeatother % is restored as a non-letter character for TeXbegindocument.endverbatim2.比较一下CCT与CJK的优缺点?答:根据王磊的经验, CJK 比 CCT 的优越之处有以下几点:1) 字体定义采用 LaTeX NFSS 标准,生成的 DVI 文件不必像 CCT 那样需要用 patchdvi 处理后才能预览和打印。而且一般 GB 编码的文件也不必进行预处理就可直接用 latex 编译。2) 可使用多种 TrueType 字体和 Type1 字体,生成的 PDF 文件更清楚、漂亮。3) 能同时在文章中使用多种编码的文字,如中文简体、繁体、日文、韩文等。当然,CCT 在一些细节上,如字体可用中文字号,字距、段首缩进等。毕竟 CJK 是老外作的吗。谈到 MikTeX 和 fpTeX, 应该说谈不上谁好谁坏,主要看个人的喜好了。 MikTeX 比较小,不如 fpTeX 里提供的 TeX 工具,宏包全,但一般的情况也足够了。而且 Yap 比 windvi 要好用。fpTeX 是 teTeX 的 Windows 实现,可以说各种 TeX 的有关软件基本上都包括在内。3.中文套装中如何加入新的.cls文件?答:放在tex文件的同一目录下,或者miktex/localtexmf/tex/latex/下的某个子目录下,可以自己建一个。4.怎样象第几章一样, 将参考文献也加到目录?答:在参考文献部分加入addcontentslinetocchapter参考文献语句即可5.对于A4的纸型参数,如何使PDFLaTeX按照指定的letter输出?答:设置参数letterpaper usepackageletterpapergeometry6.如何改变题注或脚注的标号?答:重新定义maketitle或者直接修改article.cls中的“renewcommandthefootnotefnsymbolcfootnote%”这句话。7.怎么给CJKnumber付初值?答:计数器都是这样赋值的 setcounterCJKnumbervalue8.怎样才能使Winedt错误关联?答:C:?winedtwinedt.exe Open(%f);SelLine(%l,8)9.如何改变Reference的大小?答:renewcommandrefnamebeginCJK*GBsongsmall参考文献endCJK*10.如何拷贝PDF和PS文件中的图片?答: Adobe Acrobat中有专门的命令“文件”“导出”“提取图象为”。当然用选中区域再拷贝的方法也可以。实际上ps文件本身就可以被不少的图像处理软件打开,然后就可以直接转换了。对于不支持ps文件的图像处理软件,则可以把ps文件转存为eps文件,eps文件几乎可以被所有的图像/图形处理软件打开。11.在左边列出输入的命令,在右边列出输出的排印结果,应该用什么命令?答:分栏,然后用beginverbatimTextendverbatim如果做成表格形式,用verb=Text=12.如何用数字而非特定符号分段落?答:用enumerate13.如何在参考文献加入脚注?答:例如beginthebibliography0bibitemcompanion M.Goossens, F.Millelbach, and A.Samarin, TheLaTeX Companion, Addison-Wesley, 1994 footnotetest of footnoteendthebibliography14.如何在章节、标题上加脚注?答:使用protectfootnote.命令,也可用usepackagestablefootmisc15.正文中实现单栏到双栏,双栏到单栏的版式的混排,而且不换页,请问如何实现? 答:usepackagemulticolbegindocument.beginmulticol2endmulticol.enddocument16.辅助的Package放到哪个目录下?答:不过非 miktex 自带的包最好放在 localtexmf 下,这样以后升级的时候方便些。17.如何用fancyhdr宏包实现在页眉下画一粗一细两条横线?答:试试下面的命令: usepackagefancyhdrnewcommandmakeheadrule% makebox0ptlrule.7baselineskipheadwidth0.8pt%rule.6baselineskipheadwidth0.4ptvskip-.8baselineskipmakeatletter renewcommandheadrule% iffancyplainletheadrulewidthplainheadrulewidthfi makeheadrulemakeatotherbegindocumentpagestylefancy.enddocument18.能不能改变Chapter 起始页码仅从奇数页开始?答:用 documentclassopenanybook 让 chapter 可以从任何页面开始。19.如何在文中实现带圈的数字?答:1)使用textcircled命令,后面的参数可以是一个字符或者汉字(配合CJK),甚至也可以是公式,但是它只会给第一个字符或者汉字加上 合适的圆圈,字体放缩命令对它也有效,因此可以利用这点实现两个字符加圈的效果,但是需要仔细的调整尺寸,参考如下命令: Largetextcircledsmall12、textcircled九。 2)使用pifont宏包,那里面有很漂亮的带圈的各种数字符号(仅限于阿拉伯数字,如果想使用加圈的中文“一”至“九”就不行了)。在.tex 文件中尝试下列命令:ding172ding211。 3)在GB和GBK字库中本来就有10个加圈数字形式,可以直接在CJK中使用。如果不超过11的话应该够用了呵呵:,这些汉 字可以直接使用数字软键盘输入(以智能ABC输入法为例,其实大部分输入法都是一样的):打开软键盘,选择“数字序号”即可看到。20.如何产生可变长的 Longrightarrow?答:用xleftarrow and xrightarrow,例如0 xleftarrowzetaalphaFtimestrianglen-1xrightarrowpartial_0alpha(b)Epartial_0b21.如何在公式中表示上下堆积关系?答:在latex有一个命令stackre上部符号下部符号,但更好的一个是用宏包amslatex中命令overset和underset。一个例子是 overset*X qquadunderset*X qquadoversetaundersetbX 常见问题(二) 1。怎样在多栏环境中使用单栏图表? 答:如果你在多栏环境中使用 beginfigure . endfigure, 图形是不会出现的。如果你用另外的命令 beginfigure* . endfigure*, 图形就会超出右边或有页的上边。解决的方法是把下面命令放在 begindocument前面makeatletternewenvironmenttableheredefcaptypetablenewenvironmentfigureheredefcaptypefiguremakeatother然后用 figurehere 和 tablehere 在你平常用 figureh. 和 tableh.的地方。2。怎样得到度(degree)的符号?答:在begindocument 前面用 newcommandgradensuremathcirc ,然后你在文中就可用 45grad等等了。3。怎样得到一个欧元符号?答:用usepackagetextcomp 和 texteuro 或 usepackagemarvosym 和 EUR都可以。4。当我应用fancyhdr时,我得到了太多Overfull vbox 的信息?答:这是因为缺省的标题空间太小的原因(文本的一行),不能包括fancy标题(1 line of text + 1 rule)。在导言里面加addtolengthheadheight2.5pt即可。5。当我用 fancyhdr时,左边和右边的题有交叉重合? 答:这是因为section 等命令中的文本太长的原因,可用类似sectionshort versionvery long version indeed来解决问题。6。怎样从两栏页面中得到单栏的标题和摘要?答:试试Donald Arseneau的 documentclassarticle.begindocumenttwocolumnbegintwocolumnfalsemaketitle beginabstract.endabstractendtwocolumnfalse7。怎样改变只有几行文本的页边距?答:把以下命令放在begindocument前面newenvironmentnarrow2% beginlist% setlengthtopsep0pt% setlengthleftmargin#1% setlengthrightmargin#2% setlengthlistparindentparindent% setlengthitemindentparindent% setlengthparsepparskip% % itemendlist 然后 beginnarrow1.0in0.5in . endnarrow 就产生了左边缩小1.0 英寸 和右边缩小 0.5 英寸的效果 8。我的文本在开始时就停止不编译? 答:这是因为每一次文本编译时都有对应的*.aux文件(前一次产生的),所以删去这个文件重新编译即可。 9。在eps上加公式的另一个方法。答:1)建一个eps图形;2)在你所想放置的地方写下文本(如公式);3)在latex文本中用命令 usepackagepsfrag ;4)用命令 psfragformulasome text $sum_1infty int fraca2b_i$ 让latex为做工作。例如documentclass12ptarticleusepackagepsfragusepackageepsfigbegindocumentbeginfigurebegincenterpsfragformula1some text $sum_1infty int fraca2b_i$psfragformula2other text $int_0fraca2b sqrtc$epsfigfile=example.eps, width=12cmendcentercaptionThe example figurelabelexamplendfigureenddocument10。怎样把一个大表格横向放置?答:用宏包usepackagerotating,然后变换 begintable.endtable为 beginsidewaystable.endsidewaystable注意这个旋转很可能在你的预览中不会再现。11。关于itemize。答: 清单至多有四级$bullet$ - labelitemitextbf - - labelitemii$ast$ - labelitemiii$cdot$ - labelitemiv你可重新定义 deflabelitemi$spadesuit$renewcommandlabelitemi$spadesuit$也可在itemize 环境中item命令中同时拥有不同的标签beginitemizeitem$heartsuit$ .item$diamondsuit$ .item$clubsuit$ .enditemize数字序列至多四级顺序可显示,如1,2 . - enumi(a), (b) . - enumiii,ii,. - enumiiiA., B. . - enumiv你也可指明选项,如 beginenumerateitem(1)item(2) .endenumerate12。我怎样重新定义items之间的距离?答:用miktex2.1中的mdwlist宏包,也可从CTAN的macros/latex/contrib/supported/mdwtools.zip 上下载后。13。怎样改变行距?答:用doublespace宏包,参数coef是baselinestretch文本中定义数值,则可用命令beginspacingcoef % coef=2 时双倍行距了. textendspacing14。 怎么定义一个定理型环境? 答:用theorem宏包,例子: newtheoremhowtoQuestionssectiontheoremstylechangetheorembodyfontitshapetheoremheaderfontscshape15。怎样在latex中包括一每列的源文件?答:例如 floatstyleboxedrestylefloatfigurebeginfigurehbbeginlisting1i nclude int main(int argc, char *argv)int i;for (i = 0; i argc; +i)printf(argv%d = %sn, i, argvi);return 0;endlistingcaptionA numbered C programendfigure16。怎样把附录A中的公式序号变为 A.1, A.2, . B.1, B.2, .的形式? 答: appendixmakeatletterrenewcommandtheequationA.arabiccequation makeatothersetcounterequation0或者 renewcommandtheequationA.arabicequation17。怎样把一个 vertatim 放入 verbatim环境中?答:用fancyvrb宏包定义自己的 verbatim环境。 18。怎样改变主文本中的字体? 答:命令: textnorml;申明: normalfontttfamiliy19。怎样定义一个命令或申明 ? 答:例如一个命令: newcommandname1textsc#1 一个申明: newcommandname1normalfontscshape #120。怎样合并字体命令? 答: textrm. rmfamily. roman familiytextsf. sffamliy. sans serif familytexttt. ttfamily. typewritter familytextmd. mdserier. medium seriestextbf. bfseries. bold seriestextup. upshape. upright shapetextit. itshape. italic shapetextsl. slshape. slanted shapetextsc. scshape. small caps shapesize tiny scriptsize footnotesize small normalsize largeLarge LARGE huge Hugeemph. em . emphasizedtextnormal. normalfont. document font21。 怎样在页眉和页脚中划一道横线? 答:用 fancyhdr宏包。 22。怎样改变章节字体(section fonts)? 答:用titlesec宏包,例如 usepackagenops,sf,small,compacttitlesec 23。怎样做一个页面设置? 答: usepackagefancyhdrpagestylefancyfancyhead %clear all fieldsfancyheadRO, LEbfseries LaTeXe HOWTOfancyfootLE, ROthepage of pagerefLastPagefancyfootLO, CEfancyfootCO, RETechical Reportrenewcommandheadrulewidth0.4ptrenewcommandfootrulewidth0.4pt24。怎样实现page M of N的形式?答:用lastpage宏包,任何时候你都可在文本中用 pagerefLastPage,只是须注意当用了fancyhdr宏包时,lastpage宏包就须在它后面。 25。怎样实现下划线的标题? 答: defevenheadmakebox0ptlrule-0.15cmtextwidth0.1mmhbox%textbfthepagehfilleftmark%defoddheadmakebox0ptlrule-0.15cmtextwidth0.1mmhbox%rightmarkhfiltextbfthepage%26。 怎样把一个浮动对象固定下来? 答:例如 beginfigureh.endfigure27。怎样定义一个新的浮动 float 形式?答:用float宏包,用newfloat就可定义新的浮动形式,它的语法是: newfloattypeplacementextwithin- type 是浮动新类型名- placement 可以是 t, b, p, h 和 H- ext 是以章节列序的任何图表的后缀名floatstylestyle, 其中 style 可以是- plain, 空白- boxed, 盒子- ruled, floatnamefloatfloatname定义了浮动标题名,像图的 Figure 等等。 restylefloatfloat用于改变图表的标准浮动形式,例如可以floatstyleruledrestylefloattable一个例子是:documentclassarticleusepackagefloat, timesthispagestyleemptyfloatstylerulednewfloatProgramthplopsectionfloatstyleboxednewfloatalgorithmthploafloatnamealgorithmAlgorithmbegindocumentsectionLets beginThis document show some possibilities of textttfloat.styfor floating objects.beginProgrambeginverbatimi nclude int main(int argc, char *argv)int i;for (i = 0; i argc; +i)printf(argv%d = %sn, i, argvi);return 0;endverbatimcaptionA simple C programendProgram.enddocument28。 怎样让文字在一个窄小的浮动图周围?答:用floatfig宏包,其改进宏包是floatflt宏包。语法是 beginfloatingfigureoptionswidth of figurefigure contentsendfloatingfigure一个例子是:documentclassarticleusepackagefloatfig, epsfig.bla bla blaparbeginfloatingfigure6cm. anything possible in figure environmentendfloatingfigure后面的文本将会和浮动图形平行 ,可惜floatfig宏包不是Miktex自带的。 也可用 宏包,语法为 beginwrapfigurenlinesplacementwidthfigure, caption, etc.endwrapfigure- nlines定义了文本折行为,每一个方程占3行。- placement水平位置(l,r)- width图形宽度一个例子是beginwrapfigurer3inbeginboxitbegincenter This is a wrapfigure endcentercaptionA wrapfigure exampleendboxitendwrapfigure注意, wrapfigure 是不浮动的,所以它可能和浮动图形的顺序就不一样了,并且它不能在“列表list”中,详见王磊的插图指南。 也可用 picins 宏包,命令是 parpic(width,height)(x-off,y-off)OptionsPositionPicture段落文本 除了 Picture 以外所有的命令都是可选的,详见王磊的插图指南。 29。怎样使图形并列? 答:用subfigure宏包。 一个例子是 beginfigurecenteringmbox subfigureBigincludegraphics . quadsubfigureSmallincludegraphics . quadsubfigureMediumincludegraphics . quad captionThree subfigureslabelfig:subfiguresendfigure30。把一幅 .eps 横向放置后,怎样使标题变为相应的形式? 答: usepackagerotating和beginsidewaysfigurecenteringincludegraphicswidth=?cm*.epscaption.endsidewaysfigure常见问题(三)压缩空间1。页面设置a4 会给你一个较小的页面,为了使用更多的控制,可用 geometry宏包和命令 layout 。2。改变长度在latex里改变长度的命令是 addtolength 和 setlength。latex可认的是 cm, mm, in 和 pt. 变量可设为负数。一个例子是 addtolengthparindent-5mm一些有用的变量是: 页面设置 columnsep: 列间距 topmargin: 页眉到页边的距离 topskip: 页眉与正文的距离 textheight: 正文的高度 textwidth: 文本的宽度 oddsidemargin: 奇数页的左面页边距 evensidemargin : 偶数页的左面页边距 段落 parindent: 段落缩进距离 parskip: 段落间的距离 浮动图表 floatsep: 浮动对象之间的距离 textfloatsep: 最后一个浮动对象顶端或第一个浮动对象底端与正文之间的距离 intextsep : 文中浮动顶端与底端所留的距离 dbltextfloatsep 是在双列输出时用 textfloatsep 的数值 dblfloatsep 是在双列输出时用 floatsep 的数值 abovecaptionskip: 标题上方的距离 belowcaptionskip: 标题下方的距离 数学公式 abovedisplayskip: 公式前的距离 belowdisplayskip: 公式后面的距离 arraycolsep: 在一个array中列之间的空白长度 列表 topsep: 第一个item和前面版落间的距离 partopsep: 当在一个新页开始时加到 topsep 的额外空间 itemsep: 连续items之间的距离。 3。环境宏包 atbeginend.sty 提供了 BeforeBeginenvironmentcode-to-execute, AfterEnd 等等命令。这些命令可去掉环境外面和内部的空间。例如 AfterBeginitemizeaddtolengthitemsep-baselineskip 就在环境内以重新设置 itemsep 来压缩items之间的距离 。mdwlist 宏包有一个 itemize* 环境; paralist 宏包提供了一个item之间距离压缩环境和一个使每个item不在新的一段开始的 inparaenum 环境。 4。图表为了节约空间,可用 subfigure 宏包把多幅图形放在一人图形环境中,也可用 floatflt 宏包把图形用文本包围起来。当有图表时, LaTeX 缺省值不会在超过 70% 的页中加文本。这个可有 begindocument加上 renewcommandfloatpagefraction.9renewcommandtopfraction.9renewcommandbottomfraction.9renewcommandtextfraction.1 setcountertotalnumber50setcountertopnumber50setcounterbottomnumber50即可。 另外,可用 caption宏包减少标题尺寸。对于一个大的表格,可用 setlengthtabcolsep1pt来减少表格的列间距离;也可用resizebox!5cmbegintabular . endtabular把整个表格当作一个图形5。标题一个标题周围的距离是由 parskip, baselineskip等来决定的,要注意的是 LaTeX 宁愿在一页中留下空白,也不愿把一个标题放在此页的底部。如果你要重新定义这些命令,就应该仔细的读一下 titlesec 宏包。6。文献里面的内容宏包 mulitoc 可让在单列文本中有一个两列的表格内容存在。可用 setspace 宏包来减少文献中的行间距离(在文本中也是一个道理)beginspacing0.9tableofcontentsendspacing.beginspacing0.9bibliographystyleplainbibliographyrefsendspacing如果选用了 natbib 宏包的话(推荐),就可以用 bibsep 来控制items之间的距离。否则就可在导言区里用下面的命令。 letoldthebibliography=thebibliographyletendoldthebibliography=endthebibliographyrenewenvironmentthebibliography1%beginoldthebibliography#1%setlengthparskip0ex%setlengthitemsep0ex%endoldthebibliography%常见问题(四)1、模版的种类(1)包括了书的两种类型,两种书的类型的章节标题形式为第1章第一章1 第一节标题一 第一节标题1.1 第一小节标题一 第一小节标题1.1.1第一小小节标题(一) 第一小小节标题(1) 再下一小节标题1 再下一小节标题 还小一层次的标题(1) 还小一层次的标题(i)再小一层次的标题 还小一层次的标题(a)还小一层次的标题(i)再小一层次的标题本书是采用的最左边的格式;右边的格式是对一些出版社而定的,但还没完全达到要求,特别是目录还需要大家来测试出来。ORmain1与ORmain2就是用手工输入确定参考文献顺序的模版,DEmain1与DEmain2就是据此修改而得的用Bibtex自动确定参考文献的模版。由上面的说明, ORmain2与DEmain2还不成熟。当用了Bibtex来得到参考文献时,因为我用了usepackageulem,CJKulem宏包命令,所以修改了plainat.bst和unsrtnat.bst文件。(2)据此书模版修改而得到的幻灯片模版ORslidem.tex是用PDFslide来实现的,这有几个好处可见模版的抬头说明。这个模版的最大好处是可以用任何.pdf文件来做为它的背景,我就选择了pdfscreen下的一个.pdf背景文件。(3)据此书模版修改而成的文章模版myjournal.tex适合于中英文的文章。2、版面问题每一种书内有B5、16开、A4三种页面设置,这是出版社给的标准设置,建议只采用定义版面和版心大小的方面来进行设置,而不是像word那样定义页边距来实现页面设置!下面对问题进行分类说明。首先,在每一级标题中,字体应该一粗一细,但不要使用加粗命令来得到这个效果。在本书中,出版社采用了正文为11pt的宋体类型,由此有第1章隶书居中Huge1 第一节标题楷书居中Large1.1 第一小节标题幼园齐左large1.1.1第一小小节标题仿宋空两字normalsize(1) 小小小节标题宋体空两字normalsize 还小一层次的标题宋体空两字normalsize(i)再小一层次的标题宋体空两字normalsize(a)还小一层次的标题宋体空两字normalsize要注意的是:如果只到“ 小小小节标题”的命令时,要尽可能地用“(1) 小小小节标题”,如果这时表示的是列举,就不用断行。但是,如果这儿表示是标题时,特别是“ 小小小节标题”下面还有小标题“”时,即这儿表示分类叙述,则标题后的内容要另起一行(或者说是标题要独立成行!);并且这时要注意不要背题,即至少下面应有一行正文内容,这是很重要的!所以重新定义了paragraph命令,这个命令可以实现标题形式为(1).(2).等,并且这时能自动为避免背题现象,推荐!其次,书眉要采用footnotesize的楷体才对,这时也没有大家原来讨论过的overfull的警告信息了;页码要放在切口。第三,图表标题的字号应和正文一样,而其内容可以采用small和footenotesize两类,由于书中有大量的分数,所以采用了small这一类的选项。这里要注意的是,图表标题采用了楷体,而内容全部采用了宋体,即使是定理结构类型中的图表内容也应和正文中的形式一致!3、公式问题(1)自动调整大小的括号用符号左右括号,左右中括号等等的符号,常常会因为方程式内容的关系,需要动态的依内容改变大小,在LaTeX 中要达到这样的效果,可以在这些符号之前加上left和right来达成这样的效果,在左边的括号,前面就加上left,而在右边的括号就加上right。这两个命令,一定要成对使用,也就是,在一个数学模式中,有一个left就要有一个right。如果你只需要其中一个,(如在作条件列示的时候)那么可以用left而右边则是用right.用句号来表示一个空的符号。可以使用这两个命令的符号有( ) | |(|符号)/ backslash(反斜线) lfloor rfloorlceil rceil langle rangleuparrow Uparrow downarrow Downarrowupdownarrow Updownarrow(2) 本书的一些特殊设置当采用标准的frac命令时,基本上不做特殊的改动。由于出版社要求行中的公式里面的分子分母不改变字号,所以定义了一个myfrac命令: newcommandmyfrac2fracdisplaystyle #1displaystylevphantombetween#2%显示公式的标准尺寸newcommandmyfracnovm2fracd

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论