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 ...
随机推荐
- React中使用CSS的N种方式
1.在组件中直接使用style,注意,div1各个属性值加双引号 const div1 = { width: "300px", margin: "30px auto&qu ...
- iOS开发之运行报错 dyld: Library not loaded: *** Reason: image not found
xcode运行报错 dyld: Library not loaded: @rpath/Flutter.framework/Flutter Referenced from: /private/var ...
- ES操作
总结一些ES的操作方式及语法 查看健康状态 curl -XGET http://localhost:9200/_cluster/health?pretty 查看索引 curl -XGET ht ...
- rpm制作(简)
yum -y install gcc prec-devel openssl-devel zlib-devel yum -y install rpm-build #生成工作目录 rpmdev-setup ...
- Windows D3D渲染到纹理
D3D渲染到纹理 1 #include <d3dx9.h> 2 3 //---------------------------------------------------------- ...
- API+MVC强类型添加
mvc强类型用HttpClient方法不需要跨域 API添加方法于之前一样,不同的地方在MVC的操作中,而且不需要添加跨域请求 [HttpPost] public ActionResult Add(I ...
- node.js发送短信验证码(附带60秒倒计时插件)
推荐一个简单且功能齐全的发送短信验证码接口1.安装下载后的SDK只包含一个zhenzisms.js文件,直接导入到工程中即可使用.下载 2.用法引入模块 const zhenzismsClient = ...
- python机器学习——BP(反向传播)神经网络算法
背景与原理: BP神经网络通常指基于误差反向传播算法的多层神经网络,BP算法由信号的前向传播和反向传播两个过程组成,在前向传播的过程中,输入从输入层进入网络,经过隐含层逐层传递到达输出层输出,如果输出 ...
- 【PyQt6】Python中QDateTime的常用方法总结
前置 QtDesigner里拖了一个QDateTimeEdit,设置时间格式为"yyyy/MM/dd HH:mm:ss" 常用函数 dt1 = object1.dateTime() ...
- 20200926--图像旋转(奥赛一本通P96 9 多维数组)
输入一个n行m列的黑白图像,将它顺时针旋转90度后输出. 输入:第1行包含两个整数n和m(1<=n<=100,1<=m<=100),表示图像包含像素点的行数和列数. 接下来n行 ...