缩进文本内的悬挂缩进引用环境

缩进文本内的悬挂缩进引用环境

我正在处理一个memoir类文档,该文档恰好使用段落间距而不是缩进的第一行,但我试图创建一个展示示例文本的环境 - 我称之为hangingsample- 其中:

  • 文本缩进(如在quotequotation环境中),
  • 文本设置为打字机字体(我\texttt为此使用),
  • 文本已设置\raggedright
  • 每个段落都使用悬挂缩进(如 APA 引用),并且
  • 段落间距为零。

为了显示:

样品效果

到目前为止,我设法创建这种效果的唯一方法是手动完成所有操作,结合figureminipagehangparas环境、\raggedright命令,并将每个单独的段落包裹在其中\texttt{x},并在每个段落后面加上\vspace{-\parskip}

Preceding text ...

\begin{figure}[h]
\hspace*{5mm}\begin{minipage}[h]{125mm}
\begin{hangparas}{5mm}{1}\RaggedRight
\texttt{Technic is ... LEGO.}\vspace{-\parskip}

\texttt{Technic sets are ... electric motors.}\vspace{-\parskip}

\texttt{The style of ... technic bricks.}\vspace{-\parskip}

\texttt{Lego Technic. ... wiki/Lego\_Technic}
\end{hangparas}
\end{minipage}
\end{figure}

Following text...

这肯定不是最经济的方法...我正在寻找一个可以完成所有这些事情的简单的新的(或更新的)环境。

到目前为止,我已经创建了以下环境:

\newenvironment{hangingsample}{%
\everypar{\hangafter=1 \setlength{\hangindent}{5mm}}\ttfamily\raggedright}
{\par%
}

获得最多积分除了段落的完整缩进。

有人知道我该怎么做才能解决这个问题吗?

最亲切的问候,

西斯

答案1

定义您自己的环境:

\documentclass{memoir}
\usepackage{lipsum}

\newenvironment{ttquote}
 {\list{}{%
    \ttfamily\raggedright
    \setlength{\itemindent}{-1em}%
    \setlength{\listparindent}{\itemindent}%
    \setlength{\rightmargin}{\leftmargin}%
    \setlength{\parsep}{0pt plus 1pt}%
  }%
  \item[]}
 {\endlist}

\nonzeroparskip
\setlength{\parindent}{0pt}

\begin{document}

\lipsum[2-3]

\begin{ttquote}
\lipsum[2]

\lipsum[3]
\end{ttquote}

\end{document}

在此处输入图片描述

答案2

希望这能有所帮助。这是赫伯特的回答在单个段落内,挂一个换行符,但不要挂新行。由于基于minipage,该环境不会在页面之间中断。

\documentclass{article}
\usepackage{lipsum}
\usepackage{environ}

\NewEnviron{ttpar}{%
\begin{minipage}{.9\linewidth}
\everypar{\setlength\hangindent{1em}\ttfamily}
\BODY\end{minipage}}

\begin{document}

\lipsum[1]

\begin{ttpar}
\lipsum[1]

\lipsum[2]
\end{ttpar}

\lipsum[3]
\end{document}

在此处输入图片描述

相关内容