回憶錄類的逐行縮排控制

回憶錄類的逐行縮排控制

我在控制各行的縮排同時保持每個等級的懸掛縮排時遇到困難。對我來說有點難以描述,所以我認為用圖片會最清楚:
行內懸掛縮排和跨行分層縮排的範例文本

有兩件事讓它變得困難:

  1. 有很多長行,所以懸掛縮排是必須的
  2. 有許多地方的分層縮排有 3 或 4 層,因此每個懸掛縮排都落在同一個地方是不可行的。

我得到的最接近的是透過在附帶的環境patverse中使用,但這只能讓我偏移每個新縮排部分的第一行;所有換行的文字都以無法縮排兩次或多次的方式排列:versememoir
文字換行到第二級縮排的文字範例

我考慮過使用巢description狀環境,但我希望行間距與常規文字相同。這可能是可以解決的,但實際使用起來似乎有點麻煩,所以在嘗試讓它工作之前我想知道是否有更好的東西。

最後一件事:現在,我計劃使用該memoir套件。如果這使得這個縮進方案標記起來過於複雜,我願意放棄它,但理想情況下我想要一個與memoir.

答案1

這是一個僅itemize使用使用套件創建的具有最少設定的環境的版本enumitem。不需要使用description環境,因為你根本沒有標籤,所以itemize是最適合的。您可以隨意調整設定以獲得所需的間距。我已使用nosep鍵從清單中刪除所有垂直間距,並將頂級邊距設定為與文字的其餘部分齊平。

\documentclass{memoir}
\usepackage{enumitem}
\newlist{nolabel}{itemize}{4}
\setlist[nolabel]{label={},nosep,labelwidth=0pt,labelsep=0pt}
\setlist*[nolabel,1]{leftmargin=*}
\usepackage{lipsum}
\begin{document}
\lipsum[1]
\begin{nolabel}
\item This is a line at the first level of the list. Here’s how it wraps when the line is very long:
\begin{nolabel}
    \item This is a line at the second level of the list.
    \item This is another line at the second level.
    \begin{nolabel}
        \item This is a third level item.
        \item This a another third level item.
    \end{nolabel}
    \item This is a third second level item.
    \end{nolabel}
\item This is a final first level item.
\end{nolabel}
\lipsum[1]
\end{document}

程式碼的輸出

相關內容