引用ベースライン前の段落への流し込みをスキップ

引用ベースライン前の段落への流し込みをスキップ

引用文が段落の一部である場合、空行で残りの部分と区切るべきではありません。ただし、引用文のフォント サイズが小さく、ベースライン スキップも小さい場合、引用文が段落の前の部分に干渉してしまいます。

\documentclass{article}

\usepackage{lipsum}
\usepackage{etoolbox}

\AtBeginEnvironment{quote}{\footnotesize}

\begin{document}
\lipsum[4]

\lipsum[1]
\begin{quote}
  \lipsum[2]
\end{quote}
\lipsum[3]
\end{document}

これを避けるにはどうしたらいいでしょうか? (そしてなぜこれが起こるのでしょうか?)

ここに画像の説明を入力してください

答え1

etoolbox フックは早すぎるため、quote 環境 (1 つの項目のリスト) によって開始された「内部」段落の後にサイズ変更を追加する必要があります。そのため、古い方法を使用します。

この方法を使用すると、LaTeX は段落を抑制できるため、段落内引用に必要な後続のテキストはインデントされません。

ここに画像の説明を入力してください

\documentclass{article}

\usepackage{lipsum}
\usepackage{etoolbox}

\let\oldquote\quote
\renewcommand\quote{\oldquote\footnotesize}

\begin{document}
\lipsum[4]

\lipsum[1]
\begin{quote}
  \lipsum[2]
\end{quote}
\lipsum[3]
\end{document}

答え2

パッケージを使用することで、問題を解決することもできます引用LaTeX の代わりにquote引用quoteは、と を組み合わせた、柔軟で設定可能な環境を提供しますquotation。引用が段落の一部である場合、本文と環境の間の空白行は省略されquoting、引用はインデントなしでタイプセットされますが、引用の上下に同じ (設定可能な) スペースが確保されます。空白行 (または\par) がある場合、引用は別の段落としてタイプセットされます。

組み合わせることをお勧めします引用そしてcsquoteこれにより、非常に柔軟に引用符を処理できるようになります。

ここに画像の説明を入力してください

\documentclass{article}

\usepackage{lipsum}
\usepackage[font=footnotesize]{quoting}

\begin{document}

\lipsum[1]
\begin{quoting}
  \lipsum[2]
\end{quoting}
\lipsum[3]

\begin{quoting}
  \lipsum[7]
\end{quoting}

\lipsum[12]

\end{document}

関連情報