如何设置一组段落的格式,使标题位于第一行的左侧

如何设置一组段落的格式,使标题位于第一行的左侧

我正在尝试编写一个包含段落列表的文档,其中每个段落的第一行左侧显示一个介绍性标题,这样标题将显示在左列中,而段落将显示在右列中。所有这些都显示在标准的单列文章中。

我想到的是使用表格。我有:

\begin{tabularx}{\linewidth}{l X}
First row caption & \lipsum[1]\\
Second row caption & \lipsum[2]\\
Third row caption & \lipsum[3]\\
Fourth row caption & \lipsum[4]
\end{tabularx}

如果lipsum将该示例中的 替换为真正的段落文本,它会变得非常笨重,因为它们都嵌入在一起,并且需要行延续,所以一切都相当混乱。我想要的是这样的:

\begin{captioned-text}{First row caption}
\lipsum[1]}
\end{captioned-text}
\begin{captioned-text}{Second row caption}
\lipsum[2]}
\end{captioned-text}
\begin{captioned-text}{Third row caption}
\lipsum[3]}
\end{captioned-text}
\begin{captioned-text}{Fourth row caption}
\lipsum[4]}
\end{captioned-text}

有了真实的文本(可能是多段真实文本),这将更具可读性。

我希望已经有一些可以做这种事情的软件包,只是我还没找到。有没有比使用表格更好的方法来实现这一点?

答案1

好吧,感谢 Piotr Wydrych,我偶然发现了它mdwlist,它正是我想要的:

\usepackage{mdwlist}
\begin{basedescript}{\desclabelwidth{4cm}}
    \item[First caption] \lipsum[1]
    \lipsum[2]
    \item[Second caption] \lipsum[3]
    \item[Third caption] \lipsum[4]
 \end{basedescript}

答案2

一般来说,表格应该用来比较大量事实,而不是用来排版段落列表。你看过环境了吗description?每个标题包含多个段落时效果很好。

\begin{description}
\item[First caption] \lipsum[1]

\lipsum[2]

\item[Second caption] \lipsum[3]
\item[Third caption] \lipsum[4]
\end{description}

答案3

以下内容并不完美(captioned-text块之间的间距、固定宽度的左列/标题宽度和块内的分页),但提供了您想要的界面:

在此处输入图片描述

\documentclass{article}
\usepackage{environ,lipsum}% http://ctan.org/pkg/{environ,lipsum}
\NewEnviron{captioned-text}[2][0.3\linewidth]{%
  \noindent%
    \begin{tabular}{@{}p{#1}p{\dimexpr\linewidth-#1-2\tabcolsep}@{}}
      #2 & \BODY
    \end{tabular}
}
\begin{document}
\begin{captioned-text}{First row caption}
\lipsum[1]
\end{captioned-text}
\begin{captioned-text}{Second row caption}
\lipsum[2]
\end{captioned-text}
\begin{captioned-text}{Third row caption}
\lipsum[3]
\end{captioned-text}
\begin{captioned-text}{Fourth row caption}
\lipsum[4]
\end{captioned-text}
\end{document}

environ包裹提供接口,捕获 的全部内容captioned-text,并将其放入固定宽度的列 中tabular。左侧列的默认宽度为0.3\linewidth,而右侧列则占据剩余空间。

分页之内段落文本需要完全不同的方法(见下文)。但是,块之间的空间可以根据您的需要进行调整。


parcolumns也可以用来规避以前的方法的警告和缺乏分页功能:

\usepackage{environ,lipsum,parcolumns}% http://ctan.org/pkg/{environ,lipsum,parcolumns}
\NewEnviron{captioned-text}[2][0.3\linewidth]{%
  \begin{parcolumns}[colwidths={1=#1,2=\dimexpr\linewidth-#1-2em},nofirstindent]{2}
    \colchunk[1]{#2}%
    \colchunk[2]{\BODY}%
  \end{parcolumns}
}

相关内容