我更改了环境的定义quote
,使其不在右侧缩进。但这种更改在\pstart
和\pend
之间不起作用eledmac
。我该怎么做?我尝试重新定义\quote
中的命令eledmac.sty
,看到注释掉的行,但没有用。
\documentclass{memoir}
\usepackage{lipsum}
\usepackage[noreledmac]{eledmac}
\renewenvironment{quote}{\list{}{\rightmargin=0pt}\item[]}{\endlist}
%\renewcommand{\quote}{\par\leavevmode%
% \parindent=0pt%
% \skipnumbering%
% \ifautopar%
% \vskip-\parskip%
% \else%
% \vskip\topsep%
% \fi%
% \global\leftskip=\leftmargin%
% \global\rightskip=0pt%
% }
\begin{document}
\lipsum[1]
\begin{quote}
\lipsum[2]
\end{quote}
\beginnumbering
\pstart
\begin{quote}
\lipsum[2]
\end{quote}
\pend
\endnumbering
\end{document}
答案1
eledmac
仅将的定义更改\quote
为 的一部分\beginnumbering
。
\documentclass{memoir}
\usepackage{lipsum}
\usepackage[noreledmac]{eledmac}
% \usepackage{etoolbox} % eledmac already loads etoolbox.
\makeatletter
\appto\initnumbering@sectcmd{%
\ifnoquotation@\else
\patchcmd{\quote}{\global\rightskip=\leftmargin}{\global\rightskip=0pt }{}{}%
\fi
}
\makeatother
\begin{document}
\lipsum[1]
\beginnumbering
\pstart
\begin{quote}
\lipsum[2]
\end{quote}
\pend
\endnumbering
\end{document}
您可能还想修补\quotation
:
\appto\initnumbering@sectcmd{%
\ifnoquotation@\else
\patchcmd{\quote}{\global\rightskip=\leftmargin}{\global\rightskip=0pt }{}{}%
\patchcmd{\quotation}{\global\rightskip=\leftmargin}{\global\rightskip=0pt }{}{}%
\fi
}