最初の行の左側にキャプションを付けて段落セットをフォーマットする方法

最初の行の左側にキャプションを付けて段落セットをフォーマットする方法

私は、各段落の最初の行の左側に導入キャプションが表示される段落のリストを含む文書を作成しようとしています。キャプションは左の列に、段落は右の列に表示されます。これらすべてが、標準的な 1 列の記事内に表示されます。

私が思いついたのは、テーブルを使うことです。私は次のものを持っています:

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

関連情報