325 lines
10 KiB
PHP
325 lines
10 KiB
PHP
|
# 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
|