梅威瑟:
\documentclass[12pt,english,a4paper]{report}
\usepackage{lipsum}
\begin{document}
\section{first section}
\lipsum[1-1]% in section, \textwidth = x
\subsection{first subsection}
\lipsum[1-1]% in subsection, \textwidth = y
\begin{description}% \textwidth = z
\item{one} text
\item{two} texts
\end{description}
\subsection{second subsection}
\lipsum[1-1]% in subsection, \textwidth = y
% how to exit from subsection but remain in section
\lipsum[1-1] % in section, \textwidth = x
\end{document}
如上所示,如何改变不同节、小节、子小节、描述等的文本宽度。
(我不知道要给出什么标签,与文本宽度相关的基本文本问题)
答案1
adjustwidth
您可以使用 -package中的环境changepage
。它允许您调整文本区域的左边缘和右边缘。下面的代码将使左边缘缩短 1 厘米,右边缘缩短 2 厘米。如果您想增加宽度,只需使用负值。在环境结束时,更改当然会被重置。
\begin{adjustwidth}{1cm}{2cm}
\lipsum[1]
\end{adjustwidth}
编辑
我创建了一个名为 的新环境indentLevel
,它接受一个输入,即您想要的缩进级别的整数。我为这个代码包含了两个不同的代码,一个简单的代码只\parindent
为每个指定的缩进级别添加长度的空间,并且只为左侧添加。这个代码目前被禁用,但只需取消注释环境中的行,并注释另一行即可。如果使用简单方法,则不需要辅助宏 ndentRight and
indentLeft`。
我还添加了另一种方法,您可以自定义每个缩进级别,包括左侧和右侧。要更改设置,请更改辅助宏中指定的长度indentRight
以及indentLeft
所需的级别。
代码
\documentclass[12pt,a4paper]{report}
\usepackage{changepage}
\usepackage{lipsum}
\usepackage{showframe}
\newcommand{\indentLefts}[1]{%
\ifcase#1
%Indentlevel 0
0pt
\or
%Indentlevel 1
1\parindent
\or
%Indentlevel 2
3cm
\else
%Indentlevel 3
4cm
\fi
}
\newcommand{\indentRight}[1]{%
\ifcase#1
%Indentlevel 0
0pt
\or
%Indentlevel 1
1\parindent
\or
%Indentlevel 2
3cm
\else
%Indentlevel 3
4cm
\fi
}
\begin{document}
\newenvironment{indentLevel}[1]
% {\begin{adjustwidth}{#1\parindent}{0cm}}% Simple
{\begin{adjustwidth}{\indentLefts{#1}}{\indentRight{#1}}}% More customizable
{\end{adjustwidth}}
\section{first section}
\lipsum[1-1]% in section, \textwidth = x
\begin{indentLevel}{1}
\subsection{first subsection}
\lipsum[1-1]% in subsection, \textwidth = y
\begin{indentLevel}{2}
\section{indentation 2}
\begin{description}% \textwidth = z
\item{one} text
\item{two} texts
\end{description}
\end{indentLevel}
\end{indentLevel}
\begin{indentLevel}{3}
\subsection{second subsection, five indentations}
\lipsum[1-1]
\end{indentLevel}
\lipsum[1-1]
\end{document}