使用 adjustwidth 环境时 \hangindent 不起作用

使用 adjustwidth 环境时 \hangindent 不起作用

我正在尝试格式化 LaTeX 文档的一部分,该文档的第一行应左对齐,第二行应缩进,然后应有一个项目符号列表。此外,我想在块周围添加一些左右填充。

为了应用填充,我尝试使用changepage包和adjustwidth环境。不幸的是,我发现当我使用时adjustwidth,的效果hangindent就消失了。我尝试了\hangindent、、、、等\hangafter的许多排列组合,但似乎还没有找到有效的组合。\leftskip\rightskip\setlength

这是一个最小工作示例,展示了没有填充时文本的外观,以及添加填充时引入的问题:

\documentclass[letterpaper,10pt]{article}
\usepackage[strict]{changepage}
\usepackage{paralist}
\begin{document}

\section*{How it should look, though I'd like to add some padding to the left and right.}
\noindent \textbf{A title of some sort} \\
\hangindent=\parindent Some descriptive text \\
\vspace{-\baselineskip}
\begin{compactitem}
    \item Bullet point 1
    \item Bullet point 2
    \item Bullet point 3
\end{compactitem}  

\section*{Adding padding using adjustwidth causes the hanindent to fail.}
\begin{adjustwidth}{5em}{5em}
    \noindent \textbf{A title of some sort} \\
    \hangindent=\parindent Some descriptive text that should be indented.\\
    \vspace{-\baselineskip}
    \begin{compactitem}
        \item Bullet point 1
        \item Bullet point 2
        \item Bullet point 3
    \end{compactitem}  
\end{adjustwidth}

\end{document}

在此处输入图片描述

您会发现第二个实例Some descriptive text that should be indented与上一行的左对齐A title of some sort。但是,它应该缩进到与其下方项目符号相同的位置。如果您没有看到这个问题,请给我发消息,我可以通过私人消息/电子邮件发送 pdf。

非常感谢针对此问题的任何建议或解决方法。

答案1

您应该用列表模拟悬挂缩进,以便它可以正确嵌套adjustwidth

\documentclass[letterpaper,10pt]{article}
\usepackage[strict]{changepage}
\usepackage{enumitem}
\makeatletter
\newenvironment{hanging}[1][\parindent]
  {\list{}{%
   \topsep\z@
    \listparindent\parindent
    \parsep\parskip
    \leftmargin=#1}%
    \item[]}
  {\endlist}

\makeatother
\begin{document}

\section*{How it should look, though I'd like to add some padding to the left and right.}
\noindent \textbf{A title of some sort}
\begin{hanging}
Some descriptive text
\begin{itemize}[nosep]
  \item Bullet point 1
  \item Bullet point 2
  \item Bullet point 3
\end{itemize}
\end{hanging}

\section*{Adding padding using adjustwidth}
\begin{adjustwidth}{5em}{5em}
\noindent \textbf{A title of some sort}
\begin{hanging}
Some descriptive text that should be indented.
\begin{itemize}[nosep]
  \item Bullet point 1
  \item Bullet point 2
  \item Bullet point 3
\end{itemize}  
\end{hanging}
\end{adjustwidth}

\end{document}

环境hanging有一个可选参数,即悬挂缩进的数量。

我使用了enumitem比 更强大的软件包paralist。无论如何,\\在开始逐项列表之前添加内容是错误的。

在此处输入图片描述

相关内容