LaTeX in 24 Hours - 3. Formatting Texts I
文章目录
- 本章内容:文本格式 I
- 3.1 Sectional Units
- 3.2 Labeling and Referring Numbered Items
- 3.3 Texts Alignment
- 3.4 Quoted Texts
- 3.5 New Lines and Paragraphs
- 3.6 Creating and Filling Blank Space
- 3.7 Producing Dashed Within Texts
- 3.8 Preventing Line Break
- 3.9 Adjusting Blank Space After a Period Mark
- 3.10 Hyphenating a Word
其他章节目录:
https://www.cnblogs.com/dansz/p/12819112.html
本章内容:文本格式 I
3.1 Sectional Units
生成章节的命令如下:
| 命令 | 作用 | 例子 |
|---|---|---|
| \chapter{} | 章 | \Chapter{Title} |
| \section{} | 节 | \section{Texts} |
| \subsection{} | 子节 | \subsection{Texts} |
| \subsubsection{} | 子节的子节 | \subsubsection{Texts} |
| \paragraph{} | 段落 | \paragraph{Texts} |
| \subparagraph{} | 子段落 | \subparagraph{Texts} |
注意:命令有先后顺序,应该正确地嵌套使用。比如:\section{}后面是\subsection{};\paragraph{}后面是\subsection{}。下图是标题序号的格式:

解释:
- 当文档类型是报告或者书籍的时候,文档包含有chapter,这个时候标题编号仅对chapter{}, section{},和subsection{}有用,即使使用了subsubsection{},这个标题也不会有编号。
- 当文档类型是文章的时候,仅包含节和段落,只有节有编号
重点:
有些标题有时候我们不需要编号,例如前言,附录,参考文献等等。这个时候我们可以添加星号表示该标题不添加序号:\chapter*{}, \section*{}, \subsection*{} 和\seubsubsection*{}.
3.2 Labeling and Referring Numbered Items

注意:rkey是唯一关键字,引用和标签对应即可。另标签仅对有编号的标题有用。
- 标签 - \label{ rkey}
- 引用 - \ref{ rkey}
- 引用页码 - \pageref{}
CG is defined on page \pageref { sec:cg }
如果被引用对象是在同一页,最好用“on this page”。 - \vref{}
\vref{}通常会同时执行\ref{}和\pageref{}。- 当标签和引用在同一页时,仅执行\ref{}
- 当标签和引用相差一页时,除了执行\ref{},还会生成:“on the facing page”,“on the preceding page”或者"on the next page"。
- 当标签和引用差距超过一页,则同时执行\ref{}和pageref{}.
例子: ‘quoted texts are discussed in \S\vref { sec:quote }’
结果: ‘quoted texts are discussed in §3.4 on the next page’。
- \vpageref{}
\vpageref[assame][adiffer u]{ rkey }
很高级的样子,应该用不上,感兴趣的同学可以自行研究。
3.3 Texts Alignment
LaTeX默认两端对齐,其他对齐方式如下:
- 左对齐 - flushleft 或者 \raggedleft
- 右对齐 - flushright 或者 \raggedright
- 居中 - center 或者 \centering
3.4 Quoted Texts

- 在LaTeX中,左单引号建议使用键盘左上角(~)键,左双引号建议使用两次左单引号。
- 如上图所示,有时候需要引用原文,这时候可以使用quote或者quotation进行操作,两个命令的区别在于quota只是引用一小段,而quotation用于引用多个段落。
- 图中的spacing用于调整行间距,注:单倍行距可使用singlespace。
3.5 New Lines and Paragraphs
LaTeX 认为所有东西都是在同一行或者同一段落中,因此如果要换行必须用一些特定的字符指明。
3.5.1 Creating New Lines
\newline 用于创建新的一行,此外,在上一行末尾加上 \linebreak,\,\\以及一个或多个空行也可以创建新行,但效果略微不同,具体如下图所示。

注:空行的效果是创建新行并缩进。
另外,\[]用于要指定行间距,例如:\\[2 mm]。此外,\\∗*∗或者\\∗*∗[]也可以分行,但是不允许分页。
3.5.2 Creating New Paragraphs
\par用于创建新段落。当然,\paragraph{}, \subparagraph{}这种可以带参数的命令还可以创建带标题的段落。此外,\parindent,\noindent和\parskip用于调整首行缩进以及段前间距。具体如下:

注:
(1)用的\ par命令创建的新段落默认有首行缩进。
(2)增加的\ parindent = 8 mm命令将段落缩进增加到8 mm。
(2)用\ noindent禁用缩进,用\parskip 指定段间距。
注意,\ parindent和\ parskip命令全局有效,从(2)(3)(4)中可以看出,缩进8mm将作用于后面所有用\par指定的段落。
\ paragraph{}命令输出的新段落与上一段落之间有段间距而没有首航缩进。\subsection{}命令与\paragraph{}命令的效果相似,唯一的区别是,段落开头有缩进。
3.6 Creating and Filling Blank Space
在LaTeX中,直接按Tab键或者多个空格的结果是只有一个空格。
对于空白这一问题,LaTeX有自己的空白符号,具体如下:
命令

注意:
只要是以字母结尾的命令都需要在命令后面加空格以区分命令和文本。单位

注意:
有些命令是把参数放在花括号里面的{}。
在\vskip,\vspace {}等命令中,其参数的长度单位可以是mm(millimeter),cm(centimeter),in(inch),pt(point),em(width of M)和ex(width of x)。通常,单位em用于水平长度,而ex对于垂直长度。此外,这些长度单位还可以按比例给值,对比对象可以是\textheight(页面上文本的高度),\textwidth(页面上文本的宽度)或\linewidth(列的宽度)。
例如:0.2 \textheight 指垂直间距为 \textheight的20%。0.3 \linewidth指水平间距为\linewidth的30%。页首行,页末行
在LaTeX中,如果要在页首行和页末行添加空白,需要在命令前面添加~,或者使用加星号的命令,例如:\vspace*{}。
同样的,相对于使用\hfill 和\vfill,更建议使用\hspace*{\fill} 和 \vspace*{\fill}。
注意:
- \vskip,\vspace{}以及其他命令的参数若为负数会造成字符重叠。
- 如果输入的间隔值太大,受页面尺寸限制,这些空白可能会超出页面甚至延伸到下一行。
3.7 Producing Dashed Within Texts
要在LaTeX中输入短横线,可以使用-输入,需要注意的是,在LaTeX中,有三种不同长度的短横线:-(一个-),–(两个–),––(三个—)。
最短的短横线用于单词,例如复合词这种。
第二短的短横线用于指定范围。
最长的短横线用于定义某个事物。
具体如图中所示。

3.8 Preventing Line Break
因为像两端对齐,左右对齐这种格式问题都是预先定义好的,这时候如果有一些特定的单词就有可能被分成两行,例如,不希望将“ Dilip‘Datta”拆分为“ Dilip”和“ Datta”,Dilip在一行,Datta在下一行。这时候可以在单词之间加“~"或”\“, 将这两个词强制打印在同一行中,而没有任何空格,如“ Dilip~Datta”或“ 10 ,inch”
- \nolinebreak
\nolinebreak是另一个用于防止换行的命令,例如Dilip \nolinebreak \Datta’。 - \mbox{}
事实上,”~“,“\”和“\nolinebreak”,这三个命令不是特别好,尤其是在单词中间不被允许插入空格的情况下。更好的选择是用\mbox{}。
例如,可以使用“ \mbox”强制将“ NSGA-II-UCTO”打印在同一行中:
\mbox{NSGA-II-UCTO}。
注意,这些命令输出的文字可能超出页面宽度。因此,用了这些命令最好再检查下输出。
3.9 Adjusting Blank Space After a Period Mark
一句话结束之后通常会加上一个句号,英文中是一个点“.”,这个时候下一句话前面会有一个很大的间隔。而有的时候我们用了句号,却不希望有很大间隔,比如“Dr. Heyley”,这个时候可以用“.\”,“~”或者“空格”来减小间隔的宽度。
如果句号后面跟了一个右括号,最好用反斜杠标记一下,因为句号加右括号有可能被LaTeX认为是另一个命令。
如果一句话的结尾是大写字母加句号,这个时候他的空格会很小,这时候需要加“@”来增加间隔宽度。

3.10 Hyphenating a Word
如果一行的最后一个单词超出页面宽度,则通常通过将单词分为两部分,用第一部分加连字符放在第一行的末尾,然后将第二部分放在下一行。但是,在许多情况下,LaTeX可能不会这么处理,而是任由单词超过页面。
在这种情况下,可以通过在单词之间插入“-”,手动地指定适当的断行,例如,在当前行的末尾使用’kind-ness’,从而在一行末尾打印’kind-’,在下一行的开始处显示“ ness”。
对于一些新出现的词语,LaTeX可能无法在段落中提供正确的连字符,这时候,可以放在sloppypar环境中。
例如\begin{sloppypar} Maneswarirabha\end {sloppypar}。当然,写完之后最好再检查一下。
LaTeX in 24 Hours - 3. Formatting Texts I的更多相关文章
- LaTeX技巧24:LaTeX常用命令集锦
\hyphenation{word list} %断字命令:\showthe\topmargin %显示某个参数的数值或者内容: 在tex编译过程中出现行溢出(overflow hbox)是由于断字程 ...
- Python -- tabulate 模块,
pip install tabulate >>> from tabulate import tabulate >>> table = [["Sun&quo ...
- web api\ protobuf \formatter
9:50:20吴X2014/11/7 9:50:20 9:55:14吴X2014/11/7 9:55:14webapi实现protobuf吴X2014/11/7 9:56:29http://www.s ...
- 一个使用fasttext训练的新闻文本分类器/模型
fastext是什么? Facebook AI Research Lab 发布的一个用于快速进行文本分类和单词表示的库.优点是很快,可以进行分钟级训练,这意味着你可以在几分钟时间内就训练好一个分类模型 ...
- Latex Notes
latex Table of Contents 1. Presentation/Slides with Beamer 2. Drawing in LaTex With TikZ 3. Tracked ...
- Fedora 24中的日志管理
Introduction Log files are files that contain messages about the system, including the kernel, servi ...
- 我的LaTeX中文文档模板
中文LaTeX处理模板 环境MiTex内核 编辑环境WinEdit 源码如下: \documentclass[a4paper,12pt]{article} \usepackage{CJK} %设定字号 ...
- Excel 转Latex 及tex表格的处理 总结
Excel 转LaTex表格 与TeX表格的处理 总结 工具使用:一个Latex表格输入神器--Excel2Tex插件的安装过程. 首先下载插件:http://www.ctan.org/tex-a ...
- LaTex随笔
最近简单接触了LaTex排版,留下一些笔记供日后参考. 1.基本格式 \documentclass{article}\title{……}\begin{document}\maketitle\secti ...
- 用Latex写学术论文: IEEE Latex模板和文档设置(\documentclass)
1.可以在博客园中使用latex代码输出公式,以后再以不用复制图片粘贴啦: http://www.cnblogs.com/cmt/p/3279312.html 例如以下代码两边加上 $ 符号后 x(k ...
随机推荐
- 【剑指Offer】【树】树的子结构
题目:输入两棵二叉树A,B,判断B是不是A的子结构.(ps:我们约定空树不是任意一个树的子结构) /* struct TreeNode { int val; struct TreeNode *left ...
- React如何修改props && 子组件调用父组件方法
/** * 子组件如何更改父组件的state呢? * 父组件传递下来的props不满足要求,往往需要修改 * * * Author: shujun * Date: 2020-10-25 */ impo ...
- Carthage 使用介绍
1.安装 Carthage 安装 brew install carthage 检测当前版本 carthage version 升级至最新版本 brew upgrade carthage 2.如果更新出 ...
- Mybatis实现树状结构查询
1.实体类 @Data public class CourseChapterVO implements Serializable { private static final long serialV ...
- Unity多线程使用(线程池)
1.在C#中使用线程池需要以下这个类库using System.Threading 2.开单个线程(unity程序停止前 线程一定要关闭) private Thread tempThread; voi ...
- CSS中z-index的属性与使用
z-index 属性指定一个元素的堆叠顺序. 拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面. Z-index 仅能在定位元素上奏效,z-index 进行定位元素(position:abso ...
- 杭电OJ--1014
问题描述: 计算机模拟通常需要随机数.生成伪随机数的一种方法是通过窗体的函数seed(x+1) = [种子 (x) + STEP]% MOD其中 "%" 是模量运算符.这样的函数将 ...
- C语言||一作业04
作业头 这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/SE2020-3 这个作业要求在哪 https://edu.cnblogs.com/campus ...
- kali 下安装tplmap
kali 下安装tplmap 1. 安装kali下的python2的pip工具 kali2020版及以上, 输入python2命令会执行python2, python3也存在. 但pip默认是pip3 ...
- 关于LAB2中的assert
在LAB2中,测试类里会看到这样一句话 注释的意思是确保VM参数启用 -ea,这是个新东西,平时也没写过,我们来了解一下. assert不同于assertEquals这样的函数,是Java中的一个关键 ...