\hangindent 在 minipage 内外表示不一致

2020-08-12 14:47发布

## 编译环境 操作系统 * [x ] Windows 7/8/10 Tex发行版 * [x ] TexLive `2020` ## 我的问题 测试时发现,相同的 `\hangindent` 代...

## 编译环境 操作系统 * [x ] Windows 7/8/10 Tex发行版 * [x ] TexLive `2020` ## 我的问题 测试时发现,相同的 `\hangindent` 代码,在 minipage 内、外导致的缩进量不同。不知道是那里的问题。 如下代码: ```tex \documentclass[UTF8]{ctexart} \usepackage{geometry} \geometry{a4paper,left=2cm,right=2cm,top=2cm,bottom=2cm} \begin{document} \setlength{\hangindent}{5.4em}{有一个豆荚,里面有五粒豌豆。豆荚和豌豆都是绿的,豌豆就以为整个世界都是绿的。豆荚在生长,豌豆也在生长。豌豆按照它们在家庭里的地位,坐成一排。太阳在外边照着,把豆荚晒得暖洋洋的。} In minipage \begin{minipage}{0.6\linewidth} \setlength{\hangindent}{5.4em}{有一个豆荚,里面有五粒豌豆。豆荚和豌豆都是绿的,豌豆就以为整个世界都是绿的。豆荚在生长,豌豆也在生长。豌豆按照它们在家庭里的地位,坐成一排。太阳在外边照着,把豆荚晒得暖洋洋的。} \end{minipage} \end{document} ``` PDF截图 ![minipage 内外缩进量不同](https://wenda.latexstudio.net/data/attach/200812/VgnmEsnS.png "minipage 内外缩进量不同")
2条回答
五行真人
2020-08-13 16:04
总结:出现我最开始的不一致,是因为两个原因共同导致: 1. `minipage` 环境整体是一个盒子,这个盒子缩进了 `\parindent` 的长度, 2. `minipage` 环境内部的 `\parindent` 被系统默认置为 `0px` (但外面的 `\parindent` 并不为 0) 所以解决这一问题可以有两个方法。 **方法1**: 修改外部的 `\parindent`。 在 `导言` 区,将 `\parindent` 设置为0。完整代码如下: ```tex \documentclass[UTF8]{ctexart} \usepackage{geometry} \geometry{a4paper,left=2cm,right=2cm,top=2cm,bottom=2cm} \setlength{\parindent}{0pt} \begin{document} \setlength{\hangindent}{5.4em}{有一个豆荚,里面有五粒豌豆。豆荚和豌豆都是绿的,豌豆就以为整个世界都是绿的。豆荚在生长,豌豆也在生长。豌豆按照它们在家庭里的地位,坐成一排。太阳在外边照着,把豆荚晒得暖洋洋的。} In minipage \begin{minipage}{0.6\linewidth} \setlength{\hangindent}{5.4em}{有一个豆荚,里面有五粒豌豆。豆荚和豌豆都是绿的,豌豆就以为整个世界都是绿的。豆荚在生长,豌豆也在生长。豌豆按照它们在家庭里的地位,坐成一排。太阳在外边照着,把豆荚晒得暖洋洋的。} \end{minipage} \end{document} ``` **方法2** : 根据外部 `\parindent` 来设置 `minipage` ,同时让 `minipage` 不缩进。完整代码如下: ```tex \documentclass[UTF8]{ctexart} \usepackage{geometry} \geometry{a4paper,left=2cm,right=2cm,top=2cm,bottom=2cm} \begin{document} \setlength{\hangindent}{5.4em}{有一个豆荚,里面有五粒豌豆。豆荚和豌豆都是绿的,豌豆就以为整个世界都是绿的。豆荚在生长,豌豆也在生长。豌豆按照它们在家庭里的地位,坐成一排。太阳在外边照着,把豆荚晒得暖洋洋的。} \newlength{\templen} \setlength{\templen}{\parindent} % 保存外部 \parindent 值 In minipage \noindent\begin{minipage}{0.6\linewidth} % \noindent 让 minipage 不受外部 \parindent 值的影响(进行缩进) \setlength{\parindent}{\templen} % 根据外部 \parindent ,来设置 minipage \setlength{\hangindent}{5.4em}{有一个豆荚,里面有五粒豌豆。豆荚和豌豆都是绿的,豌豆就以为整个世界都是绿的。豆荚在生长,豌豆也在生长。豌豆按照它们在家庭里的地位,坐成一排。太阳在外边照着,把豆荚晒得暖洋洋的。} \end{minipage} \end{document} ```

一周热门 更多>