tex中让公式和文字在一行_第一章-TEX介绍

本文介绍了LaTeX的发展历程、优势和不足,以及如何在一行内排版公式和文字。LaTeX是一种强大的排版系统,尤其适合处理数学公式,但命令众多,学习曲线陡峭。Donald Knuth开发了LaTeX,目前广泛应用于出版业。其拓展包括e-TeX、PDFTeX等,而LATEX提供了更高级的命令和宏包,简化文档创建。排版引擎和语言不断演进,如LATEX2e和XƎLATEX。对于初学者,推荐使用MiKTeX、TeXLive等软件,以及TeXstudio、WinEdt等编辑器。排版过程包括编写源文件、编译、预览和修正错误。了解源文件结构、命令和环境是关键,例如使用`documentclass`、`package`、`newcommand`等。对于中文支持,可以使用CJK宏包或CTEX宏包。
摘要由CSDN通过智能技术生成

1.1 TEX的发展历程

  • TEX评价

(1)Donald Knuth(高德纳): “TEX is a new typesetting system intended for the

creation of beautiful books—and especially for books that contain a lot of

mathematics.”(Dnould E. Knuth, TheTEXbook, Addison-Wisley, 1970).的确, 世界上排版最好的书是由TEX 编辑的;

(2)TEX是一款功能强大的排版系统;

(3)读音:/tϵx/(in Greek) or /tϵk/;

(4)它是由Stanford University 的Donald E. Knuth (高德纳) 教授开发的,第一版于1978 年面世(当时他对“The Art of ComputerProgramming”第二版十分不满意, 由此决定开发一个高质量的计算机排版系统);

(5)1982, TEX 已经是一个十分稳定的版本; 1993 年左右Knuth 宣布不再对TEX 进行更新;

(6)4 TEX 目前的版本是3.1415926.

  • TEX优点

(1)功能强大的排版系统: TEX 提供了300 多条基本的排版命令, 用户可以在基本命令的基础上定义自己的命令;

(2)高质量的输出—公认的数学排版最好的排版系统, 世界上许多一流的出版社几乎都利用TEX 系统出版书籍和期刊—精美的期刊与书集;

(3)超常的稳定性—极少崩溃;

(4)可编程(用宏命令)—很少的命令实现复杂/重复的工作;

(5)占用空间小—纯文本文件;

(6)良好的通用/兼容性—支持多平台;

(7)免费!!!;

(8)丰富的资源.

  • TEX的缺点

(1)TEX 的命令很多, 不便于记忆. 需要一本参考书, 要多用;

(2)TEX 编译出现错误时不容易解决, 需要经验;

(3)TEX 不是所见即所得系统;

(4)TEX 的宏包书写有一定难度.

  • TEX 的拓展—排版引擎与语言

(1)TEX 是一个底层排版软件(引擎), 它最初使用Plain TEX 语言, 其后的发展路线大致为:

引擎层面:TEX -> e-TEX -> PDFTEX -> XƎTEX(2004) -> LuaTEX(2006)

语言层面:PlainTEX -> AMSTEX -> LATEX -> LATEX2:09(1992) -> LATEX2e(1994) ->

XƎLATEX -> ConTEXt -> LATEX3;

(2)LATEX: LATEX 是在Plain TEX 的基础上由美国计算机学家Leslie Lamport 开发了开发出的一种更为简单的语言, 它提供了一组生成复杂文档所需要的更高级的命令(或宏集合—宏包), 它在生成复杂表格和数学公式方面功能尤为突出. 它可以自动给出标题、章节、表格目录、交叉引用、公式编号、文献引用、浮动图表、浮动图形等等. LATEX 经过多年的发展与更新, 其版本号固定为2.09;

(3)LATEX2e: 在其后的发展过程中, 为了再次统一自LATEX2.09 版本以后所进行的各种改进并建立一个真正的、能满足较长时间内排版需要的LATEX 改进标准, 在Frank Mittelbach 的领导下, Leslie Lamport, Chris Rowley 和Rainer Schopf 创立了LATEX3 小组, 并于1994 年他们发行

了一个新的版本,并命名为LATEX2e, 其一个重要的特点是可以加载各种宏包, 通过加载amsmath 宏包整合AMS-TEX 的优点.

  • LATEX 发行版本

(1)Windows: MikTeX, fpTeX, PCTeX 等. MiKTEX—它是目前广泛采用的TEX 系统, 更新扩充及时, 完全公开免费! 包含了几乎所有的工具:1200 多个宏包, 不同的TEX 排版引擎与语言, DVI 浏览器(YAP), pdf转换器(dvipdfm/dvipdfmx), 作图工具—Metapost 等;

(2)Unix/Linux: teTeX;

(3)Mac OS X: MacTeX;

(4)多平台: TEXLive (Since 1996);

(5)中文: CTEX, MTEX, MicTEX.

  • 目前流行的中英文LATEX 排版的实现方式

(1)LATEX + CJK 宏包;

(2)LATEX + CTEX 宏包;

(3)ctex 文档类;

(4)XƎLATEX—从根本上解决中文的输入输出问题.


1.2 LATEX文稿的排版过程 (如需下载编辑软件链接请私信作者)

  • 准备工作

(1)Windows:

(2)Mac OS X:

(3)TeXlive:

(4)选择适当的TEX 文件编辑器. 依次推荐: TeXstudio,WinEdt, Notepadd++, SciTE. 我们选择CTEX 套装缺省配置好的WinEdt 7.0;

(5)在线TEX 编辑器: sharelatex, overleaf, 两者已经合并;

(6)优秀的TEX 编辑器必须具备的特点:

正反向搜索 语法高亮显示 支持unicode UTF-8 编码

  • LATEX排版的基本流程

(1)选择编译方式编译源文件;

(2)在WinEdt/TeXStudio 等编辑器中编写或修改源文件;

(3)若有错误, 则根据编译所生成的日志文件(log 文件) 进行语法上的改错, 并回到第一步; 若没有错误则转向下一步;

(4)预览编译生成的dvi 文件(或转换后的ps, pdf 文件) 或pdf 文件, 并检验文本的实际效果. 若有问题则转向第二步.


2.3 TEX源文件的组成

  • TEX源文件的组成要素

TEX 源文件是纯文本文件, 根据对排版结果的影响, 其内容可分为注释、空白符、LATEX 命令和文本内容:

(1)注释: TEX 源文件中% 后面的内容视为注释内容, 在编译时将被忽略;

(2)空白符: LATEX 把诸如空格(一个或多个)、制表符、单个的换行都视为一个空白符. 一行开始处的空白符被忽略. 两段文本之间的空行(一个或多个) 被视为一段文字的结束标志;

(3)LATEX 命令: LATEX 命令是LATEX 的保留字, 其对大小写敏感. LATEX 的命令格式是以反斜线开始(“n”) 的字符串(命令名称);

(4)文本内容: 包括普通字符和特殊字符($, &, %, #, _, {, }, ,̂ ̃, n ).

  • LATEX命令

命令名

命令名{必选参数}

命令名[可选参数]{必选参数}几个常用的命令:

设置文档类: documentclass[可选项]{参数}

调用宏包: 甥敳慰ckage[可选项]{宏包名}

组成环境: begin{环境名}......end{环境名}

定义新命令: ewcommand{...}{...}

修改已有的命令: enewcommand{...}{...}

  • 自定义LATEX命令

形式1:

enewcommand{新命令}[参数个数]{命令内容}

enewcommand*{新命令}[参数个数]{命令内容}

例:

ewcommand{eps}{varepsilon}

ewcommand{mybf}[1]{{CJKfamily{hei}#1}}

ewcommand{mc}[3]{multicolumn{#1}{#2}{#3}}

mc{2}{c}{math} 等价于multicolumn{2}{c}{math}.

形式2:

enewcommand{新命令}[参数个数][缺省值]{命令内容}缺少值只能有一个, 且必须是第一个参数的.

例:

ewcommand{mycolor}[2][blue]{

extcolor{#1}{#2}}

mycolor{red}{math} 等价于extcolor{red}{math}.

  • LATEX命令的作用范围

(1)有些命令只对其后的字符起作用. 例如:

extbf bold face -> bold face

extcolor{red} red color -> red color

(2)有些命令对其后所有文本起作用, 常称之为声明. 例如:

bfseries bold face -> bold face

color{red} red color -> red color

(3)利用大括号(分组) 分别对上面二种LATEX 命令的作用范围进行扩展和限制, 这是LATEX 排版时应该使用的方式. 例如:

extbf{bold} face -> bold face

{bfseries Bold} Face -> Bold Face

extcolor{red}{red} color -> red color

{color{red} Red} Color -> Red Color

LATEX 的环境的作用范围就是整个环境开始到结束, 主要用于表格、插图、数学公式、列表等.


1.4 TEX源文件的结构

documentclass[ 字体大小, 纸张大小, 杂类参数]{ 文档类别}

导言区(preamble)

begin{document}

文档区

end{document}

(1)文档类别

article(文章)(ctex 中使用ctexart)

book(书籍)(ctex 中使用ctexbook)

report(报告)(ctex 中使用ctexrep)

letter(信函)

其他基于article 与book 设计的非标准文件类(如slides, beamer)

(2)字体大小

10pt(缺省), 11pt, 12pt (1pt=1/72.27in);

(3)纸张大小: a4paper(29.721cm), a5paper(2114.8cm), ... ...(缺省为letter);

(4)杂类参数

landscape: 选择横向排版方式,缺省为纵向排版(portrait)

leqno: 公式的编号放在公式的左边,缺省时放在右边

fleqn: 公式显示左边对齐,缺省时中间对齐

draft, final: 标注/不标注带标尺的边框,缺省值为final

oneside, twoside: 选择单面还是双面打印. book 类缺省为双面,其

余缺省为单面

onecolumn, twocolumn: 通栏排还是分栏排,缺省为通栏

  • 导言区的组成

(1)装入必要宏包. 格式为:

甥敳慰ckage[option]{package}

例:

甥敳慰ckage[dvipsnames]{xcolor} % 支持颜色

甥敳慰ckage[includeheadfoot]{geometry} % 页面设置

甥敳慰ckage{fancyhdr} % 支持自定义的页眉、页脚

甥敳慰ckage{fancyvrb} % 支持抄录

甥敳慰ckage{graphicx} % 支持图形插入

(2)进行页面全局性设置. 例如:

%% ===== 设置页面布局===========================

geometry{papersize={144mm,108mm},

hmargin={8mm},vmargin={3mm,3mm},headsep=5mm}

%% ===== 定义行间距=============================

enewcommand{baselinestretch}{1.3}

6bc97032542f97bc6c92f86be20e7313.png

页面布局

  • 正文区的组成

LATEX 处理输入文件的三种模式:

Paragraph(段落模式)

Math(数学模式)

Left-to-right(从左到右模型,简称LR 模式)

正文的输入需要按选定的文档类型及加载的宏包文件进行, 由此得到相应的标题、章节、页码、页眉、页脚、脚注、边注、表格、图形以及各种类型复杂的数学公式等. 这些构成的正文的主要内容.

处理很大的文档, 应避免重复的编译, 明智的做法是将文件分成若干个部分分别进行编译. 例如一本由8 章组成的书, 其源文件可由一个主文件(mybook.tex)、导言区的文档设置文件(setup.tex)、目录与前言等(toc.tex)和每一章对应的子文件(chap1.tex, …, chap8.tex) 构成. 这时主文件mybook.tex 可用二种方式将子文件组合起来.

(1)采用input命令

documentclass{book}

input{setup}

begin{document}

frontmatter

input{toc}

mainmatter

input{chapt1}...input{chapt8}

backmatter printindex

end{document}

(2)采用include 命令(设置文件除外)

documentclass{book}

input{setup}

includeonly{......}

begin{document}

frontmatter

include{toc}

mainmatter

include{chapt1}

...

include{chapt8}

backmatter

printindex

end{document}

toc.tex 可包括

ableofcontents listofcontents listoffigures

input 命令可以嵌套, include 命令不可以嵌套;

input 命令方式在排版单个特定的文件时可能导致章节、页码、图表和公式等编码与交叉引用的混乱(使用setcounter 命令进行计数器重置可一定程度上避免这个问题).

使用include 和includeonly 命令好处是页面、章节和公式编号等的附加信息由includeonly 命令提供, 这既可以帮助我们省去很多宝贵的编译时间, 同时又可保证交叉引用这类命令生成正确的结果.

通过WinEdt 可以将大文档中各个文件有机地组合起来. 方法是将mybook.tex 设为主文件(点击常用按钮第二排第一个“Set Main File”或CTRL+F5), 并点击第三个“Tree...”按钮展开主文件与子文件的关系. 仅在includeonly 后文件清单中出现的文件才被编译且在WinEDT 左侧的目录中显示出来. 例如,includeonly{toc,chap8} 命令仅会编译toc.tex, 和chap8.tex.

Texstudio 有类似的功能,它是通过“Set Current Document as Explicit Root”来实现. 还可以自动判断“Detect Automatically”.


1.5 中英文LATEX 文稿简例

(1)未使用中文的例子

documentclass{article}

begin{document}

itle{Test}

author{My Name}

date{2012/10/20}

maketitle

section{First Section}

This is first paragraph.

This is second paragraph.

section{Second Section}

This is my first LaTeX article.

subsection{GOAL}

An introduction of LaTeX.

end{document}

(2)使用CJK 宏包处理中文的例子

documentclass[11pt]{article}

甥敳慰ckage{CJK}

begin{document}

begin{CJK*}{GBK}{song}

itle{ 测试}

author{ 姓名}

date{2012/10/20}

maketitle

section{ 第一节}

这是第一段.

CJKfamily{hei} 这是第二段.

section{ 第二节}

CJKfamily{li}这是我的内容.

subsection{ 目标}

CJKfamily{fs}LaTeX 介绍

end{CJK*}

end{document}

(3)使用CJK 宏包pdf 可产生自动书签例子

documentclass[11pt]{article}

甥敳慰ckage{CJK,indentfirst}

甥敳慰ckage[CJKbookmarks]{hyperref}

begin{document}

begin{CJK*}{GBK}{song}

itle{ 测试}

author{ 姓名}

date{2012/10/20}

maketitle

section{ 第一节}

CJKfamily{hei} 测试基于CJK的可以搜索、复制、有书签的中文PDF.

(4)使用ctex 宏包处理中文的二个例子

documentclass[12pt]{article}

甥敳慰ckage{ctex}

begin{document}

... ...

end{document}

documentclass[12pt]{ctexart}

begin{document}

... ...

end{document}

begin{tabular}{l}

documentclass[12pt,CCT]{ctexart}

begin{document}

... ...

end{document}

section{ 第二节}

CJKfamily{li}LaTeX 介绍.

end{CJK*}

end{document}

(5)使用XƎTEX 处理中文的两个例子

例子1:

% !Mode:: "TeX:UTF-8"

documentclass{ctexart}

begin{document}

section{ 中文字体}

section{ 小测试}

中文字体测试

end{document}

% !Mode:: "TeX:UTF-8"

documentclass{article}

甥敳慰ckage{xltxtra}

setmainfont[BoldFont= 黑体]{ 宋体}

begin{document}

section{ 中文字体}

section{ 小测试}

中文字体测试

end{document}

例子2:

%!TEX TS-program = xelatex

%!TEX encoding = UTF-8 Unicode

documentclass{article}

甥敳慰ckage{xeCJK}

setmainfont{Times New Roman}%设置英文默认字体,

setCJKmainfont{SimSun} %设置汉字默认字体,

begin{document}

section{ 中文字体}

section{ 小测试}

中文字体测试

end{document}

注: WinEdt 7.0 是一个unicode 编辑器, 支持UTF-8 编码. 对中文默认不是UTF8 编码的TEX 文档, 为了保证TEX 文档可正确地加载(打开) 和保存, 文档的开始须添加:

% !Mode:: ”TeX:UTF-8”

本文参考文献:

【1】(美) Barbara Gastel Barbara Gastel Barbara Gastel Barbara Gastel , Robert A. Day Robert A. Day Robert A. Day ,任治刚 (译) 《科技论文写 作与发表教程 》(第 八版, 2018 );

【2】《LaTeX科技论文写作简明教程》(2015第一版,2019年第二次印刷)清华大学出版社

关于LaTeX的使用方法我会在近几周的时间持续更新,希望对写论文的同学有所帮助。(如果觉得有用大家记得帮忙点赞转发哟!)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值