LaTeX/基础知识

 

LaTeX/基础知识

出自CTeXWiki

跳转到: 导航, 搜索

本文以介绍 LaTeX 基本排版知识为目的。安装和配置请参考首页发行版。

目录

[隐藏]

源文档

LaTeX 是一种标记语言,类似于 HTML。LaTeX 源文档是 plain ASII 文本文档。你可以使用任何编辑器创建、打开、修改它。一个最简单的文档如下

\documentclass[11pt]{article}

\begin{document}
 Hello world!
\end{document}

其中 \documentclass 声明文档类:article11pt 选项:使用 11pt 字体。\begin{document} \end{document} 声明一个 document 环境,其间即是需要排版的内容。\documentclass\begin{document} 之间为导言区。通常保存一些方便的全局配置。无数作者已经贡献了他们的配置,称为宏包

文档名称必须简洁易懂,不能有空格或者其他特殊字符,最好只用小写字母加数字。

文档类

文档类型
article 期刊文章,由节 section 组成
proc会议论文集,基于多篇 article
minimal最少设置的一种。只有基本字体和纸张大小设置。通常用于调试
report报告,有章 chapter,节 section 等
book书,有章 chapter,节 section 等
slides幻灯片,使用较大的无衬线字体
memoir一种非常灵活,可以基于此快速创建所需要的类型 参考手册
letter信件
文档类选项
10pt, 11pt, 12pt设定文档使用的字号。默认是 10pt。
a4paper, letterpaper,...定义纸张大小。除此之外,还有 a5paper, b5paper, executivepaper, legalpaper
fleqn独行公式向左对齐
leqno公式编号列于左边
titlepage, notitlepage指示文档标题之后的内容是否新开一页。article 类型无此选项
onecolumn, twocolumn单栏,双栏
twoside, oneside双边,单边。article 和 report 默认使用 oneside,book 默认为 twoside
landscape页面横放
openright, openany与单双边设定和 \chapter 命令有关。report 默认 openany,book 默认 openright
draft以一个小黑块表明断行错误处,用于调试

输入

连续的空格被认为是一个空格。行首的空格通常被忽略。按下回车产生的断行也被认为是空格。

一个空行意味着一段的结束。连续的空行被当作是一个空行。

如下的符号在 LaTeX 中有特别的用处,

# $ % ^ & _ { } ~ \

一般它们不会被打印出来,如果需要显示,就输入

\# \$ \% \^ \{ \} \& \_ \{ \} \~ \textbackslash

来替代。

\ 在 LaTeX 里有专门的作用,用来引导宏。所谓宏就是 LaTeX 里的命令、环境等。

\verb 命令被设计用来显示输入即输出的内容。所以上述字符也可以使用 \verb 来输出

\verb|#$^&|  \verb+#$^&+

命令

命令通常由 \ 开始,加上一串字母作为名字, 以空格,数字或者其他非字母字符结束。

一些命令需要参数,用 { } 引入。有时候需要选项,写在 [ ] 中。

\commandname[option1,option2,...]{argument1}{argument2}...

创建新的命令

\newcommand{name}[num]{definition}

name 是命令名称,definition 是定义,可选项 num 设定命令需要的参数 (最多为 9,默认是 0)。例子

\newcommand{\haha}{something are here \ldots{}}
\haha

产生

something here ...

第一个参数通过 #1 引用,类似地,#2,#3 等代表第 2,3 个参数。例子

\newcommand{\haha}[1]{something #1 are here \ldots{}}
\haha{I like}

产生

something I like are here ...

新建命令不能和现有命令同名,如果要覆盖现有命令,通过 \renewcommand,用法跟 \newcommand 一致。另外还可以使用 \providecommand,在覆盖原有命令时,将不会产生任何警告。

新建命令还可有默认参数

\newcommand{name}[num][default]{definition}

[default] 存在时,第一个参数将会使用它。比如

\newcommand{\haha}[2][very much]{something #2 #1 are here \ldots{}}
\haha{I like} 
\haha[I do not like]{I like} 

产生

something I like very much are here ...
something I like I do not like are here ...

环境

环境的作用和命令类似,但是作用于大段的文本。

\begin{environmentname}
 text to be influenced
\end{environmentname}

\begin\end 之间可以任意使用其他命令或者环境。

新建环境通过

\newenvironment{name}[num]{before}{after}

beforeafter 包含环境内文本被处理之前和之后的一些命令。例子

\newenvironment{dotted} 
{\ldots{}}%
{\ldots{}}%
\begin{dotted}
 I am here
\end{dotted}

产生

... I am here...

注意上面第一组 ... 之后的空格。如果不想要,在 before 里加 \ignorespaces。如果在第二组 ... 和之后的文本间也有不必要的空格,需要在 after 里加 \ignorespacesafterend

注释

注释以 % 区分。注释内容不会被排版。因为行首的空格会被忽略,所以如果需要断行而且断行的地方不要空格,可以放一个 %。在宏定义当中会经常见到。

大块的注释内容需要很多 %,操作起来不太方便,这时候,就可以利用 TeX 的条件语句,在其前面和后面写

\iffalse
what are commented out
\fi

编译

编译是通过命令行进行的。键入

latex foo.tex

回车,将会调用 latex 引擎编译 foo.tex 为 foo.dvi。接下来可以通过

dvips foo.dvi 
ps2pdf foo.ps

产生 pdf 文档。常用的编辑器会把这些命令集成为工具栏按钮,而不必在命令行键入它们。

编译引擎有很多种, pdflatex,xelatex 将会直接输出 pdf 文档,而不必使用 dvips, ps2pdf 等转换工具。

在 Unix 平台,编译可以通过更强大的 GNU Make 来完成。

编译时还可以从命令行读入一些参数,比如,源文档里有如下设置,

\usepackage{ifthen}
\ifthenelse{\equal{\blackandwhite}{true}}{
% 黑白输出时,一些命令
}{
% 彩色输出时,一些命令
}

然后

latex '\newcommand{\blackandwhite}{true}\input{foo.tex}'

产生黑白输出。如果 \blackandwhite 设置成 false,就产生彩色输出。

扩展名

LaTeX 文件扩展名
扩展名描述
.texTeX 源文档
.styLaTeX 样式文件,使用 \usepackage 命令导入
.dtxDocumented TeX。LaTeX sty 文档的分发形式
.ins.dtx 的安装文件,latex foo.ins 会生成所需的 sty 文档和帮助手册
.cls类文档,使用 \documentclass 命令导入
.fd字体描述文档
.dvi设备无关文件 latex 编译产生
.pdfpdf 文档
.log编译日志
.toc存放章节名称,在下一次编译时读入以产生目录
.lof类似于 .toc 产生插图目录
.lot产生表格目录
.aux存放各种标签引用信息,下次编译时读入以产生交叉参考
.idx存放索引词,用 makeindex 处理
.ind处理过的 .idx 文档,下次编译时读入以产生索引
.ilgmakeindex 的日志

宏包

宏包是对现有文档类的各种修改、增补的集合。CTAN 是一个在线的宏包档案库。其中主要的宏包已经包含在各种发行版里,请看常用宏包。要创建自己的宏包,请参考类与宏包写作

使用现有的宏包

在文档导言区使用以下代码导入:

\usepackage[option]{package_name}

如果没有冲突,多个宏包也可以使用以下代码导入:

\usepackage{package1,package2,package3}

安装额外的宏包

额外的宏包建议去 TeX Catalogue 查找,下载。

下载回来的宏包解压后,通常会有一个 readme.txt,其中记录安装配置方法。一般情况下需要这么几步

  • latex foo.ins : 产生 .dtx 文档所需的文件
  • latex foo.dtx 或者 pdflatex foo.dtx : 产生 .dvi 或 .pdf 的参考手册 .sty 格式文件。如果有 .idx 文件,还要照索引的步骤来生成索引。如果还有 .glo 文件,需要
makeindex -s gglo.ist -o foo.gls foo.glo
  • 把产生的文件按照 TeX 目录结构复制到相应的位置 : 通常是你的本地目录 太阳能热水器 里。请查看你的 texmf/web2c/texmf.cnf 找出本地目录位置。
宏包文件安装目录
扩展名目录 ($TEXMF_LOCAL/下)描述
.clstex/latex/base文档类
.stytex/latex/packagename样式文件
.bstbibtex/bst/packagename文献格式
.mffonts/source/public/typefaceMETAFONT 轮廓字体
.fdtex/latex/mfnfssMETAFONT 的字体定义文件
.fdtex/latex/psnfssPostScript Type 1 字体定义文件
.pfb/fonts/type1/foundry/typefacePostScript Type 1 轮廓字体
.afm/fonts/afm/foundry/typefaceType 1 字体的 Adobe Font Metrics
.tfm/fonts/tfm/foundry/typefaceMETAFONT 和 Type 1 字体的 TeX Font Metrics
.vf/fonts/vf/foundry/typefaceTeX 虚拟字体
.dvi/doc宏包帮助文档
.pdf/doc宏包帮助文档
otherstex/latex/packagename其他未说明的文档
  • 字体宏包往往还需要修改 dvips,dvipdfm 等配置,需要参考 readme.txt 或者宏包说明文档。
  • 刷新文件名数据库 : 依发行版的不同,
  • teTeX, TeX Live, fpTeX: texhash
  • web2c: mktexlsr
  • MikTeX: initexmf --update-fndb (或者使用 GUI 的 mo.exe)

如果只是临时使用额外的宏包而不想安装它们,也不想刷新文件名数据库,可以将产生的 .sty .tex 等文档复制到源文档所在目录;如果是在 Linux 下使用 texlive, 还可以直接将他们复制到 ~/.texlive/texmf-var/tex/latex/ 目录下。

大型文档

处理较大的文件,一个有效的方法是把它分成几个部分,然后分别导入,

\input{filename1}
\input{filename2}

另一个常用的导入命令是

\include{filename1}
\include{filename2}

区别在于,\include 时总是开始新的一页, \input 连续不分页。所以\include 适合 book 类按 chapter 分割。

较大的文件通常会编译很长时间,为了快速调试,可以部分编译

%\include{filename1}
\include{filename2}
\include{filename3}

只会编译 filename2.tex,filename3.tex。或者直接声明

\includeonly{filename2,filename3}

注意:filename之间除了逗号,不能有空格。

  • 6
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
LaTeX是一种常用的排版系统,用于创建高质量的科学、技术和学术文档。它提供了一系列功能强大的工具和命令,可以帮助用户进行专业的文档排版,包括数学公式、图表、参考文献等。 LaTeX的学习曲线较陡,并且需要一定的时间和精力来熟悉其语法和命令。因此,许多学生和研究人员会选择参加LaTeX track(LaTeX进阶)的培训或课程,以便更好地掌握这一排版系统。 在LaTeX track中,学员通常会学习LaTeX基础知识,包括文档结构、段落格式、字体设置等。同时,他们还会学习如何插入数学公式、图像和表格,并使用各种命令来自定义文档的样式和布局。 除了基础知识外,LaTeX track还会深入介绍一些高级的功能和技巧。例如,学员可能会学习如何创建复杂的数学公式、生成索引和参考文献、制作幻灯片等。这些知识对于需要撰写学术论文、报告和演示文稿的人来说尤为重要,可以提高他们的工作效率和文档质量。 在LaTeX track的培训过程中,学员通常会进行实际操作和练习,以巩固所学的知识。他们可能需要完成一些作业或项目,用LaTeX创建各种类型的文档,并按照特定的要求进行排版和格式化。这种实践经验可以帮助学员更好地应用所学知识,并提高他们的LaTeX技能。 总的来说,参加LaTeX track对于那些希望提高文档排版能力和使用LaTeX创建专业文档的人来说是非常有益的。通过系统的学习和实践,他们可以掌握LaTeX的各种功能和技巧,并在日后的工作和研究中更好地应用和发挥。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值