[整理][LaTex]小技巧之——首行缩进
0. 简介
在LaTex编辑时,有时会遇到这样一个有关于首行缩进的问题。在汉语环境的编辑下,习惯上每段会进行一个两个字的缩进。但是在默认编辑模式下,一个章节下的首段是没有首行缩进的,本文的目的主要是解决中文情况下首段缩进的情况。
1. 默认情况
简介中说到了默认情况下每一个section或者subsection下的首段都没有缩进的,正常情况下的tex代码如下,其生成pdf效果见图1。
%----------------------------------------------------------------------------------------
% 文档整体设定
%----------------------------------------------------------------------------------------
% 设定文档类型
\documentclass[a4paper, 11pt, oneside]{report}
% 使用CTEX中文包
\usepackage{ctex}
% 统一修改正文和数学字体为Adobe Utopia
\usepackage{fourier}
% 产生随机文本
\usepackage{lipsum}
% 语言处理和自动断词
\usepackage[english]{babel}
% 开始文档
\begin{document}
\section{Section }
\lipsum[] % 随机生成一段文字
燕子去了,有再来的时候;杨柳枯了,有再青的时候;桃花谢了,有再开的时候。但是,聪明的,你告诉我,我们的日子为什么一去不复返呢?——是有人偷了他们罢:那是谁?又藏在何处呢?是他们自己逃走了罢:现在又到了哪里呢? \\
我不知道他们给了我多少日子;但我的手确乎是渐渐空虚了。在默默里算着,八千多日子已经从我手中溜去;像针尖上一滴水滴在大海里,我的日子滴在时间的流里,没有声音,也没有影子。我不禁头涔涔而泪潸潸了。\\
\end{document}

图1, 默认情况下的缩进情况
2. 添加缩进
为了给段落添加缩进,我们在此使用到了indentfirst宏包,并用其配置缩进情况。其需要在导言区或者说是头部加上
% 添加首行缩进,两个字符
\usepackage{indentfirst}
\setlength{\parindent}{2em}
在加入代码引入宏包后,我们再来看一看效果。

图2, 添加了缩进代码后的效果
3. 跟进补充
是否觉得上面之后就达到了我们所预想的效果?不不不,有时候就是这么的奇妙,我们来看下一段代码以及它所生成的结果,我们在文中使用了ctex宏包。
%----------------------------------------------------------------------------------------
% 文档整体设定
%----------------------------------------------------------------------------------------
% 设定文档类型
\documentclass[a4paper, 11pt, oneside]{report}
% 使用CTEX中文包
\usepackage{ctex}
% 统一修改正文和数学字体为Adobe Utopia
\usepackage{fourier}
% 产生随机文本
\usepackage{lipsum}
% 语言处理和自动断词
\usepackage[english]{babel}
% 添加首行缩进,两个字符
\usepackage{indentfirst}
\setlength{\parindent}{2em}
% 开始文档
\begin{document}
\section{Section }
\lipsum[] % 随机生成一段文字
燕子去了,有再来的时候;杨柳枯了,有再青的时候;桃花谢了,有再开的时候。但是,聪明的,你告诉我,我们的日子为什么一去不复返呢?——是有人偷了他们罢:那是谁?又藏在何处呢?是他们自己逃走了罢:现在又到了哪里呢? \\
我不知道他们给了我多少日子;但我的手确乎是渐渐空虚了。在默默里算着,八千多日子已经从我手中溜去;像针尖上一滴水滴在大海里,我的日子滴在时间的流里,没有声音,也没有影子。我不禁头涔涔而泪潸潸了。\\
\end{document}
其效果图见下图3。

图3, 效果图
从图3中我们可以看出,红圈标注出的地方仍然没有缩进,那么在这里我们就需要用到\noindent(不缩进)和\indent(缩进),如果使用了CJK宏包,还可以用\CJKindent命令。为了一致性以及方便理解,我们在每一段的首部都加上缩进标志后,其代码如下,效果如图4。
%----------------------------------------------------------------------------------------
% 文档整体设定
%----------------------------------------------------------------------------------------
% 设定文档类型
\documentclass[a4paper, 11pt, oneside]{report}
% 使用CTEX中文包
\usepackage{ctex}
% 统一修改正文和数学字体为Adobe Utopia
\usepackage{fourier}
% 产生随机文本
\usepackage{lipsum}
% 语言处理和自动断词
\usepackage[english]{babel}
% 添加首行缩进,两个字符
\usepackage{indentfirst}
\setlength{\parindent}{2em}
% 开始文档
\begin{document}
\section{Section }
\indent \lipsum[] % 随机生成一段文字
\indent 燕子去了,有再来的时候;杨柳枯了,有再青的时候;桃花谢了,有再开的时候。但是,聪明的,你告诉我,我们的日子为什么一去不复返呢?——是有人偷了他们罢:那是谁?又藏在何处呢?是他们自己逃走了罢:现在又到了哪里呢? \\
\indent 我不知道他们给了我多少日子;但我的手确乎是渐渐空虚了。在默默里算着,八千多日子已经从我手中溜去;像针尖上一滴水滴在大海里,我的日子滴在时间的流里,没有声音,也没有影子。我不禁头涔涔而泪潸潸了。\\
\end{document}
其效果如下图4。

至此,大功告成!
4. 总结
首行缩进功能实现需要宏包\usepackage{indentfirst}及配置\setlength{\parindent}{2em}。
还需要命令\noindent(不缩进)和\indent(缩进)。
5. 参考
6. 更多请看
更多本人整理的有关于LaTex的知识还请参见LaTex知识个人汇总。
[整理][LaTex]小技巧之——首行缩进的更多相关文章
- LaTex 小技巧
首行缩进 参考:小技巧之--首行缩进 %-------------------------------------------------------------------------------- ...
- 微信小程序中使用text-indent实现首行缩进
问题由来:在小程序中使用text标签包裹了一段话,要做一个首行缩进的效果,但是不起效果 . 解决方法:使用view标签代替text,使用text-indent:2em即可解决.
- HTML5 的段落首行缩进
text-indent:0em;表示当前行不需要缩进,文本顶头开始.这个属性可以用在 div p等元素下面 文本首行的缩进(在首行文字之前插入指定的长度) p { line-height: 2em ...
- div+CSS实现段落首行缩进两个字符
段落前面空两个字的距离,不要再使用空格了,用CSS实现段落首缩进两个字符.应该使用首行缩进text-indent.text-indent可以使得容器内首行缩进一定单位.比如中文段落一般每段前空两个汉字 ...
- 关于css的text-indent首行缩进两个字符和图片缩进的问题
段落前面空两个字的距离,不要再使用空格了.应该使用首行缩进text-indent. text-indent可以使得容器内首行缩进一定单位.比如中文段落一般每段前空两个汉字. <style typ ...
- Latex小技巧
最近由于离散数学课程作业的需要, 使用$\LaTeX$写pdf报告, 积累了一些$\LaTeX$小技巧, 以后还会陆续补充. 1. 查看某个包的使用手册, 在命令行中输入texdoc XXX, 其中X ...
- css 文本单行显示溢出时出现省略号 多行显示溢出时出现省略号 首行缩进
一.文本单行显示溢出时出现省略号 二.文本多行显示溢出时出现省略号(这种样式只能在webkit和移动端使用,包括小程序,不能设置固定高度) 三.首行缩进两字符 text-indent: 2em; 四. ...
- css —— 图片环绕+首行缩进
1.利用css实现图片环绕文字的效果: 只需要给img标签设置float:left/right即可: 2.实现上段文字首行缩进两个字的效果: 使用 text-indent: 2em;即可(em为相对单 ...
- p便签,去掉首行缩进
<p>fdsfdsfs</p> 使用P标签是,会自动的加上首行缩进,如果想去掉首行缩进,可以使用text-indent属性 <p style="text-ind ...
随机推荐
- [原创]cocos2d-x研习录-第二阶 概念类之导演类(CCDirector)
CCDirector类是游戏的组织和控制中心(总指挥),它控制着主屏幕的显示.场景的切换和显示,以及游戏的开始.结束和暂停.它的继承关系图如下: CCDirector继承自基类CCObject, ...
- ios获取CELLID,LAC等信息方法
搞了一个来月的这个东西了,还是没有完全解决问题,下面方法可以获取简单的Cell信息,方法一://CoreTelephony.h//主要就这两个结构体,其他需要的话,自己添加struct CTServe ...
- 如何在目录中查找具有指定字符串的文件(shell)
find /tmp/ -name test.txt | xargs grep "hello" 可以查找到tmp目录下文件名test.txt并包含字符串hello的文件.
- knockout 学习实例6 attr
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- Discuz有关问题解决办法汇总
1.Can not write to cache files, please check directory ./data/ and ./data/cache/ . 无法写入缓存 解决办法:在sour ...
- Access使用参数化UPDATE数据时,数据无法更新的问题
今天update access数据库时,使用了参数化的方式,结果不报错,但是数据也没有更新.经过google发现access使用参数化时,参数位置必须和赋值顺序相同才行,否则更新时就会出现数据无法更新 ...
- RMAN_学习笔记2_RMAN Setup配置和监控
2014-12-23 Created By BaoXinjian
- 在 Windows上配置NativeScript CLI
1.安装Node.js,到https://nodejs.org/下载安装 2.安装Chocolatey,https://chocolatey.org/,先看一下关于chocolatey的介绍: 安装方 ...
- connectionString加密
首先是加密,解密类. using System; using System.Collections.Generic; using System.IO; using System.Linq; using ...
- java 线程的命名
//线程的命名 class xc2 extends Thread{ public void run(){ for(int i=0;i<20;i++){ //Thread.currentThrea ...