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
包仅用于显示文本块边距。