是否可以专门为环境设置长度?我知道可以通过将命令放在\setlength
之间来仅更改文档部分的长度{}
,但是当在文档中多次使用环境时,设置与环境使用次数相同的长度会非常麻烦。
在我的特定情况下,我只想更改\parindent
环境paracol
,而不更改文档的其余部分。我的问题的 MWE 是这样的。
\documentclass[a4paper]{article}
\usepackage{paracol,lipsum,microtype}
\usepackage[norsk,british]{babel}
\usepackage[utf8]{inputenc}
\begin{document}
\lipsum[1]
\begin{paracol}{2}
\newlength{\LeftHeader}
\switchcolumn[0]*[\subsection*{Norwegian\settowidth{\LeftHeader}{Norwegian}\hspace{0.5\textwidth}\hspace{-\LeftHeader} English}]
\selectlanguage{norsk} Universitetet i Oslo ble opprettet 2. september 1811, eller det vil si: Den gangen het det Det kongelige Frederiks Universitet, og det gjorde det helt frem til 1939.
\switchcolumn
\selectlanguage{british} The University of Oslo was founded the second of september 1811, or actually: then it was called The royal Frederiks University, and it did so until 1939.
\switchcolumn*
\selectlanguage{norsk} Påls mor ble født syv år senere, unnfanget i de elleville fredsdager, født en kald februarlørdag i 1946.
\switchcolumn
\selectlanguage{british} Paul's mother was born seven years earlier, conceived during those wild days of peace, born on a cold february saturday in 1946.
\end{paracol}
\end{document}
应该\parindent
在绿色块处保留,但在红色块处删除。如何仅针对环境更改此长度paracol
,并针对全部 paracol
整个文档中使用的环境?
答案1
由于环境定义了一个组,您可以在其中更新/定义命令,并且它将保留在该环境的本地。因此设置\parindent
为0pt
内部paracol
就足够了。
全球方法
为了实现更全球化的方法,添加
\usepackage{etoolbox}% http://ctan.org/pkg/etoolbox
\AtBeginEnvironment{paracol}{\setlength{\parindent}{0pt}}
有效并提供一种一致的非侵入性方法来实现您的目标。
本地/手动方法
开始每paracol
一个
\begin{paracol}{<num>}
\setlength{\parindent}{0pt}%
...
\end{paracol}
在这两种情况下,结果都是: