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. 参考

[1] LaTeX技巧16:LaTeX首行缩进浅谈

6. 更多请看

  更多本人整理的有关于LaTex的知识还请参见LaTex知识个人汇总

[整理][LaTex]小技巧之——首行缩进的更多相关文章

  1. LaTex 小技巧

    首行缩进 参考:小技巧之--首行缩进 %-------------------------------------------------------------------------------- ...

  2. 微信小程序中使用text-indent实现首行缩进

    问题由来:在小程序中使用text标签包裹了一段话,要做一个首行缩进的效果,但是不起效果 . 解决方法:使用view标签代替text,使用text-indent:2em即可解决.

  3. HTML5 的段落首行缩进

    text-indent:0em;表示当前行不需要缩进,文本顶头开始.这个属性可以用在  div  p等元素下面 文本首行的缩进(在首行文字之前插入指定的长度) p { line-height: 2em ...

  4. div+CSS实现段落首行缩进两个字符

    段落前面空两个字的距离,不要再使用空格了,用CSS实现段落首缩进两个字符.应该使用首行缩进text-indent.text-indent可以使得容器内首行缩进一定单位.比如中文段落一般每段前空两个汉字 ...

  5. 关于css的text-indent首行缩进两个字符和图片缩进的问题

    段落前面空两个字的距离,不要再使用空格了.应该使用首行缩进text-indent. text-indent可以使得容器内首行缩进一定单位.比如中文段落一般每段前空两个汉字. <style typ ...

  6. Latex小技巧

    最近由于离散数学课程作业的需要, 使用$\LaTeX$写pdf报告, 积累了一些$\LaTeX$小技巧, 以后还会陆续补充. 1. 查看某个包的使用手册, 在命令行中输入texdoc XXX, 其中X ...

  7. css 文本单行显示溢出时出现省略号 多行显示溢出时出现省略号 首行缩进

    一.文本单行显示溢出时出现省略号 二.文本多行显示溢出时出现省略号(这种样式只能在webkit和移动端使用,包括小程序,不能设置固定高度) 三.首行缩进两字符 text-indent: 2em; 四. ...

  8. css —— 图片环绕+首行缩进

    1.利用css实现图片环绕文字的效果: 只需要给img标签设置float:left/right即可: 2.实现上段文字首行缩进两个字的效果: 使用 text-indent: 2em;即可(em为相对单 ...

  9. p便签,去掉首行缩进

    <p>fdsfdsfs</p> 使用P标签是,会自动的加上首行缩进,如果想去掉首行缩进,可以使用text-indent属性 <p style="text-ind ...

随机推荐

  1. 数据库之mysql存储程序

    什么时候会用到存储过程 1.存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般 SQL 语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度2.当对数据库进行复杂操作时 ...

  2. SQL Server DBA日常查询视图_数据库性能视图

    1.获取有关按平均CPU 时间排在最前面的五个查询的信息 total_worker_time/execution_count AS [Avg CPU Time], ), ((CASE qs.state ...

  3. HighCharts使用心得

    HighCharts使用心得 前言: 之前很早的一个项目中使用过highcharts,感觉挺方便的,图表类型也比较丰富,而且还支持数据的下钻,但是如果投入商业使用的话还会有一些版权的问题,所以后来就使 ...

  4. lumen 登陆 注册 demo

    本文将用Lumen来实现一个完整的用户注册.登录及获取用户信息的API. Lumen环境搭建和初始化详细步骤请参考上篇文章<Lumen安装配置使用入门>一文. 一.准备工作 1.Lumen ...

  5. Hadoop学习13--zookeeper相关

    zookeeper要保证各个server之间同步,实现同步的协议是zab协议.此协议有两种模式:恢复模式(选主)和广播模式(同步). 服务启动或者leader崩溃时,进入恢复模式.选举成功且大多数se ...

  6. javascript 使用btoa和atob来进行Base64转码和解码

    javascript原生的api本来就支持,Base64,但是由于之前的javascript局限性,导致Base64基本中看不中用.当前html5标准正式化之际,Base64将有较大的转型空间,对于H ...

  7. Atcoder CODE FESTIVAL 2016 qual C 的E题 Encyclopedia of Permutations

    题意: 对于一个长度为n的排列P,如果P在所有长度为n的排列中,按照字典序排列后,在第s位,则P的value为s 现在给出一个长度为n的排列P,P有一些位置确定了,另外一些位置为0,表示不确定. 现在 ...

  8. java 线程的让步

    //线程的让步 // //线程 class xc1 implements Runnable{ public void run(){ for(int i=1;i<=30;i++){ System. ...

  9. How to force the UI to refresh immediately(WPF)

    Question 0 Sign in to vote Folks, In my application, when the user hits "Submit" button, I ...

  10. 2016-08-15: C++ traits

    #include <stdio.h> template <typename T> struct TraitsHelper { static const bool isPoint ...