这里没有结束的线条——题词和列举

这里没有结束的线条——题词和列举

Latex (在背面) 抱怨“这里没有结束的线”:

l.6 \end{enumerate}}{B.~斯宾诺莎}

我认为问题出在枚举环境上。具体来说,当我在枚举结束后添加其他内容(例如一个空格)时,错误就会消失\

它没有造成任何问题,但我想知道 1)是否有人可以解释这里发生了什么,以及 2)最好的解决办法是什么。

以下是 MWE:

\documentclass{report}
\usepackage{epigraph} % per le frasi inizio capitolo
\begin{document}
\epigraph{\begin{enumerate}
 \item[Corollario] Ne segue che l'uomo consta di Mente e Corpo e che il Corpo umano, in quanto lo sentiamo, esiste
\end{enumerate}}{B.~Spinoza}
\end{document}

我不确定 overleaf 上的 stackexchange 政策,但是这里有文档的链接,以防任何人(拥有 overleaf 帐户...)想要使用它:https://www.overleaf.com/4833837299zjfnjgwjtpgd#92ee82

答案1

\epigraph{text}{source}或多或少, text\\source因为你text有一个显示环境

\begin{enumerate}
\item..
\end{enumerate}
\\ % oops
source

避免错误的最简单方法是开始一个空段落,例如

在此处输入图片描述

请注意,它需要为空,因此\noindent如果您使用\\leavevmode等,则该段落将有一个缩进框,因此在规则上方会有一个额外的白线文本。

\documentclass{report}
\usepackage{epigraph} % per le frasi inizio capitolo
\begin{document}
\epigraph{\begin{enumerate}
 \item[Corollario] Ne segue che l'uomo consta di Mente e Corpo e che il Corpo umano, in quanto lo sentiamo, esiste
\end{enumerate}\noindent}{B.~Spinoza}
\end{document}

或者,您可以修改包,\\如果文本以垂直模式结束则不使用,这样就不需要强制换行

\documentclass{report}
\usepackage{epigraph} % per le frasi inizio capitolo
\makeatletter
\renewcommand{\@epitext}[1]{%
  \begin{minipage}{\epigraphwidth}\begin{\textflush} #1\ifhmode\\\fi% only do \\ if in horizontal mode
    \ifdim\epigraphrule>\z@ \@epirule \else \vspace*{1ex} \fi
  \end{\textflush}\end{minipage}}
\makeatother
\begin{document}
\epigraph{\begin{enumerate}
 \item[Corollario] Ne segue che l'uomo consta di Mente e Corpo e che il Corpo umano, in quanto lo sentiamo, esiste
\end{enumerate}}{B.~Spinoza}
\end{document}

答案2

使用minipage宽度\epigraphwidth就是您想要的。

不过,我提出了两种不会滥用的解决方案enumerate

\documentclass{report}
\usepackage{epigraph} % per le frasi inizio capitolo
\usepackage{showframe}

\newenvironment{spinoza}[1]{%
  \begin{minipage}[b]{\epigraphwidth}
  \settowidth{\dimen0}{#1\enspace}%
  \begin{\textflush}
  \hangindent=\dimen0 \hangafter=1
  #1\enspace\ignorespaces
}{\end{\textflush}\end{minipage}}

\newenvironment{spinoza2}[1]{%
  \begin{minipage}[b]{\epigraphwidth}
  \begin{\textflush}
  \makebox[0pt][r]{#1\enspace}\ignorespaces
}{\end{\textflush}\end{minipage}}


\begin{document}

\epigraph{\begin{spinoza}{Corollario}
  Ne segue che l'uomo consta di Mente e Corpo e che 
  il Corpo umano, in quanto lo sentiamo, esiste
\end{spinoza}}{B. Spinoza}

\epigraph{\begin{spinoza2}{Corollario}
  Ne segue che l'uomo consta di Mente e Corpo e che 
  il Corpo umano, in quanto lo sentiamo, esiste
\end{spinoza2}}{B. Spinoza}

\end{document}

我更喜欢第二种解决方案,这样实际引用的宽度就不会那么窄。如果你更喜欢第一种,那么就增加\epigraphwidth

showframe包仅用于显示文本块边距。

在此处输入图片描述

相关内容