2009-09-08 1 views
1

В this question Я спросил, как создавать правила по разделам. Ответ при условии использования sectsty делает то, что я хочу, но вызывает проблемы: Если я использую пакет sectsty в \ частичной команды выдает ошибку:Как можно секвестировать вместе с part в scrbook-documentclass в LaTeX?

! Undefined control sequence. 
\[email protected] ...elax \refstepcounter {part}\@maybeasf 
                \addcontentsline {toc}{par... 
l.8 \part{partname} 

Если я использую книгу-documentclass вместо scrbook, он работает все правильно. Но я использую много функций Komascript, поэтому я не хочу переключаться. Знает кто-нибудь решение, как я могу использовать оба вместе?

EDIT: После простого примера воспроизводит проблему:

\documentclass{scrbook} 
    \usepackage{sectsty} 
\begin{document} 
    \part{test} % crash and burn here 
\end{document} 
+0

Можете ли вы предоставить минимальный пример, показывающий, в чем проблема? –

+0

Я добавил пример. – Mnementh

+0

Приятно видеть, что люди уже сбиты без комментариев по вопросам с реальной проблемой мира * вздох *. – Mnementh

ответ

2

Проблема в том, что секта была написана для работы со старой версией скрипта. Если вы посмотрите файл sectsty.sty в строке 553, вы обнаружите, что с 1998 года он использует какой-то код из scrbooks.cls v2.5e. Вот где проблема. Если вы соединитесь в соответствующем разделе последней версии scrbooks.cls (v3.04a, 2009/07/24) в sectsty.sty, все это работает нормально. Я сделал это и поместил файл here. Обратите внимание, что я еще не проверял это, кроме как убедиться, что он работает нормально на вашем примере кода.

+0

Это поднимает вопрос, если секта находится под дальнейшей разработкой и выпустит будущую версию. – Mnementh

+0

Я протестировал ваше решение, и он работал нормально. Благодарю. – Mnementh

1

Итак ... какой класс вы используете? Стандартный класс книги или srcbook в komascript?

Если вы используете стандартный класс книги, sectsty имеет специфические команды для команды \ части:

\ partnumberfont {hcommandsi} Изменение стиля part' heading numbers only; this does not aect the title of the part heading. \parttitlefont{hcommandsi} Changes the style of части»заголовка названия только; это не влияет на номер заголовка детали. \ partfont {hcommandsi} Изменяет стиль заголовков `part 'только путем выполнения {hcommandsi} перед печатью каждого заголовка; это затрагивает как название детали и номер детали.

Если вы используете класс Ком-скрипт, то sectsty документации говорится:

Если вы просто хотите изменить кладезь, используемый для всех секционных заголовков, вы не должны использовать sectsty с любым из KOMA -список классов. Вместо этого вы должны изменить команду \ sectfont, предоставленную сценарием KOMA. . Если вы хотите, чтобы более четкие секционные заголовки печатались с различными типами типа друг к другу или если вы хотите подчеркнуть секционные заголовки или сыграть другие игры, которые вы не можете сделать с помощью команды KOMA-script \ sectfont, , тогда секта может быть полезна с классами KOMA-script. Следует отметить, что модификации, применяемые командами секты , происходят сразу же после выполнения команды \ sectfont. Документация для этого пакета написана со стандартными классами LATEX , поэтому может не связываться точно с классами KOMA-script. Несмотря на это, несмотря на то, что в поведении, когда все идет не так, sectsty должен работать так, как ожидалось, с классами KOMA-script.

от: Sectsty Documentation Chapter Four

EDIT: Если все, что вы хотите, это линия под секцией и главы, но все-таки хочет использовать команду \ части, почему бы не просто канава sectsty, и вновь определить секционирования команды в koma-script с помощью \ hrule?

+0

Вы не понимаете мою проблему. Пересмотр раздела отлично работает - пока я не использую класс \ part-command и srcbook-class. В этот момент \ part запускает вышеупомянутую письменную проблему. – Mnementh

+0

Итак, вы используете пакет sectsty с классом srcbook класса KOMA? Это верно? – Mica

+0

Да. Я добавил пример, воспроизводящий проблему. – Mnementh