Latex 文本详细篇

标题页

  • 声明标题、作者和日期分别用 \title{}\author{}\date{} ,内部可以使用\\换行。声明一般放在导言区,之后在文档内可以直接用 \maketitle 生成标题页。
  • 如果一个文档有多个作者,之间用\and分隔
  • 在article或ctexart文档类中,标题不单独成页;在report,book或ctexrep,ctexbook文档类中,标题单独占用一页。也可以用文档类选项titlepage和notitlepage来设置标题是否单独成页

多文件编译

  • \include{文件名} 可用来导入另一个文件的内容作为一个章节,文件名不用带.tex扩展名,该命令会在插入的文件前后另起新页,并将该文件内容贴到include的位置。导入的.tex文件不用\begin{document}和\end{document}
  • 可以在导言区使用 \includeonly{文件列表} ,其中文件列表中的文件用英文逗号分隔开,不需要.tex扩展名。只有文档列表中的文件才能被引入主文件。
  • 如果不需要另起新页,直接把内容复制在所在位置(如添加一些图片),可以使用 \input{文件名} 指令

基本文档类和ctex文档类

基本文档类选项:
LATEX基本文档类主要分为:article,report,book

类型 选项 说明
纸张大小 a4paper
a5paper
b5paper
letterpaper (默认值)
单双面 oneside 单面(article,report默认值)
twoside 双面(book默认值)
字号大小 10pt (默认值)
11pt
12pt
分栏 onecolumn 单栏(默认值)
twocolumn 双栏
标题格式 titlepage 标题单独成页(report,book默认值)
notitlepage 标题不单独成页(article默认值)

ctex文档类选项:
ctex提供了三个文档类:ctexart,ctexrep,ctexbook
下面列举ctex一些特有的选项,基本文档类的选项依旧可以使用

类型 选项 说明
字号大小 c5size 正文五号字(仅文档类,默认值)
cs4size 正文四号字(仅文档类)
章节标题 sub3section 使\paragraph标题单独一行(仅文档类,默认无)
sub4section 使\paragraph和\subparagraph标题都单独一行(仅文档类,默认无)

页面尺寸

geometry宏包:
geometry提供了2种设置页面的方式

\usepackage[a4paper,left=3cm,right=3cm] {geometry}
\usepackage{geometry}
\geometry{a4paper,left=3cm,right=3cm}
页面尺寸
  • geometry宏包也支持a4paper,landscape这样的参数
  • 可以使用centering设置版心居中
  • 使用scale=比例设置版心占页面长度比例
  • 使用ratio=比例设置版面边距占页面长度比例
  • 使用lines=行数设置版心高度在默认字体和行距下能容纳的文本

页面格式

  • 页码计数器是page,会随着文档自动计数
  • 可以使用 \pagestyle{type}\thispagestyle{type} 来设置页面风格,其中 \thispagestyle{type} 设置的是当前页面
style 说明
empty 没有页眉页脚
plain 没有页眉,页脚是居中页码
headings 没有页脚,页眉是章节名称和页码

标准文档类中,book默认headings风格,report和article默认plain风格,中文的几个ctex文档类默认headings风格


分栏控制

  • 在文档中加twocolumn选项可以使文档双栏排版
\documentclass[twocolumn] {article}
  • 在双栏模式下, \newpage\pagebreak只表示分栏,不表示分页,可以使用 \clearpage\cleardoublepage完成分页或进入双面奇数页的功能
  • multicol宏包提供了一种比较好的分栏功能,但不能使用浮动体和边注,不再使用 \newpage强制分栏,而是用 \columnbreak
%导言区
\usepackage{multicol}
%正文
\begin{multicols}{2}
...
\end{multicols}

摘要

摘要从 \begin{abstract} 开始,到 \end{abstract} 结束


目录

  • 使用 \tableofcontents自动生成目录并输出
  • 标准文档类默认输出3级目录,aricle是section,subsection,subsubsection,而report和book是chapter,section,subsection
  • 在导言区使用宏包tocbibind可以把目录、参考文献等加入目录
  • 如果需要手工加入目录项可以在正文中使用 \addcontentskine{文件}{类型}{标题文字}
    文件章节目录使用toc,图表目录使用lof和lot。参数指章节或图表命令名,即section,figure等。标题文字为目录项的标题。

划分章节

名称 命令 说明
部分 \part{} 可选最高层
\chapter{} report,book或ctexrep,ctexbook的最高层
\section{} article或ctexart的最高层
小节 \subsection{}
小小节 \subsubsection() report,book或ctexrep,ctexbook默认不编号,不编目录
\paragraph{} 默认不编号,不编目录
小段 \subparagraph{} 默认不编号,不编目录
  • 可以使用* (如\chapter*{})表示不编号、不编目录的章节
  • 命令 \appendix 表示附录的开始,后面的所有章或节都改用字母进行编号

空格

任意多个空格与单个空格效果相同,每行最前面的空格会被忽略


换行

  • 连续两个换行表示分段,段与段之间会自动得到合适的缩进,任意多个空行与一个空行的效果相同
  • 使用\\直接另起一行,上一行保持原来的格式
  • 使用 \linebreak另起一行,上一行分散开对齐
  • 可以用 \par分段

缩进

  • 西方标准文档类,默认不缩进;中文文档类,默认每段缩进两个汉字宽
  • 如果在某一段开头临时禁用缩进,在段前使用 \noindent
  • 如果在本来没有缩进的地方使用缩进,可以用 \indent命令产生一个长为 \parindent的缩进
  • 在西方文档中可以使用宏包indentfirst启动章节首段的缩进

字体

有两种形式的命令用于声明字体:

  • \命令{文字部分},称为带参数命令,用于少量字体更换
  • {\命令 文字部分},称为声明命令,用于分组或环境中

中文字体命令: songti(宋体),heiti(黑体),fangsong(仿宋),kaishu(楷书),bfseries(粗体),itshape(斜体),带参和声明命令相同
英文字体命令:

字体 带参数命令 声明命令
意大利 \textit{文字} {\itshape 文字}
倾斜 \textsl{文字} {\slshape 文字}
加宽加粗 \textbf{文字} {bfseries 文字}

使用斜体声明 \itshape\slshape时,最后一个倾斜的字母会超出右边界,使得后面文字和它的距离过近,但是使用带参数命令 \textit\textsl会自动修正这个距离
统一设置字体的指令:

  • \fontencoding{编码}
  • \fontfamily{族}
  • \fontseries{系列}
  • \fontshape{形状}
  • \fontsiez{大小}{基本行距}
    设置完后,在后面加一个 \selectfont 命令生效
    也可以使用 \usefont{编码}{族}{系列}{形状}

脚注

使用 \footnote{脚注内容} 产生脚注,以 \footnotesize 的字号输出,脚注只能使用在正文中。


强调

英文字体强调:

  • 强调字体:带参数命令 \emph{文字},声明命令 {\em 文字}
  • 粗体:见字体中的加宽加粗
    现定义一个粗体的强调环境
\newcommand\Emph{\textbf}%定义粗体的强调环境名为Emph
This is \Emph{emphasized} text.%强调emphasized
  • 下划线:使用宏包ulem中的 \uline{文字} 添加下划线,但是宏包ulem将\emph命令也变为了下划线,可以通过在宏包中加入normalem参数解决这个问题

中文字体强调:
使用 \emph{文字} 进行强调


字号

英文字号:

  • 简单的声明命令:\tiny,\scriptsize,\footnotesize,\small,\normalsize,\large,\Large,\LARGE,\hugh,\Huge(从小到大)
  • 在标准的LATEX文档类中,可以设置文档全局字号10pt,11pt,12pt

中文字号:

  • 使用 \zihao{参数} ,参数0表示除号,-0表示小除号,1表示一号,-1表示小一号......6表示六号,-6表示小六号,7表示七号,8表示八号(从大到小)

行间距

  • 设置字号时,就设置了基本间距为文字大小的1.2倍
  • 可以使用命令 \linespread{因子} 来设置实际行距为基本行距的倍数,该命令在 \selectfont 命令后生效,因为行距是根据字体的大小来变更的
  • 使用setspace宏包中 \setstretch{因子} 可以在修改行距的同时保持数学公式、浮动体、脚注间距的值也同样合理
  • 也可以使用字体中的 \fontsize直接设置字号和基本间距,注意:需要使用\selectfont后才能生效
  • \lineskiplimit 定义一个界限值,当前一个盒子的底部到后一个盒子的顶部距离小于这个界限时,行间距改由 \lineskip 设置,这样可以避免由于两行包含太高的内容(如分式)而距离过紧,如
\setlength\lineskiplimit{2.625bp}
\setlength\lineskip{2.624bp}

盒子

TEX处在不同工作模式下产生不同的盒子,水平模式(如组字成行)下小盒子水平排列组成大盒子,垂直模式(组行成页)下小盒子垂直排列成大盒子

水平盒子:

  • 使用 \mbox{内容} 产生一个盒子,盒子内的内容不允许断行
  • \makebos\mbox相似,但是可以带两个参数,指定盒子的宽度和对其方式 \makebox[宽度][位置]{内容}
    位置对其参数可取c(中),l(左),r(右),s(分散),默认居中

几种盒子的用法:

\makebox[1em] {\textbullet}text \\
\makebox[5cm] [s] {some any more} \\

生成结果:


  • 命令 \fbox\framebox可以产生带边框的盒子,语法与 \mbox\makebox类似
\framebox[5cm] [s] {some any more}

垂直盒子:
垂直盒子中的内容会分行分段,语法格式如下:

\parbox[位置] [高度] [内容位置] {宽度} {盒子内容}

或者

\begin{minipage}[位置] [高度] [内容位置] [宽度]
盒子内容
\end{minipage}
  • 位置参数可以使用c(居中),t(顶部),b(底部),默认为居中
  • 内容位置参数可以使用c,t,b,s(垂直分散对齐)

段间距

使用\parskip控制段间距,例

\setlength\parskip{0pt}

对齐方式

LATEX默认段落是两端均匀对齐的, \raggedright命令可以设置段落左对齐,在双栏文档中非常实用,raggedleft表示右对齐, \centering表示居中
如果某一小段需要设置居中,可以

\begin{center}
这里居中
\end{center}

引用

引用环境分两种:quote和quotation。quote在段前没有首行的缩进,每段话的左右边距比正文大,通常适用于一小段的内容引用。


交叉引用

先使用 \label{标签名} 为一个地方设置标签,再使用 \ref{标签名} 即可进行引用。公式也可以直接引用,例:

\begin{equation}
a^2 + b^2 =c^2
\label{gougu}
\end{equation}
勾股定理(\ref{gougu})

可以得到:


如果需要设置网页超链接,可以引入hyperref宏包,然后使用 \url{网址}


列表

一共有3种列表环境:标号的enumerate环境,不编号的itemize环境和使用关键字的description环境。在列表环境内部使用\item开始一个列表项。列表可以嵌套使用,最多4层。

\begin{enumerate}
\item 列表1.1
\item 列表1.2
\begin{itemize}
\item 列表2.1
\item 列表2.2
\begin{description}
\item[标签1] 列表3.1
\item[标签2] 列表3.2
\end{description}
\end{itemize}
\end{enumerate}

\itemize\enumerate可以手动设置临时编号

\begin{enumerate}
\item 列表1.1
\item[1a.] 列表1.2
\item 列表1.3
\end{enumerate}

列表生成后:


使用enumerate时,里面的计数还可以使用 \arabic(阿拉伯数字), \roman(小写罗马数字), \Roman(大写罗马数字), \alph(小写字母), \Alph(大写字母),但是需要先定义环境的编号,再使用

\renewcommand\theenumi{\roman{enumi}}%设置小写罗马
\renewcommand\labelenumi{(\theenumi)}%设置括号

\begin{enumerate}
\item 列表1.1
\item 列表1.2
\item 列表1.3
\end{enumerate}

定理类环境

定理类环境可以产生一个标题、编号和特定格式的文本
\newtheorem 用了声明一个新的定理环境,一般定义方法: \newtheorem{环境名}{输出的标题名} ,使用方法: \begin{环境名} [小定理名]\end{环境名}

\newtheorem{thm}{定理}
\begin{document} %开始输出部分

\begin{thm} [勾股定理]
这里是勾股定理
\end{thm}
\begin{thm} [勾股定理2]
这里是勾股定理2
\end{thm}
\end{document}

代码环境

可以使用verbatim环境书写代码环境

\begin{verbatim}
#include 
int main()
{
    printf("hello");
}
\end{verbatim}

如果需要语法高亮功能,可以使用listings宏包

\usepackage{listings}
\begin{document}
\begin{lstlisting} [language=C]
/* hello.c */
#include 
int main()
{
    printf("hello");
}
\end{lstlisting}
\end{document}

可以使用一个带框的盒子来书写代码,方法如下:

%下面部分写在导言区
\newsavebox\verbatimbox%定义盒子名字
\begin{lrbox}\verbatimbox
\begin{minipage}{15em}%定义宽度
\begin{verbatim}
/* hello.c */
#include 
\end{verbatim}
\end{minipage}
\end{lrbox}
%下面部分写在文档内
\fbox{\usebox\verbatimbox}%使用

输出:


你可能感兴趣的:(Latex 文本详细篇)