如何設定第一行左側帶有標題的一組段落的格式

如何設定第一行左側帶有標題的一組段落的格式

我正在嘗試編寫一個包含段落列表的文檔,這些段落的介紹標題顯示在每個段落第一行的左側,以便標題顯示為左列,段落顯示為右列。所有這些都出現在標準的單欄文章中。

我想出的是使用一張桌子。我有:

\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}
}

相關內容