LaTeX/基础知识
来源:互联网 发布:linux mint 18界面美化 编辑:程序博客网 时间:2024/06/05 15:03
LaTeX/基础知识
出自CTeXWiki
本文以介绍 LaTeX 基本排版知识为目的。安装和配置请参考首页发行版。
目录
[隐藏]- 1源文档
- 1.1文档类
- 1.2输入
- 1.3命令
- 1.4环境
- 1.5注释
- 2编译
- 3扩展名
- 4宏包
- 4.1使用现有的宏包
- 4.2安装额外的宏包
- 5大型文档
源文档
LaTeX 是一种标记语言,类似于 HTML。LaTeX 源文档是 plain ASII 文本文档。你可以使用任何编辑器创建、打开、修改它。一个最简单的文档如下
\documentclass[11pt]{article}\begin{document} Hello world!\end{document}
其中 \documentclass
声明文档类:article
,11pt
选项:使用 11pt 字体。\begin{document}
和 \end{document}
声明一个 document 环境,其间即是需要排版的内容。\documentclass
和\begin{document}
之间为导言区。通常保存一些方便的全局配置。无数作者已经贡献了他们的配置,称为宏包。
文档名称必须简洁易懂,不能有空格或者其他特殊字符,最好只用小写字母加数字。
文档类
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}
before
和 after
包含环境内文本被处理之前和之后的一些命令。例子
\newenvironment{dotted} {\ldots{}}%{\ldots{}}%\begin{dotted} I am here\end{dotted}
产生
... I am here...
注意上面第一组 ... 之后的空格。如果不想要,在 before
里加 \ignorespaces
。如果在第二组 ... 和之后的文本间也有不必要的空格,需要在after
里加 \ignorespacesafterend
。
注释
注释以 % 区分。注释内容不会被排版。因为行首的空格会被忽略,所以如果需要断行而且断行的地方不要空格,可以放一个 %。在宏定义当中会经常见到。
大块的注释内容需要很多 %,操作起来不太方便,这时候,就可以利用 TeX 的条件语句,在其前面和后面写
\iffalsewhat 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,就产生彩色输出。
扩展名
\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 找出本地目录位置。
- 字体宏包往往还需要修改 dvips,dvipdfm 等配置,需要参考 readme.txt 或者宏包说明文档。
- 刷新文件名数据库 : 依发行版的不同,
- teTeX, TeX Live, fpTeX:
texhash
- web2c:
mktexlsr
- MikTeX:
initexmf --update-fndb
(或者使用 GUI 的 mo.exe)
- teTeX, TeX Live, fpTeX:
如果只是临时使用额外的宏包而不想安装它们,也不想刷新文件名数据库,可以将产生的 .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之间除了逗号,不能有空格。
- LaTeX/基础知识
- LaTex: 基础知识
- LaTeX 基础知识
- 【LaTeX入门】01、LaTeX基础知识
- latex
- latex
- LATEX
- LaTeX
- LaTeX
- Latex
- latex
- Latex
- LaTeX
- LaTex
- LaTex
- LaTeX
- latex
- Latex
- 常见MFC UI界面库
- Java异常处理的陋习展播
- 数据库的连接
- bom
- 下拉菜单案例
- LaTeX/基础知识
- 精辟的话C++ VS JAVA
- 已成功与服务器建立连接,但是在登录过程中发生错误。 (provider: 共享内存提供程序, error: 0 - 管道的另一端上无任何进程。)
- 库函数(备忘)--time.h
- C#学习日志(3)
- 球缺 体积计算
- Struts-Validate框架
- windows
- 联通10试点城市IPTV平台确定,黑马频出