# Standard textclass definition file. Taken from initial LyX source code # Author : Matthias Ettrich # Transposed by Pascal André # Heavily modifed and enhanced by several developers. # This include files contains all numbered sectionning-related # commands that are useful for article-like document classes, but not # for letters. Format 11 #Style Part # Category Section # Margin Dynamic # LabelString "Part \thepart" # LabelType Counter # TocLevel 0 # LabelCounter part # LatexType Command # LatexName part # NeedProtect 1 # NextNoIndent 1 # Labelsep xxx # ParSkip 0.4 # TopSep 4 # BottomSep 4 # ParSep 0.8 # Align Center # Alignpossible Center # Font # Series Bold # Size Huge # EndFont #End #Style Chapter # Margin Static # Category Section # LabelString "Chapter \thechapter" # LabelStringAppendix "Appendix \thechapter" # LabelType Counter # LabelCounter chapter # TocLevel 0 # LatexType Command # LatexName chapter # NeedProtect 1 # NextNoIndent 1 # ParSkip 0.4 # TopSep 4 # BottomSep 0.8 # ParSep 0.8 # Align Block # OptionalArgs 1 # Font # Series Bold # Size Huge # EndFont #End Style "Раздел" Category "Раздел" Margin Dynamic LabelType Counter LabelCounter section LabelString \thesection. TocLevel 1 LatexType Command LatexName ESPDsection NeedProtect 1 NextNoIndent 0 LabelSep xxx ParSkip 0.4 TopSep 1.3 LeftMargin "MMMMM" BottomSep 0.7 ParSep 0.7 Align Block AlignPossible Block, Left OptionalArgs 1 Font Series Bold Size Larger EndFont Preamble \newcommand{\ESPDsection}[1]{ \section{#1} \setcounter{point}{\value{section}} \setcounter{subpoint}{0} } EndPreamble End Style "Подраздел" CopyStyle "Раздел" LabelCounter subsection LabelString \thesubsection. TocLevel 2 LatexName ESPDsubsection LeftMargin "MMMMM" TopSep 0.9 BottomSep 0.5 ParSep 0.5 Font Series Bold Size Large EndFont Preamble \newcommand{\ESPDsubsection}[1]{ \subsection{#1} \setcounter{point}{\value{subsection}} \setcounter{subpoint}{0} } EndPreamble End Style "Подподраздел" CopyStyle "Подраздел" LabelCounter subsubsection LabelString \thesubsubsection. TocLevel 3 LatexName ESPDsubsubsection LeftMargin "MMMMM" TopSep 0.5 BottomSep 0.3 ParSep 0.3 Font Series Medium Size Normal EndFont Preamble \newcommand{\ESPDsubsubsection}[1]{ \subsubsection{#1} \setcounter{point}{\value{subsubsection}} \setcounter{subpoint}{0} } EndPreamble End # Поскольку в ЕСКД могут быть документы как с подразделами, так и без подразделов # считаю логичным ввести 2 типа пунктов/подпунктов: # 1) Для документов БЕЗ подразделов - начинаются префиксом woss(without subsections) # (wossPoint, wossSubPoint) # 2) Для документов ИМЕЮЩИХ подраздела - начинаются прфексом wss(with subsections) # (wssPoint, wssSubPoint) # так же необходимо разнести и в разные категории, чтобы в UI Lyx можно было выбрать их # без лишней путаницы. # Для woss - "Без подразделов" # Для wss - "С подразделами" # Само собой они будут использоваться разные счетчики: # 1) 2 и 3 уровня для wss - subsection и point # 2) 3 и 4 уровня для woss - point и subpoint # Так же необходимо выделять заголовки для SubSection и не выбелять для point и subpoint, # но выводить нумерацию. Style "Пункт 2 уровень" Category "Пункты после разделов" Margin First_Dynamic LabelType Counter LabelCounter pointII LabelString \thepointII. KeepEmpty 1 LatexType Command LatexName pointII # NeedProtect 0 # NextNoIndent 1 LabelSep xxx ParSkip 0.4 Align Block AlignPossible Block, Left, Right, Center End Style "Пункт 3 уровень" Category "Пункты после разделов" Margin First_Dynamic LabelType Counter LabelCounter pointIII LabelString \thepointIII. KeepEmpty 1 LatexType Command LatexName pointIII NeedProtect 0 NextNoIndent 0 LabelSep xxx ParSkip 0.4 TopSep 0.4 BottomSep 0 End Style "Пункт 4 уровень" Category "Пункты после разделов" Margin First_Dynamic LabelType Counter LabelCounter pointIV LabelString \thepointIV. KeepEmpty 1 LatexType Command LatexName pointIV NeedProtect 0 NextNoIndent 0 LabelSep xxx ParSkip 0.4 TopSep 0.4 BottomSep 0 End Style "Подпункт 3 уровень" Category "Подпункты после пунктов" Margin First_Dynamic LabelType Counter LabelCounter subpointIII LabelString \thesubpointIII. KeepEmpty 1 LatexType Command LatexName subpointIII NeedProtect 0 NextNoIndent 0 LabelSep xxx ParSkip 0.4 TopSep 0.4 BottomSep 0 End Style "Подпункт 4 уровень" Category "Подпункты после пунктов" Margin First_Dynamic LabelType Counter LabelCounter subpointIV LabelString \thesubpointIV. KeepEmpty 1 LatexType Command LatexName subpointIV NeedProtect 0 NextNoIndent 0 LabelSep xxx ParSkip 0.4 TopSep 0.4 BottomSep 0 End # Поскольку команда ESPDappendix содержит 2 параметра, а передать в команду через Lyx # мы можем только один документ, то необходимо применить одну старую рыбацкую хитрость, # которую практиковал мой дедушка. # Объявим в преамбуле новую команду ESPDappendixOP и будем передавать в неё строку следующего # вида: # "{обязательное|рекомендуемое|справочное} Заголовок приложения" # Используем пакет stringstrings. # 1) Используя макрос \getaword выхватим первое слово из входящей строки будем использовать его как # первый параметр для функции ESPDappendix. # 2) Потом удалить из входящей строки первое слово (которое уже извлечено ранее) и остатки строки # использовать как второй аргумент ESPDappendix. # Вот такой я умник. #% Category Section #% Margin Dynamic #% LabelType Counter #% LabelCounter section Style "Обязательное" Category "Приложение" Margin Dynamic LabelType Static LabelString "Прил. Обязат. " LabelCounter appendix TocLevel 1 LatexType Command LatexName ESPDappendixReq NeedProtect 1 NextNoIndent 1 LabelSep xxx ParSkip 0.4 TopSep 1.3 BottomSep 0.7 ParSep 0.7 Align Block AlignPossible Block, Left OptionalArgs 2 Font Series Bold Size Larger EndFont Preamble \newcommand{\ESPDappendixReq}[1]{ \ESPDappendix{"Обязательное"}{#1} } EndPreamble End Style "Справочное" CopyStyle "Обязательное" LabelString "Прил. Справоч. " LatexName ESPDappendixRef Preamble \newcommand{\ESPDappendixRef}[1]{ \ESPDappendix{"Справочное"}{#1} } EndPreamble End Style "Рекомендуемое" CopyStyle "Обязательное" LabelString "Прил. Рекоменд. " LatexName ESPDappendixRec Preamble \newcommand{\ESPDappendixRec}[1]{ \ESPDappendix{"Рекомендуемое"}{#1} } EndPreamble End Input numarticle.inc