右对齐文本的悬挂缩进

右对齐文本的悬挂缩进

以下 MWE 产生四个段落:

  1. 左对齐,悬挂缩进
  2. 左对齐,悬挂缩进
  3. 右对齐,左侧有“悬挂缩进”
  4. 右对齐,并带有所需的“悬挂缩进”

问题是:我怎样才能以最简单的方式写出第 4 段?

\documentclass{article}
\begin{document}

\hangindent=3cm \noindent Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

\begin{flushleft}
    \hangindent=3cm Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
\end{flushleft}

\begin{flushright}
    \hangindent=3cm Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
\end{flushright}

\begin{flushright}
    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor\\
    incididunt ut labore et dolore magna aliqua. Ut enim ad minim \hspace{3cm}~\\
    veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip \hspace{3cm}~\\
    ex ea commodo consequat. Duis aute irure dolor in reprehenderit in \hspace{3cm}~\\
    voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur \hspace{3cm}~\\
    sint occaecat cupidatat non proident, sunt in culpa qui officia \hspace{3cm}~\\
    deserunt mollit anim id est laborum.\hspace{3cm}~
\end{flushright}
\end{document}

姆韦

答案1

可以使用(负数)\hangindent

\documentclass{article}

\newenvironment{flushrighthang}[1][3cm]{\begin{flushright}\hangindent-#1}
    {\end{flushright}}

\begin{document}

\begin{flushrighthang}
    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
 \end{flushrighthang}

\begin{flushrighthang}[6cm]
    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
\end{flushrighthang}


\end{document}

直齐并带有悬挂缩进

答案2

你可能想把它包装起来,\newenvironment但这可以解决问题:

 \newlength{\shortline}
 \setlength{\shortline}{\textwidth}
 \addtolength{\shortline}{-3cm}
 \begin{flushright}
       \parshape 2 0pt \textwidth 0pt \shortline  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
   \end{flushright}

答案3

与Don的回答类似,但是环境接受具有指定形状的几个段落。

\documentclass{article}

\newenvironment{almostflushright}[1]
 {% #1 is the amount of hanging
  \par\addvspace{\topsep}
  \raggedleft
  \everypar{\parshape 2 0pt \columnwidth 0pt \dimexpr\columnwidth - #1\relax}
 }
 {\par\addvspace{\topsep}}

\begin{document}

\noindent\hfill\makebox[3cm][s]{\hrulefill}\par % check the indent

\begin{almostflushright}{3cm}
    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor
    incididunt ut labore et dolore magna aliqua. Ut enim ad minim
    veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip
    ex ea commodo consequat. Duis aute irure dolor in reprehenderit in
    voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur
    sint occaecat cupidatat non proident, sunt in culpa qui officia
    deserunt mollit anim id est laborum.

    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor
    incididunt ut labore et dolore magna aliqua. Ut enim ad minim
    veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip
\end{almostflushright}

\end{document}

在此处输入图片描述

相关内容