Latex写出漂亮的论文Word格式文档下载.docx
- 文档编号:16339930
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:14
- 大小:27.44KB
Latex写出漂亮的论文Word格式文档下载.docx
《Latex写出漂亮的论文Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《Latex写出漂亮的论文Word格式文档下载.docx(14页珍藏版)》请在冰豆网上搜索。
如果我们用book类,第一句可以写
\documentclass[a4paper,12pt]{book}
然后用geometry宏包设置页边距
\usepackage[top=1in,bottom=1in,left=1.25in,right=1.25in]{geometry}
但其实这样设置的页边距极不美观,尤其是左右对称的页边距没有考虑装订的需要,而且加上页眉后这样的上边距就显得过窄。
所以注重美观的话还是自己调整一下吧。
需要注意的是,book类默认是twoside即双面打印模式,与article类默认的oneside即单面打印模式不同。
两者区别在于页边距和页码的位置。
单面模式每页的页边距都相同,双面模式则会在偶数页将设置的左、右页边距调换。
如果采用单面打印,则可在\documentclass的方括号里加上oneside参数,并在geometry的选项中适当增加左边距,减少右边距,以留出装订线的位置。
但是不要忘了装订的时候右侧一般会裁掉一点边,所以左、右边距也不要相差过大。
如果采用双面打印,则geometry中的设置被解释为奇数页的页边距,偶数页的左、右边距会自动互换。
还有几个注意事项。
首先,这里的奇数页和偶数页是针对当前page计数器的值来说的,而不是在生成文件中总的页码。
也就是说,假如当前页在整个输出中总排序是偶数页,但当前page计数器(即显示的页码)为奇数,则当前页的页边距是按奇数页设置的。
其次,\documentclass还有一对选项openright和openany,book类默认是前者,即每一章(包括目录)都会在奇数页开始,如果前一章的最后一页是奇数页,则会在其后插入一页空白页,以确保新的一章仍然从奇数页开始。
这是书籍的排版规范,不建议改变,论文页数比较少的还可以借此增加页数。
)这是双面模式的情况,在单面模式下不存在这个问题。
经常有人问为什么自己明明是单面打印,却仍然会在两章之间有一页空白页,请注意book类默认是双面模式,除非你设为oneside,记住告诉TeX你要的是什么!
另外,为了方便查看,页码应该放在书籍的外侧。
对于单面模式,外侧就是右侧,而对于双面模式,奇数页右侧是外侧,偶数页左侧是外侧。
如何设置页码留到后面讲设置页眉、页脚时再详细说。
至于到底是单面打印还是双面打印,看你自己的喜好了。
复旦的论文规范没说,一般的做法是博士双面、硕士单面。
反正总页数少于50页的话,就不要双面了,否则显得太单薄,书脊的内容都很难打印。
最后提一个常见的问题。
如果用pdf文件来打印,在Acrobat的打印对话框里有一项PageScaling默认是Fittopaper,这样打印出来整个内容就会缩小一些,不再是设置的尺寸。
这是因为打印机的可打印范围不能达到整个A4纸张的全部,而是比A4纸的规格要小一些(具体的可打印范围跟打印机型号有关),Fittopaper的意思就是把整个页面调整到可打印范围上去,以保证所有页面上的内容都能打印出来。
因为可打印范围总是小于A4纸的尺寸,所以打印出来总是会缩小一些。
缩小的比例一般为95%左右,与打印机型号有关。
解决这个问题,只要选择PageScaling为None就可以了。
二
这一节讲中文字体和中英文混排的问题。
中文处理推荐使用CJK或新版CCT,旧版CCT因为年代久远,有一些bug会导致莫名其妙的问题,不建议再使用。
本文以CJK为例,中文环境为
\begin{CJK*}{GBK}{song}
...
\end{CJK*}
与英文习惯不同,中文排版一般没有粗体的概念,而是用宋体、黑体、楷体、仿宋等不同的字体来加强文本效果。
在CJK默认的字体定义文件中,宋体对应的粗体是用\CJKbold命令通过微小平移字形来实现的,不仅放大后能看到锯齿,而且也不符合中文的排版习惯。
建议将宋体对应的粗体设为黑体,这样文中所有粗体命令作用的环境中加粗的宋体都会自动变成黑体,不需要再用\CJKfamily{hei}来转换。
宋体的字体定义文件C19song.fd里典型的一段代码如下
\DeclareFontFamily{C19}{song}{}
\DeclareFontShape{C19}{song}{m}{n}{<
->
CJK*gbksong}{}
\DeclareFontShape{C19}{song}{bx}{n}{<
CJKb*gbksong}{\CJKbold}
\DeclareFontShape{C19}{song}{m}{it}{<
CJK*gbksongsl}{}
\DeclareFontShape{C19}{song}{bx}{it}{<
CJKb*gbksongsl}{\CJKbold}
\DeclareFontShape{C19}{song}{m}{sl}{<
\DeclareFontShape{C19}{song}{bx}{sl}{<
这里C19代表GBK字符集的编码方式,m表示字符的粗细程度和宽紧程度均为中等(medium),bx表示字符的属性为粗(bold)和松(expanded),n,it和sl分别表示正常直立体(normal),意大利斜体(italic)和机械斜体(slanted)。
\DeclareFontShape的最后两个参数分别是字体定义和命令序列。
显然,上述语句将宋体的粗体定义为用\CJKbold生成。
要将其改为黑体,只需将这段代码改为
CJKb*gbkhei}{}
CJKb*gbkheisl}{}
实际上,正式的中文排版也不应使用斜体,而应使用楷体或仿宋代替。
所以也可以类似地将上述语句中的gbksongsl改为gbkkai或gbkfs。
上述字体定义命令可以放在sty文件中(设保存文件名为thesis.sty,则在导言区用\usepackage{thesis}引用,后面所述的大部分命令也都可以放在sty文件中),而不需要更改本地机器上的fd文件,以便在别的机器上也能产生同样的效果。
另外,为了方便可以定义几个简短的字体转换命令
\newcommand{\song}{\CJKfamily{song}}
\newcommand{\hei}{\CJKfamily{hei}}
\newcommand{\kai}{\CJKfamily{kai}}
\newcommand{\fs}{\CJKfamily{fs}}
以后就可以用\song,\hei,\kai和\fs在文中转换字体了。
在用\begin{CJK*}{GBK}{song}开始中文环境后,应加上\CJKindent和\CJKtilde两句。
前者将段首缩进设为两个中文字符的宽度。
后者则是为了解决中英文混排的美观问题。
CJK*环境会吞掉跟在汉字后面的空格,从而使得源文件中的换行不会在相邻汉字之间产生空白。
但是这样一来,像下面这样输入的中英文内容
中文abc中文
就会产生如下效果
中文abc中文
即abc两侧的空白不一样,很不美观。
为解决这个问题,\CJKtilde重新定义了波浪符~的意义,使得这个符号不再代表一个不可断行的空格,而是一个可断行的弹性距离,加在中文和英文之间调整它们的距离。
上面的中英文内容应该这样输入
中文~abc~中文
就能得到良好的效果。
这个输入方式最好一开始就形成习惯,否则后来再加会很麻烦。
当然你也可以这样输入
中文abc中文
这样的话虽然中英文之间的距离太窄,但至少左右对称,比上述第一种方式略好,是偷懒的办法。
不过如果你比较在意排版质量的话,还是忍受一下输入~的麻烦吧。
中英文混排有一些标点的问题要处理好。
首先是在默认的CJK环境里,行末的中文标点不能与边界对齐,因为中文标点也被视为一个普通的全角字符,所以看起来行末就有了不应该有的空白,这不符合中文的排版习惯。
另外,当一行文字需要压缩或拉伸时,逗号与句号也应该区别对待,逗号后面留的空白应该比句号小一些。
这两个问题用CJKpunct宏包就能很好地解决,只要加上\usepackage{CJKpunct}即可。
此外,中英文混排的时候是用中文标点还是英文标点呢?
这并没有统一的规范。
不过比较合理也比较通行的做法是,中文后用中文标点,英文后用英文标点。
比较特殊的两个标点是句号和括号。
一般数学文章习惯用全角的实心句点作为中文句号,这样看起来与英文的句号比较一致。
全角的中文括号看起来不太好看,可以统一使用英文的括号,不过左括号前面和右括号后面最好加上波浪符~以和前后的文字留出适当的距离。
上面说的这几点也许比较琐碎,不过也正是最能看出是否精心排版的地方。
三
下面几节讲怎样用titlesec和titletoc宏包设置章节标题、页眉页脚和目录的格式。
设置页眉页脚有一个很有名的宏包fancyhdr也可以用,不过titlesec提供的页面设计命令更方便与它的章节标题命令配合,功能更强大。
这一节先讲章节标题格式的设置。
在引用titlesec宏包时就可以指定几个格式选项,例如
\usepackage[bf,small,center,indentafter,pagestyles]{titlesec}
其中bf设置章节标题的字体为黑体,这也是默认值,可以略去。
此外,还可以设为rm(罗马体),sf(无衬线体),tt(打字机体),md(中等黑度),up(直立体),it(意大利斜体),sl(机械斜体),sc(小体大写字母)。
small设置标题字体的尺寸,还可设为big(默认),medium,tiny。
center使标题居中,还可以设为raggedleft(居左,默认),raggedright(居右)。
indentafter相当于宏包indentfirst的作用,使标题下面的第一个段落正常缩进。
pagestyles是申明后面要自定义页面样式。
下面就可以用\titleformat,\titlespacing,\titlelabel等命令来设置标题格式了。
因为这些命令里会用到中文,所以要在设置之前放一个空的CJK环境,如
下面的\titleformat命令设置了章标题的格式
\titleformat{\chapter}[hang]{\centering\LARGE\bfseries}{\chaptername}{1em}{}
其中\chapter可以换为\section,\subsection等,设置节、小节等标题的格式。
hang表示标题头与标题内容在同一行,是默认值。
而book类默认的章标题是标题头与标题内容放在两个段落,对应于display选项。
此外还有block,runin,leftmargin,rightmargin,frame,wrap等选项,一般不大用到。
\centering\LARGE\bfseries这一块是设置标题的排版格式,这里设置为居中、\LARGE尺寸和黑体。
后面紧跟的是标题头的定义。
book类里的标题头是英文,需要改成中文。
如果希望改成“第一章”这样的格式,则应先引用CJKnumb宏包,它提供了把阿拉伯数字转换成中文数字的命令。
然后定义
\renewcommand{\chaptername}{第\CJKnumber{\thechapter}章}
那么\titleformat里的标题头定义\chaptername就得到我们希望的效果。
当然你也可以不用中文数字而用阿拉伯数字,即定义
\renewcommand{\chaptername}{第~\thechapter~章}
跟在标题头定义后面的是标题头与标题内容之间的距离,这里是1em。
注意,在中文环境里1em等于一个汉字的宽度。
最后一个花括号内是在排版标题前执行的命令,这里空置。
然后用\titlespacing或\titlespacing*命令设置标题与四周的距离,例如
\titlespacing{\chapter}{0pt}{*0}{*4}
将章标题与左边、上边、下边内容的距离分别设为0pt,*0,*4。
这里*n表示弹性距离,对上距离来说相当于nexplus.3exminus.06ex,对下距离来说相当于nexplus.1ex。
弹性距离因为有一定的伸缩自由度,比较容易得到美观的排版。
如果想自己指定用关键字plus,minus定义的弹性距离,可以用星号版本的命令,即
\titlespacing*{命令}{左距离}{上距离}{下距离}
上面设置了章标题的命令,用相同的命令也可以设置节、小节等的标题格式。
但如果没有特殊的要求,只希望修改一下标题头,可以用更加简单的命令\titlelabel来设置。
例如
\titlelabel{\S\thetitle\quad}
将章节标题设置为类似“§
1标题内容”的格式。
这里\quad等于\hspace{1em},即空出一个汉字宽度的距离。
注意,\titleformat命令的定义会覆盖\titlelabel的定义,而一般来说章跟节标题的格式不一样,所以只要另外用\titleformat命令定义章标题的格式,\titlelabel的定义就只能作用于节以下层次的标题了。
四
这一节接着讲怎样用titlesec宏包提供的命令设置页眉、页脚。
下面命令定义了一个新的页面样式并使用该样式
\newpagestyle{main}{
\sethead{}{}{\kai\small\chaptername\quad\chaptertitle\qquad\thepage}
\setfoot{}{}{}\headrule}
\pagestyle{main}
其中\sethead命令设置页眉,格式为
\sethead[偶数页左页眉][偶数页中页眉][偶数页右页眉]
{奇数页左页眉}{奇数页中页眉}{奇数页右页眉}
单面打印模式只要给出奇数页的设置即可,双面模式则需要将左、右页眉做个调换。
上面给出的例子是单面模式的。
\setfoot用来设置页脚,格式与\sethead类似。
在页眉、页脚里可以显示章节标题、页码等内容。
如上面的例子就在页眉中显示了章标题和页码。
注意,\qquad相当于两个\quad,即\hspace{2em}。
\headrule是划出页眉线,类似地\footrule划出页脚线,不过比较少用。
默认页眉线的宽度是0.4pt,如果不满意,可以用下面命令重新设置其宽度
\setheadrule{宽度}
此外,还有两种特殊情况需要处理。
首先,尽管在上面例子中用\pagestyle{main}使用了自定义的页面样式,但每一章的第一页不受影响,仍然使用默认的plain样式。
在这种页面上,出于美观的考虑,一般不加页眉,而将页码放在页脚(也有人喜欢不加页码)。
所以plain样式(没有页眉,页码放在页脚中间)已经基本符合要求,不必修改。
如果需要修改,可定义一个新的页面样式,再用下面命令重定义plain样式
\renewpagestyle{plain}{新的页面样式}
其次,在目录、参考文献或以\chapter*命令生成的章,上面页眉定义中的标题头\chaptername是不应该显示的。
所以有必要定义一个页面样式在这种特殊的章使用,例如可以定义
\newpagestyle{special}{
\sethead{}{}{\kai\small\chaptertitle\qquad\thepage}
然后在文中适当的地方用\pagestyle{special}改用该样式。
五
目录是学位论文的必要组成部分。
只要在正文中适当的地方用
\tableofcontents
就可以自动生成目录。
但是目录的格式不总是符合个人的要求,有时还要往其中加一些条目。
用titletoc宏包提供的命令可以方便地设置目录的格式。
首先可以用
\renewcommand{\contentsname}{目\quad录}
将目录部分的标题改为中文。
然后,用\titlecontents命令来设置不同级别目录项的格式。
例如,chapter层次的目录项格式可设置如下
\titlecontents{chapter}[0pt]{\vspace{.5\baselineskip}\bfseries}
{第\CJKnumber{\thecontentslabel}章\quad}{}
{\hspace{.5em}\titlerule*[10pt]{$\cdot$}\contentspage}
其中0pt是目录项到版芯左边界的距离。
紧跟其后的是在排版目录项之前执行的命令,这里\vspace{.5\baselineskip}表示与上文留出一定的垂直距离,该距离为当前单倍行间距的一半。
\bfseries把整条目录项的字体设为黑体。
后面一项是设置目录项的头部,这里设为“第一章”这样的格式,并在其后留出一个汉字宽度的距离。
紧跟的是设置目录项主体的格式,这里因为跟目录项头部相同而空置。
再后面是设置填充命令和页码。
这里先用\hspace{.5em}在目录项内容后面留出一点空白,以免跟其后的填充点靠得太近。
然后用\titlerule*命令画出填充点,这里是把垂直居中的实心圆点作为填充符号(习惯上中文不采用居下的填充点),并以10pt为包含一个填充符号的水平盒子的宽度,即这个宽度越小,填充点越紧密。
填充点后加上页码\contentspage。
类似地可以设置section层次的目录项格式如下
\titlecontents{section}[2em]{\vspace{.25\baselineskip}}
{\S\thecontentslabel\quad}{}
其中2em表示section层次的目录项距左边界有一个缩进。
如果还有subsection等层次,可以类似地定义。
但是\chapter*,\section*等命令生成的标题不会自动进入目录中。
例如中文摘要部分如果用下面命令开始
\chapter*{摘\quad要}
那么可以紧跟其后加上
\addcontentsline{toc}{chapter}{中文摘要}
就可以将中文摘要作为一个chapter层次插入目录中。
英文摘要、参考文献部分均可照此处理。
随便提一下,参考文献部分的标题可用如下命令改为中文
\renewcommand{\bibname}{参考文献}
六
这一节讲前几节尚未提到的一些文本排版问题。
首先是行间距的设置。
学校的学位论文规范中提到行间距为20pt。
其实不同尺寸的字体行间距都不相同,而是成比例关系。
这个20pt是对正文主要字体来说的。
在TeX中基本的行间距是\baselineskip,对于12pt的字体,这个值等于14.5pt,而真正的行间距是
\baselineskip*\baselinestretch
\baselinestretch默认为1,但我们可以重新设置它的值,如
\renewcommand{\baselinestretch}{1.38}
就得到真正的行间距为14.5pt*1.38≈20pt。
而这样定义之后,对不同尺寸的字体都会按同样的比例因子1.38放大行间距,使得全文排版能协调一致。
那么\baselineskip的值是怎么知道的呢?
在TeX源文件中加上命令
\showthe\baselineskip
编译时就会暂停下来显示当前字体的\baselineskip值。
用这个方法可以知道,10pt字体对应的\baselineskip为12pt,11pt字体对应的\baselineskip为13.6pt。
至于通常所说的1.5倍行间距和双倍行间距,一般理解为字体基准尺寸的1.5倍和2倍,例如对于12pt字体,1.5倍行间距和双倍行间距分别应为12pt*1.5=18pt,12pt*2=24pt。
那么\baselinestretch分别应设为18pt/14.5pt≈1.24,24pt/14.5≈1.66,而不是1.5和2,那样的话行间距就会显得过大了。
然后讲一下论文首页的设置。
复旦的学位论文,装订的地方会按学校的模板制作封面,就不用自己做了,不过规范中要求在扉页注明指导小组成员名单,并且为了保持论文电子版的完整性,最好还是做一个简单的论文首页(标题页)。
没有必要用\title,\author和\maketitle等命令自动生成论文的标题,因为那可能不太符合你的要求。
只要用
\begin{titlepag
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Latex 写出 漂亮 论文