[整理][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 ...
随机推荐
- 论文笔记之:Generative Adversarial Text to Image Synthesis
Generative Adversarial Text to Image Synthesis ICML 2016 摘要:本文将文本和图像练习起来,根据文本生成图像,结合 CNN 和 GAN 来有效的 ...
- 12-factor
简介 如今,软件通常会作为一种服务来交付,它们被称为网络应用程序,或软件即服务(SaaS).12-Factor 为构建如下的 SaaS 应用提供了方法论: 使用标准化流程自动配置,从而使新的开发者花费 ...
- linux系统的初化始配置 IP 主机名 防火墙 selinux
本次内容包括Linux:ip.主机名.关闭firewalld与selinux 开机临时生效和永久生效 ------------------------------------------------- ...
- linux网络编程-(socket套接字编程UDP传输)
今天我们来介绍一下在linux网络环境下使用socket套接字实现两个进程下文件的上传,下载,和退出操作! 在socket套接字编程中,我们当然可以基于TCP的传输协议来进行传输,但是在文件的传输中, ...
- Mina 资料
http://blog.csdn.net/cutesource/article/category/631854 http://wslfh2005.iteye.com/ http://www.cnblo ...
- DevExpress中GridView上的右键菜单
1. 先拖一个PopupMenu和BarManage控件,设置PopupMenu的Manager属性为BarManager. 2. 先选中GridView,不是GridControl,在属性窗口中,选 ...
- 一篇关于SpringMVC 传统文件上传的方法
一.界面效果 二.html代码 <legend>上传APK文件</legend> <form action="<%=basePath%>/apks/ ...
- Android插件化开发
客户端开发给人的印象往往是小巧,快速奔跑.但随着产品的发展,目前产生了大量的门户型客户端.功能模块持续集成,开发人员迅速增长.不同的开发小组开发不同的功能模块,甚至还有其他客户端集成进入.能做到功能模 ...
- lua 和 c
lua程序其实本身并不能执行,它必须依靠c语言编写的解释器来解释执行,或者说解释器为lua脚本的执行,提供了一个运行环境(lua_state),其中包括函数堆栈,内存分配和回收等机制. 理论上,lua ...
- ORCLE数据库导出导入
从一个用户导出用户所有结构数据 再导入另一个用户里面 ORACLE导出用户下的数据库 exp 命令 用户名/密码服务名 文件地址 owner=(用户名)exp COM_HIOSC_OLD/COM_ ...