为什么我会收到“\dictumrule undefined。”或“未定义的控制序列。\dictumrule”错误?

为什么我会收到“\dictumrule undefined。”或“未定义的控制序列。\dictumrule”错误?

我意识到这有点具体,但这是唯一一个始终产生错误的 KOMA-Script 命令,这让我很抓狂,因为我无法在任何地方找到解决方案(而且我通常非常彻底)。我在 Windows 上使用 TeXstudio 作为我的环境,它内置了 KOMA。


[最终更新]请参阅 touhami 发布的答案。


以下是从该问题中直接提取的一些代码http://tex.stackexchange.com/questions/193178/specific-epigraph-style

\documentclass{scrbook}

\setkomafont{dictumtext}{\itshape\small}
\setkomafont{dictumauthor}{\normalfont}
\renewcommand*\dictumwidth{.75\linewidth}
\renewcommand*\dictumauthorformat[1]{--- #1}
\renewcommand*\dictumrule{}

\begin{document}

\thispagestyle{empty}
\vspace*{\fill}
\dictum[Lewis Carroll, \emph{Alice in Wonderland}]{Begin at the beginning, the King said gravely, ``and go on till you come to the end: then stop.''}

\end{document}

这是编译时的错误信息:

\dictumrule undefined. \renewcommand*\dictumrule

如果我将其放在\dictumrule文档的某个位置,则会出现更常见的错误形式:

Undefined control sequence. \dictumrule

就具体相关的错误而言\dictumrule,我通过搜索发现的唯一错误是来自 LyX 帮助网站的这个问题的错误http://t101479.editors-lyx-general.editortalk.info/changing-the-dictum-style-in-koma-script-t101479.html

command \dictumrule already defined

这几乎与我的问题完全相反,因此没有特别的帮助。

我的目的是在文章开头的标题和正文之间添加一段引文。我完全清楚我可以使用\epigraph(如果这里找不到可行的解决方案,我会这样做)来实现同样的结果,但是我已经投入了太多精力来解决这个问题,不能在没有找到某种解决方案的情况下放弃。

[更新]回应 touhami 的回答:很抱歉,我没有详细说明我想要完成的任务。

这是使用该epigraph包的代码,大致模仿了前面代码的输出。

\documentclass{scrbook}
\usepackage{epigraph}
\setlength{\epigraphwidth}{0.75\textwidth}

\begin{document}

\thispagestyle{empty}
\vspace*{\fill}
\epigraph{\itshape\small Begin at the beginning, the King said gravely, ``and go on till you come to the end: then stop.''}{Lewis Carroll, \emph{Alice in Wonderland}}

\end{document}

我实际上想要的是消除引用和作者之间的规则。对于epigraph包,我只需添加

\setlength{\epigraphrule}{0pt}

回到序言部分

刘易斯·卡罗尔名言 理论上,为了做出同样的改变,\dictum我会替换

\renewcommand*\dictumrule{}

\newcommand*{\dictumrule}{\vskip-1ex\hrulefill\par}
\renewcommand*\dictumrule{0pt}

然而,这产生了

刘易斯·卡罗尔名言

我最初并没有这么说,因为我认为这只是潜在错误的症状。

[更新2]@touhami

这正是我按照@egreg 的建议在编辑器中得到的内容:

\documentclass{scrbook}

\setkomafont{dictumtext}{\itshape\small}
\setkomafont{dictumauthor}{\normalfont}
\renewcommand*\dictumwidth{.75\linewidth}
\renewcommand*\dictumauthorformat[1]{--- #1}
\providecommand\dictumrule{}
\renewcommand*{\dictumrule}{}

\begin{document}

    \thispagestyle{empty}
    \vspace*{\fill}
    \dictum[Lewis Carroll, \emph{Alice in Wonderland}]{Begin at the beginning, the King said gravely, ``and go on till you come to the end: then stop.''}

\end{document}

我得到的输出与上述规则。

我怎样才能摆脱这个规则?

答案1

更新Koma 文文档

在此处输入图片描述

\newcommand*{\dictumrule}{\vskip-1ex\hrulefill\par}

因此更新软件包将解决问题。

相关内容