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 ...
随机推荐
- 基于Linux的ssh协议配置sftp
sftp采用的是ssh加密隧道,安装性方面较ftp强,而且依赖的是系统自带的ssh服务,不像ftp还需要额外的进行安装 1. 创建sftp组 创建完成之后使用cat /etc/group命令组的信息 ...
- Windows相关产品密钥
Win7/Win8/Win10系统下Visual Studio 2013各个版本的密钥:Visual Studio Ultimate 2013: BWG7X-J98B3-W34RT-33B3R-JVY ...
- react intl 国际化
方案描述:由于采用单页面,所以按钮切换时会刷新页面 1.安装 react-intl babel-plugin-react-intl json-loader npm i react-intl babe ...
- 在CentOS下安装nginx+php环境
一.nginx 安装 1. 在nginx官网下载nginx源码 提供一个nginx官网下载地址: http://nginx.org/download/nginx-1.12.2.tar.gz 注意:请先 ...
- vue 打包后可放置在任意名称的文件夹下
1. build->utils.js: 2. build->webpack.prod.conf.js: 3. config->index.js:
- java接口自动化需要的技术
1.testNG需要了解的知识 ITestContext这个类可以直接在方法参数里使用,主要作用是可以通过它的context.getSuite()直接获取suite的相关信息.还可以通过它的 cont ...
- re相关正则表达式(re.sub、re.I 、re.S、re.M)
re.I 表示忽略大小写 re.S 表示全文匹配 re.M 表示全文拼配行尾段位的字符或者数字,影响^和$ re.sub 表示替换 使用方法: re.sub(pattern, repl, string ...
- Crypto入门 (十一)easychallenge
前言: 这题跟python有关,可见看懂python代码还是很有必要得,需要有一些python基础才好 easychallenge: 题目: 下载后来发现是一个.pyc为后缀得文件,查找资料可知,该文 ...
- JavaScript基础学习之二
目录 JavaScript HTML DOM事件 事件触发1 事件触发2 addEventListener() 事件冒泡或事件捕获? 事件委托 removeEventListener() 方法 事件对 ...
- TRACE()宏的使用
TRACE()宏一般是用在mfc中的,用于将调试信息输出到vs的输出窗口中(这是关键), 这在使用vs作为开发工具的时候,是非常方便的. 然而在开发一般c++程序时,却貌似无法获得这样的便利,其实只要 ...