如何在节和小节之间更改 \textwidth

如何在节和小节之间更改 \textwidth

梅威瑟:

\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 andindentLeft`。

我还添加了另一种方法,您可以自定义每个缩进级别,包括左侧和右侧。要更改设置,请更改辅助宏中指定的长度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}

相关内容