阶梯状多线

阶梯状多线

环境multline将第一行左对齐,最后一行右对齐,而中间的所有行都居中对齐。结果有时看起来并不令人满意,例如,当所有行都比文本宽度的一半略宽时。

标准多行

我正在寻找一种工具,使它看起来更像“楼梯”,如下图所示,但不需要\hspace{...}在每一行中添加手动选择。

调整多行

我知道存在各种异常情况,例如线条太宽等等,我并不期望解决方案总是能产生完美的输出,但在“一般”情况下应该有某种方法可以起作用。有什么想法吗?

答案1

您可以在宏中设置每一行,并使用类似\setline[<align>]{<portion>}{<stuff>}下面定义的方式“手动”将它们展开:

在此处输入图片描述

\documentclass{article}

\usepackage{lipsum}

\newcommand{\setline}[3][c]{\hspace*{#2\linewidth}\makebox[0pt][#1]{#3}}
\newenvironment{spreadlines}
  {\par
   \setlength{\parindent}{0pt}%
   \obeylines}
  {\par}

\begin{document}

\lipsum[1]

\begin{spreadlines}
  \setline[l]{0}  {The first line is aligned to the left.}
  \setline   {.25}{The second line is (not) centred.}
  \setline   {.5} {And so is the third one.}
  \setline   {.75}{As well as the fourth --- not centred!}
  \setline[r]{1}  {The last line is aligned to the right.}
\end{spreadlines}

\lipsum[2]

\end{document}

如果需要的话,可能可以{<portion>}自动确定该值。

答案2

套餐mathtools提供选项\shoveleft[<ofset>]{<part of equation>},您可以轻松获得以下楼梯multline在此处输入图片描述

代码基于 mathtools 手册中的示例(第 17 页):

\documentclass[11pt, border=1mm,
               preview]{standalone}
    \usepackage{mathtools}

    \begin{document}
\[
\begin{multlined}
\framebox[.65\columnwidth]{First line} \\
\shoveleft[1cm]{\framebox[.5\columnwidth]{Second line} } \\
\shoveleft[2cm]{\framebox[.5\columnwidth]{Second line} } \\
\shoveleft[3cm]{\framebox[.5\columnwidth]{Second line} } \\
\framebox[.65\columnwidth]{Last line}
\end{multlined}
\]
    \end{document}

相关内容