lyx-layout-espdx/espdsections.inc

325 lines
10 KiB
PHP
Raw Normal View History

2016-10-20 17:23:01 +00:00
# Standard textclass definition file. Taken from initial LyX source code
# Author : Matthias Ettrich <ettrich@informatik.uni-tuebingen.de>
# Transposed by Pascal André <andre@via.ecp.fr>
# 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