提问于:
浏览数:
1855
## 编译环境
操作系统
* [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 回答
0
非也非也,原因是因为 `minipage` 环境整体是一个盒子,这个盒子缩进了。你试一下这些代码就明白了:
```
\documentclass[UTF8]{ctexart}
\usepackage{geometry}
\geometry{a4paper,left=2cm,right=2cm,top=2cm,bottom=2cm}
\begin{document}
\setlength{\parindent}{0pt}
\setlength{\hangindent}{1.5cm}{有一个豆荚,里面有五粒豌豆。豆荚和豌豆都是绿的,豌豆就以为整个世界都是绿的。豆荚在生长,豌豆也在生长。豌豆按照它们在家庭里的地位,坐成一排。太阳在外边照着,把豆荚晒得暖洋洋的。}
In minipage
\begin{minipage}{0.6\linewidth}
\setlength{\hangindent}{1.5cm}{有一个豆荚,里面有五粒豌豆。豆荚和豌豆都是绿的,豌豆就以为整个世界都是绿的。豆荚在生长,豌豆也在生长。豌豆按照它们在家庭里的地位,坐成一排。太阳在外边照着,把豆荚晒得暖洋洋的。}
\end{minipage}
\end{document}
```
作者追问:2020-08-12 20:30
有没有什么办法(向左)水平移动 minipage,使上、下两段文字对齐?
作者追问:2020-08-12 20:54
有没有办法让 minipage 不进行缩进?
-
非常感谢! – 五行真人 2020-08-13 15:54 回复
0
总结:出现我最开始的不一致,是因为两个原因共同导致:
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}
```
你的回答
请登录后回答
你的回答将会帮助更多人,请务必认真回答问题。