
Я понимаю, что это немного специфично, но это единственная команда KOMA-Script, которая постоянно выдает ошибку, и это сводит меня с ума, потому что я нигде не могу найти решение (а я обычно довольно дотошен). Я использую TeXstudio на Windows в качестве своей среды, которая поставляется со встроенной 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}
и вывод, который я получаю, точно такой же, как и тот,справило выше.
Как избавиться от правила?