报价包和更新报价环境的问题

报价包和更新报价环境的问题

按照此如何修改引用环境周围的间距? ...我尝试使用给定的两种解决方案(使用quoting包和更新quotation环境)。我无法使用quoting包(MiKTeX 找不到它,它被最新版本的 MiKTeX 识别,但我正在完成我的论文,所以不想通过更新 MiKTeX 或做任何类似的事情来破坏我以前的工作:) - 我不是专业人士等。;)),所以我尝试了这个:

\renewenvironment{quotation}
               {\list{}{\listparindent=0pt%whatever you need
                        \itemindent    \listparindent
                        \leftmargin=0pt%  whatever you need
                        \rightmargin=10pt%whatever you need
                        \topsep=0pt%%%%%  whatever you need
                        \parsep        \z@ \@plus\p@}%
                \item\relax}
               {\endlist}

但是它不起作用。我在日志文件中发现了以下内容:

! Undefined control sequence. ...tmargin =10pt\topsep =0pt\parsep \z 
@ \@plus\p @ l.319 \begin{quotation}

编辑:解决方案是不要错过代码前的 \makeatletter 和代码后的 \makeatother(我没有包含完整的代码)

您知道为什么我不能使用它吗?

或者如何定义环境和段落之间的空格(主要是 - 块拉伸)quotation(文本中不同引文中的空格不一样,有时引文前后的空格不均匀或空格很大,所以输出看起来不像应该的那样好,我必须添加或减少vspace,考虑到我使用的原因,这可能是最糟糕的解决方案TeX)。

答案1

以下对我有用;请注意使用\makeatletter\makeatother

截屏

\documentclass{article}
\usepackage{lipsum}

\makeatletter
\renewenvironment{quotation}
               {\list{}{\listparindent=0pt%whatever you need
                        \itemindent    \listparindent
                        \leftmargin=0pt%  whatever you need
                        \rightmargin=10pt%whatever you need
                        \topsep=0pt%%%%%  whatever you need
                        \parsep        \z@ \@plus\p@}%
                \item\relax}
               {\endlist}
\makeatother


\begin{document}

Before the quote \ldots
\begin{quotation}
\lipsum[1]
\end{quotation}
After the quote \ldots
\end{document}

相关内容