#LyX 2.4 created this file. For more info see https://www.lyx.org/
\lyxformat 620
\begin_document
\begin_header
\save_transient_properties true
\origin /systemlyxdir/doc/ru/
\textclass scrbook
\begin_preamble
% DO NOT ALTER THIS PREAMBLE!!!
%
% This preamble is designed to ensure that the manual prints
% out as advertised. If you mess with this preamble,
% parts of the manual may not print out as expected. If you
% have problems LaTeXing this file, please contact
% the documentation team
% email: lyx-docs@lists.lyx.org
% the pages of the TOC are numbered roman
% and a PDF-bookmark for the TOC is added
\pagenumbering{roman}
\let\myTOC\tableofcontents
\renewcommand{\tableofcontents}{%
\frontmatter
\pdfbookmark[1]{\contentsname}{}
\myTOC
\cleardoublepage
\mainmatter
\pagenumbering{arabic}}
% extra space for tables
\newcommand{\extratablespace}[1]{\noalign{\vskip#1}}
% for reduces the overfull lines
\tolerance 1414
\hbadness 1414
\emergencystretch 1.5em
\hfuzz 0.3pt
% Use serif font
\addtokomafont{disposition}{\rmfamily}
\addtokomafont{descriptionlabel}{\rmfamily}
\end_preamble
\options bibliography=totoc,index=totoc,BCOR7.5mm,titlepage,captions=tableheading
\use_default_options false
\begin_modules
logicalmkup
theorems-ams
theorems-ams-extended
multicol
shapepar
\end_modules
\maintain_unincluded_children no
\language russian
\language_package default
\inputencoding utf8
\fontencoding auto
\font_roman "default" "default"
\font_sans "default" "default"
\font_typewriter "default" "default"
\font_math "auto" "auto"
\font_default_family default
\use_non_tex_fonts false
\font_sc false
\font_roman_osf false
\font_sans_osf false
\font_typewriter_osf false
\font_sf_scale 100 100
\font_tt_scale 100 100
\use_microtype true
\use_dash_ligatures true
\graphics default
\default_output_format pdf2
\output_sync 0
\bibtex_command default
\index_command makeindex
\float_placement class
\float_alignment class
\paperfontsize 12
\spacing single
\use_hyperref true
\pdf_title "Дополнительные возможности LyX"
\pdf_author "Команда разработки LyX"
\pdf_subject "Документация LyX - Дополнительные возможности"
\pdf_keywords "LyX"
\pdf_bookmarks true
\pdf_bookmarksnumbered true
\pdf_bookmarksopen false
\pdf_bookmarksopenlevel 1
\pdf_breaklinks false
\pdf_pdfborder false
\pdf_colorlinks true
\pdf_backref false
\pdf_pdfusetitle false
\pdf_quoted_options "linkcolor=black, citecolor=black, urlcolor=blue, filecolor=blue, pdfpagelayout=OneColumn, pdfnewwindow=true, pdfstartview=XYZ, plainpages=false"
\papersize a4
\use_geometry false
\use_package amsmath 1
\use_package amssymb 1
\use_package cancel 1
\use_package esint 1
\use_package mathdots 1
\use_package mathtools 1
\use_package mhchem 1
\use_package stackrel 1
\use_package stmaryrd 1
\use_package undertilde 1
\cite_engine basic
\cite_engine_type default
\biblio_style plain
\use_bibtopic false
\use_indices false
\paperorientation portrait
\suppress_date true
\justification true
\use_refstyle 1
\use_minted 0
\use_lineno 0
\notefontcolor #0000ff
\index Index
\shortcut idx
\color #008000
\end_index
\secnumdepth 3
\tocdepth 3
\paragraph_separation skip
\defskip halfline
\is_math_indent 0
\math_numbering_side default
\quotes_style russian
\dynamic_quotes 0
\papercolumns 1
\papersides 2
\paperpagestyle headings
\tablestyle default
\tracking_changes false
\output_changes false
\change_bars false
\postpone_fragile_content false
\html_math_output 0
\html_css_as_file 0
\html_be_strict true
\docbook_table_output 0
\docbook_mathml_prefix 1
\end_header
\begin_body
\begin_layout Title
Дополнительные возможности \SpecialChar LyX
\end_layout
\begin_layout Author
команда разработки \SpecialChar LyX
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Перевод:
Геннадий Чернышев,
редактирование и обновление:
Юрий Скалько.
\end_layout
\end_inset
\begin_inset space ~
\end_inset
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Если у вас возникли комментарии или исправления к этой документации,
пожалуйста,
отправьте их в список рассылки документации \SpecialChar LyX
:
\begin_inset CommandInset href
LatexCommand href
target "lyx-docs@lists.lyx.org"
type "mailto:"
literal "false"
\end_inset
.
\end_layout
\end_inset
\begin_inset Newline newline
\end_inset
\begin_inset Newline newline
\end_inset
Версия 2.4.x
\end_layout
\begin_layout Standard
\begin_inset CommandInset toc
LatexCommand tableofcontents
\end_inset
\end_layout
\begin_layout Chapter
Введение
\end_layout
\begin_layout Standard
По сути,
данное руководство является частью II
\shape italic
Руководства пользователя
\shape default
.
Причина разделения документа на две части проста:
\shape italic
Руководство пользователя
\shape default
само по себе уже довольно объемное и содержит информацию обо всех основных функциях,
которые необходимо знать для подготовки большинства документов.
Однако команда поработала над тем,
чтобы сделать \SpecialChar LyX
расширяемым с помощью различных конфигурационных файлов и внешних пакетов.
Это означает,
что если вы хотите поддерживать некий \SpecialChar LaTeX
-пакет,
то можете создать для него файл макета (или модуль),
не изменяя сам \SpecialChar LyX
.
Мы уже получили несколько новых возможностей,
реализованных таким способом,
и некоторые из них описаны в этом документе.
Имеются также некоторые более «продвинутые» функции,
такие как управление представлением библиографий и работа с составными документами,
которые не рассмотрены в
\shape italic
Руководстве пользователя
\shape default
и обсуждаются здесь.
\end_layout
\begin_layout Standard
В этом руководстве также описаны некоторые специальные функции,
такие как поддержка факсов и управление версиями,
для правильной работы которых требуется дополнительное программное обеспечение.
Также присутствует глава о поддержке HTML в \SpecialChar LyX
.
И,
наконец,
имеется глава,
посвященная инструментам и советам по \SpecialChar LaTeX
,
которые можно использовать для улучшения внешнего вида ваших документов,
напрямую используя мощные возможности \SpecialChar LaTeX
.
Все же \SpecialChar LyX
—
это только WYSIWYM-система,
и он может обеспечивать интерфейс только для некоторых,
а не для всех возможностей \SpecialChar LaTeX
.
\end_layout
\begin_layout Standard
Если вы еще не читали
\shape italic
Введение
\shape default
,
вы определенно ошиблись руководством.
\shape italic
Введение
\shape default
—
это то руководство,
с которого стоит начать,
поскольку оно описывает обозначения и формат всех остальных руководств.
Вы также должны быть хорошо знакомы с
\shape italic
Руководством пользователя
\shape default
и всеми основными функциями \SpecialChar LyX
,
прежде чем пытаться прочитать данный документ.
\end_layout
\begin_layout Standard
Поскольку многие темы в этом руководстве тесно связаны со взаимодействием \SpecialChar LyX
и \SpecialChar LaTeX
,
в следующей главе рассказывается о внутренней работе \SpecialChar LyX
и о том,
как заставить \SpecialChar LyX
генерировать именно нужный вам код \SpecialChar LaTeX
.
Разумеется,
эта информация предназначена для более опытных пользователей \SpecialChar LyX
.
\end_layout
\begin_layout Chapter
\SpecialChar LyX
и \SpecialChar LaTeX
\end_layout
\begin_layout Section
Как \SpecialChar LyX
использует \SpecialChar LaTeX
\end_layout
\begin_layout Standard
Эта глава предназначена как для \SpecialChar TeX
-ников,
так и для \SpecialChar LaTeX
-любопытных.
В ней мы объясним,
как \SpecialChar LyX
и \SpecialChar LaTeX
работают вместе для создания вывода,
предназначенного для печати.
Это единственное место из всех руководств,
где мы предполагаем,
что вы что-то знаете о \SpecialChar LaTeX
.
\end_layout
\begin_layout Standard
Одно время \SpecialChar LyX
назывался «WYSIWYM-интерфейсом для \SpecialChar LaTeX
»,
но теперь это уже не так.
Имеются также другие внешние интерфейсы к \SpecialChar LaTeX
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Некоторые из них —
это
\family typewriter
TeXmaker
\family default
и
\family typewriter
Kile
\family default
в Linux и
\family typewriter
TeXshop
\family default
в macOS.
Конечно,
существуют также режимы \SpecialChar LaTeX
для редакторов
\family typewriter
vi
\family default
и
\family typewriter
emacs
\family default
.
\end_layout
\end_inset
.
В основном это текстовые редакторы с возможностью запускать \SpecialChar LaTeX
и отмечать возникшие ошибки в редактируемом вами файле.
Хотя \SpecialChar LyX
также является редактором,
запускает \SpecialChar LaTeX
и указывает на ошибки в файле,
он также делает гораздо больше.
Главное,
что вам не нужно знать \SpecialChar LaTeX
,
чтобы эффективно использовать \SpecialChar LyX
.
Еще \SpecialChar LyX
добавляет к \SpecialChar LaTeX
собственные расширения.
Попробуйте сделать следующее:
выберите
\family sans
Экспортировать в\SpecialChar menuseparator
LaTeX
\family default
из меню
\family sans
Файл
\family default
(или
\family sans
Вид\SpecialChar menuseparator
Панель просмотра кода
\family default
,
затем посмотрите на преамбулу полученного файла
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
.tex
\end_layout
\end_inset
.
Вы заметите множество новых макросов,
специально определенных \SpecialChar LyX
.
Эти макросы определяются автоматически в соответствии с функциями,
которые вы используете в документе.
\end_layout
\begin_layout Standard
Имеется несколько команд автоматического вызова \SpecialChar LaTeX
.
К ним относятся использование меню:
\end_layout
\begin_layout Itemize
\family sans
Документ\SpecialChar menuseparator
Просмотреть
\end_layout
\begin_layout Itemize
\family sans
Документ\SpecialChar menuseparator
Обновить
\end_layout
\begin_layout Standard
Они будут вызывать \SpecialChar LaTeX
только в том случае,
если файл изменился с момента последнего запуска \SpecialChar LaTeX
.
\end_layout
\begin_layout Standard
Когда \SpecialChar LyX
запускает \SpecialChar LaTeX
для редактируемого файла,
он выполняет следующие шаги:
\end_layout
\begin_layout Enumerate
Преобразует документ в формат \SpecialChar LaTeX
и сохраняет в файл с расширением
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
.tex
\end_layout
\end_inset
вместо
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
.lyx
\end_layout
\end_inset
.
\end_layout
\begin_layout Enumerate
Запускает \SpecialChar LaTeX
для этого файла
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
.tex
\end_layout
\end_inset
(возможно,
несколько раз) и выполняет другие команды (например,
\family typewriter
bibtex
\family default
или
\family typewriter
makeindex
\family default
),
требуемые для компиляции файла \SpecialChar LaTeX
.
\end_layout
\begin_layout Enumerate
Если при этом были обнаружены ошибки,
предлагает просмотреть журнал результатов преобразования.
\end_layout
\begin_layout Standard
Если вы запустили \SpecialChar LaTeX
с помощью меню
\family sans
Документ\SpecialChar menuseparator
Просмотреть (другие форматы)\SpecialChar menuseparator
DVI
\family default
,
\SpecialChar LyX
активирует программу просмотра DVI для отображения результата.
Если вы использовали
\family sans
Документ\SpecialChar menuseparator
Просмотреть (другие форматы)\SpecialChar menuseparator
PostScript
\family default
,
\SpecialChar LyX
выполнит следующие шаги:
\end_layout
\begin_layout Enumerate
Запустит
\family typewriter
dvips
\family default
для преобразования файла DVI в формат PostScript.
\end_layout
\begin_layout Enumerate
Запустит программу просмотра PostScript,
например
\family typewriter
ghostview
\family default
,
для отображения файла формата PostScript.
\end_layout
\begin_layout Standard
\SpecialChar LyX
производит аналогичные действия при просмотре или экспорте других форматов.
\end_layout
\begin_layout Section
Перевод файлов \SpecialChar LaTeX
в \SpecialChar LyX
-формат
\end_layout
\begin_layout Standard
Вы можете импортировать \SpecialChar LaTeX
-файл в \SpecialChar LyX
,
используя меню
\family sans
Файл\SpecialChar menuseparator
Импортиро\SpecialChar softhyphen
вать из\SpecialChar menuseparator
LaTeX (plain)
\family default
.
Это действие вызовет программу с именем
\family typewriter
tex2lyx
\family default
,
которая создаст файл
\family typewriter
foo.lyx
\family default
из файла
\family typewriter
foo.tex
\family default
.
Далее \SpecialChar LyX
откроет этот файл
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
\family typewriter
tex2lyx
\family default
,
конечно,
также можно запустить и из командной строки.
\end_layout
\end_inset
.
\end_layout
\begin_layout Standard
\family typewriter
tex2lyx
\family default
транслирует большую часть корректных файлов \SpecialChar LaTeX
,
но не все.
Этот транслятор помещает последовательности символов,
которые не понимает,
в код \SpecialChar TeX
,
поэтому после перевода файла с помощью
\family typewriter
tex2lyx
\family default
вы можете поискать код \SpecialChar TeX
и вручную отредактировать его для получения правильного результата.
\end_layout
\begin_layout Standard
Если вы не знаете,
что такое код \SpecialChar TeX
,
прочтите следующий раздел.
\end_layout
\begin_layout Section
Вставка TeX-кода в документы \SpecialChar LyX
\begin_inset CommandInset label
LatexCommand label
name "sec:Inserting-TeX-Code"
\end_inset
\end_layout
\begin_layout Standard
Все,
что вы можете делать в \SpecialChar LaTeX
,
вы можете сделать и в \SpecialChar LyX
по очень простой причине:
вы всегда можете вставить код \SpecialChar TeX
в любой документ \SpecialChar LyX
.
\SpecialChar LyX
не может и никогда не сможет отобразить все возможные конструкции \SpecialChar LaTeX
.
Если вам когда-нибудь понадобится вставить команды \SpecialChar LaTeX
в документ \SpecialChar LyX
,
вы можете использовать блок
\family sans
Код TeX
\family default
,
который вставляется с помощью меню
\family sans
Вставка\SpecialChar menuseparator
Код TeX
\family default
или сочетания клавиш
\begin_inset Info
type "shortcut"
arg "ert-insert"
\end_inset
.
\end_layout
\begin_layout Standard
Приведем пример вставки команд \SpecialChar LaTeX
в документ \SpecialChar LyX
.
Код выглядит так:
\end_layout
\begin_layout LyX-Code
\backslash
begin{tabular}{ll}
\begin_inset Newline newline
\end_inset
\backslash
begin{minipage}{5cm}
\begin_inset Newline newline
\end_inset
Это пример окружения minipage.
\begin_inset Newline newline
\end_inset
В него можно поместить почти все,
\begin_inset Newline newline
\end_inset
даже (неплавающие) рисунки и таблицы.
\begin_inset Newline newline
\end_inset
\backslash
end{minipage}
\begin_inset Newline newline
\end_inset
&
\begin_inset Newline newline
\end_inset
\backslash
begin{minipage}{5cm}
\begin_inset Newline newline
\end_inset
\backslash
begin{verbatim}
\begin_inset Newline newline
\end_inset
\backslash
begin{minipage}{5cm}
\begin_inset Newline newline
\end_inset
Это ...
\begin_inset Newline newline
\end_inset
\backslash
end{minipage}
\begin_inset Newline newline
\end_inset
\backslash
end{verbatim}
\begin_inset Newline newline
\end_inset
\backslash
end{minipage}
\begin_inset Newline newline
\end_inset
\backslash
end{tabular}
\end_layout
\begin_layout LyX-Code
\end_layout
\begin_layout Standard
Блок
\family sans
Код TeX
\family default
,
содержащий этот текст,
находится сразу после этого абзаца.
Если вы читаете это руководство в \SpecialChar LyX
,
то увидите только вставку
\family sans
Код TeX
\family default
.
Этот же фрагмент в выводе (в печатной версии) будет отражать фактический результат:
\begin_inset VSpace bigskip
\end_inset
\end_layout
\begin_layout Standard
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
begin{tabular}{ll}
\end_layout
\begin_layout Plain Layout
\backslash
begin{minipage}{5cm}
\end_layout
\begin_layout Plain Layout
Это пример окружения minipage.
В него можно поместить почти все,
даже (неплавающие) рисунки и таблицы.
\end_layout
\begin_layout Plain Layout
\backslash
end{minipage}
\end_layout
\begin_layout Plain Layout
&
\end_layout
\begin_layout Plain Layout
\backslash
begin{minipage}{5cm}
\end_layout
\begin_layout Plain Layout
\backslash
begin{verbatim}
\end_layout
\begin_layout Plain Layout
\backslash
begin{minipage}{5cm}
\end_layout
\begin_layout Plain Layout
Это ...
\end_layout
\begin_layout Plain Layout
\backslash
end{minipage}
\end_layout
\begin_layout Plain Layout
\backslash
end{verbatim}
\end_layout
\begin_layout Plain Layout
\backslash
end{minipage}
\end_layout
\begin_layout Plain Layout
\backslash
end{tabular}
\end_layout
\end_inset
\begin_inset VSpace bigskip
\end_inset
\end_layout
\begin_layout Standard
В дополнение к использованию кода \SpecialChar TeX
,
вы также можете создать отдельный файл,
содержащий некоторую сложную \SpecialChar LaTeX
-структуру,
а затем использовать меню
\family sans
Вставка\SpecialChar menuseparator
Файл\SpecialChar menuseparator
Дочерний документ
\family default
для включения вашего файла (вы должны выбрать тип включения
\family sans
Ввести
\family default
).
Мы рекомендуем делать это только в том случае,
если у вас имеется файл
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
.tex
\end_layout
\end_inset
,
который является корректным.
В противном случае вам предстоит большая работа по выявлению ошибок \SpecialChar LaTeX
.
\end_layout
\begin_layout Standard
Также следует выделить такие моменты:
\end_layout
\begin_layout Itemize
\SpecialChar LyX
\shape italic
не
\shape default
проверяет правильность вашего \SpecialChar LaTeX
-кода.
\end_layout
\begin_layout Itemize
Не изобретайте велосипед.
\end_layout
\begin_layout Standard
Что касается последнего пункта,
в \SpecialChar LyX
действительно встроено немало функций,
и их количество постоянно растет.
Обязательно ознакомьтесь с руководствами,
чтобы убедиться,
что в \SpecialChar LyX
отсутствует некоторая функция,
прежде чем вы решите,
что вам придется создать ее самостоятельно.
Более того,
существует множество \SpecialChar LaTeX
-пакетов для самых разных задач,
от создания этикеток на конверты до причудливых многостраничных таблиц.
Посетите
\begin_inset CommandInset href
LatexCommand href
name "CTAN"
target "https://www.ctan.org/"
literal "false"
\end_inset
для уточнения деталей.
\end_layout
\begin_layout Standard
Если вам действительно нужно реализовать в документе какое-то изощренное,
необычное оформление,
обязательно обратитесь к хорошей книге по \SpecialChar LaTeX
за помощью.
Некоторые из них перечислены в библиографии
\shape italic
Руководства пользователя
\shape default
.
\end_layout
\begin_layout Section
\SpecialChar LyX
и преамбула \SpecialChar LaTeX
\end_layout
\begin_layout Subsection
О преамбуле \SpecialChar LaTeX
\end_layout
\begin_layout Standard
Если вы уже знакомы с \SpecialChar LaTeX
,
то нет нужды объяснять,
для чего нужна преамбула.
Если же это не так,
дальнейший текст подскажет вам некоторые идеи,
а мы снова рекомендуем обратиться к книге по \SpecialChar LaTeX
для получения дополнительной информации.
В любом случае вам следует вникнуть в содержимое следующих пунктов,
потому что они объясняют,
что можно,
а чего не нужно делать в \SpecialChar LaTeX
-преамбуле документа \SpecialChar LyX
.
\end_layout
\begin_layout Standard
Преамбула \SpecialChar LaTeX
находится в самом начале
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
.tex
\end_layout
\end_inset
-документа,
до самого текста.
Она служит для:
\end_layout
\begin_layout Itemize
Объявления класс документа.
\begin_inset Newline newline
\end_inset
\SpecialChar LyX
уже делает это за вас.
Если вы опытный \SpecialChar LaTeX
-специалист и у вас есть собственный класс документа,
который вы хотите использовать,
ознакомьтесь с
\shape italic
Руководством по настройке
\shape default
,
чтобы узнать,
как создать \SpecialChar LyX
-интерфейс для этого класса.
\end_layout
\begin_layout Itemize
Объявления использования пакетов.
\begin_inset Newline newline
\end_inset
Пакеты \SpecialChar LaTeX
предоставляют специальные команды,
которые доступны в документе,
только если пакет был объявлен в преамбуле.
Помимо предоставления специальных команд,
включение пакета может изменять документ.
Например,
пакет
\series bold
indentfirst
\series default
заставляет все абзацы иметь отступ.
Существуют и другие пакеты для ярлыков,
полей и т.
\begin_inset space \thinspace{}
\end_inset
д.
\end_layout
\begin_layout Itemize
Установки счетчиков,
переменных,
параметров размеров.
\begin_inset Newline newline
\end_inset
Имеются несколько счетчиков и переменных \SpecialChar LaTeX
,
которые
\shape italic
должны
\shape default
быть установлены глобально из преамбулы,
чтобы иметь желаемый эффект (существуют переменные,
которые вы также можете устанавливать и сбрасывать внутри документа).
Поля —
хороший пример того,
что должно быть установлено в преамбуле.
Другой пример —
формат метки для списков.
На самом деле,
вы можете установить их где угодно,
но лучше всего сделать это только один раз в преамбуле.
\end_layout
\begin_layout Itemize
Объявления команд пользователя (используя
\family typewriter
\backslash
newcommand
\family default
или
\family typewriter
\backslash
renewcommand
\family default
).
\begin_inset Newline newline
\end_inset
Это,
как правило,
сокращения для \SpecialChar LaTeX
-команд и/или их последовательностей,
которые часто встречаются внутри документа.
Хотя преамбула —
хорошее место для объявления таких команд,
они могут быть объявлены где угодно (конечно,
до их первого использования).
Их использование может быть полезно,
если в документе много кода \SpecialChar LaTeX
,
чего обычно не должно быть.
\end_layout
\begin_layout Standard
\SpecialChar LyX
добавляет собственный набор определений к преамбуле создаваемого файла
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
.tex
\end_layout
\end_inset
.
Это делает файлы \SpecialChar LaTeX
,
созданные \SpecialChar LyX
,
переносимыми.
\end_layout
\begin_layout Subsection
Изменение преамбулы
\end_layout
\begin_layout Standard
Команды,
которые \SpecialChar LyX
добавляет в преамбулу файла \SpecialChar LaTeX
,
зафиксированы;
вы не можете изменить их,
не меняя сам \SpecialChar LyX
.
Однако вы можете добавить собственный текст в преамбулу,
выбрав раздел
\family sans
Преамбула LaTeX
\family default
в диалоговом окне
\family sans
Документ\SpecialChar menuseparator
Настройки
\family default
.
\SpecialChar LyX
добавляет текст из диалогового окна преамбулы к своей собственной встроенной преамбуле.
Перед добавлением собственных объявлений в преамбулу вы должны убедиться,
что \SpecialChar LyX
не поддерживает то,
что вы хотите сделать (мы уже говорили об изобретении велосипеда).
Также,
\shape italic
убедитесь,
что код преамбулы корректен
\shape default
.
\SpecialChar LyX
не проверяет это за вас.
Если там есть ошибки,
вы,
скорее всего,
получите сообщение «
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
Missing
\backslash
begin{document}
\end_layout
\end_inset
».
Если вы увидите это сообщение —
проверьте преамбулу.
\end_layout
\begin_layout Subsection
Примеры
\end_layout
\begin_layout Standard
Приведем несколько примеров того,
что вы можете добавить в преамбулу и что это даст.
\end_layout
\begin_layout Subsubsection
Пример №1.
Смещения
\end_layout
\begin_layout Standard
В \SpecialChar LaTeX
имеются две переменные,
которые управляют положением страницы:
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
hoffset
\end_layout
\end_inset
и
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
voffset
\end_layout
\end_inset
.
Их имена не требуют пояснений.
Эти переменные полезны,
если на мгновение задуматься о компьютерных этикетках.
Иногда размер материала для печати и область материала,
на которой вы действительно можете печатать,
не совпадают.
Здесь на помощь приходят
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
hoffset
\end_layout
\end_inset
и
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
voffset
\end_layout
\end_inset
.
\end_layout
\begin_layout Standard
Значения по умолчанию для
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
hoffset
\end_layout
\end_inset
и
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
voffset
\end_layout
\end_inset
равны 0
\begin_inset space \thinspace{}
\end_inset
pt,
т.
\begin_inset space \thinspace{}
\end_inset
е.
страница не является сдвинутой.
К сожалению,
некоторые драйверы DVI всегда сдвигают страницу.
Мы понятия не имеем,
почему это происходит,
или почему системный администратор не изменил такое поведение.
Если вы используете \SpecialChar LyX
в системе,
которую лично не обслуживаете,
а ваш системный администратор ничего не предпринимает,
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
hoffset
\end_layout
\end_inset
и
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
voffset
\end_layout
\end_inset
могут спасти положение.
Предположим,
что левое и верхнее поля на страницах вашего документа всегда на 0,5 дюйма больше.
Тогда можно добавить в преамбулу следующее:
\end_layout
\begin_layout LyX-Code
\backslash
setlength{
\backslash
hoffset}{-0.5in}
\end_layout
\begin_layout LyX-Code
\backslash
setlength{
\backslash
voffset}{-0.5in}
\end_layout
\begin_layout Standard
и поля страниц должны будут выглядеть правильно.
\end_layout
\begin_layout Subsubsection
Пример №2.
Этикетки
\end_layout
\begin_layout Standard
Говоря об этикетках,
предположим,
что необходимо распечатать несколько адресных этикеток.
В архиве CTAN содержится довольно приятный пакет для печати листов с этикетками:
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
labels.sty
\end_layout
\end_inset
.
В вашей системе этот пакет может не быть установлен по умолчанию.
Тогда выбор по его установке за вами.
Вы также захотите прочитать к нему документацию;
за вас это никто не сделает.
Однако,
поскольку это пример,
мы продемонстрируем вариант того,
как можно использовать этот пакет.
\end_layout
\begin_layout Standard
Во-первых,
убедитесь,
что вы используете класс документа
\family sans
Article (стандартный класс)
\family default
.
Затем вам нужно указать в преамбуле следующее:
\end_layout
\begin_layout LyX-Code
\backslash
usepackage{labels}
\end_layout
\begin_layout LyX-Code
\backslash
LabelCols=3
\end_layout
\begin_layout LyX-Code
\backslash
LabelRows=7
\end_layout
\begin_layout LyX-Code
\backslash
LeftBorder=8mm
\end_layout
\begin_layout LyX-Code
\backslash
RightBorder=8mm
\end_layout
\begin_layout LyX-Code
\backslash
TopBorder=9mm
\end_layout
\begin_layout LyX-Code
\backslash
BottomBorder=2mm
\end_layout
\begin_layout Standard
Это настройка для листа этикеток Avery,
№
\begin_inset space \thinspace{}
\end_inset
5360.
Теперь все готово к печати этикеток,
но вам нужно вставить код \SpecialChar LaTeX
,
поместив команды
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
begin{labels}
\end_layout
\end_inset
и
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
end{labels}
\end_layout
\end_inset
вокруг текста каждого ярлыка.
Эта и другие особенности описаны в документации по
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
labels.sty
\end_layout
\end_inset
.
\end_layout
\begin_layout Standard
Когда-нибудь кто-нибудь разработает файл макета \SpecialChar LyX
для прямой поддержки этого пакета.
Может быть,
это будешь ты.
\end_layout
\begin_layout Subsubsection
Пример №3.
Абзацный отступ
\end_layout
\begin_layout Standard
Региональные стандарты многих стран могут содержать различающиеся требования к оформлению электронных и печатных документов.
В частности,
эти требования могут включать правила оформления абзацев.
Например,
абзац может иметь (или нет) отступ в первой строке,
при этом особые требования могут предъявляться к первому абзацу раздела и т.
\begin_inset space \thinspace{}
\end_inset
п.
\end_layout
\begin_layout Standard
В некоторых странах в книгах обычно принято делать отступ только для первой строки абзаца,
если он следует за другим абзацем.
Идея создания отступа в первой строке абзаца состоит в том,
чтобы отличать соседние абзацы друг от друга.
Если предыдущего (текстового) абзаца нет —
например,
если он следует за рисунком или является первым абзацем в разделе,
—
то отступы не нужны.
\end_layout
\begin_layout Standard
Однако каждый пользователь \SpecialChar LyX
вправе оформлять абзацы с использованием отступов по своему вкусу.
Если отступ необходим абсолютно во всех абзацах,
добавьте следующую строку в преамбулу \SpecialChar LaTeX
:
\end_layout
\begin_layout LyX-Code
\backslash
usepackage{indentfirst}
\end_layout
\begin_layout Standard
Пакет
\series bold
indentfirst
\series default
является встроенным в любой версии \SpecialChar LaTeX
.
Для изменения величины абзацного отступа можно,
например,
использовать команду:
\end_layout
\begin_layout LyX-Code
\backslash
setlength{
\backslash
parindent}{20pt}
\end_layout
\begin_layout Subsubsection
Пример №4.
Этот документ
\end_layout
\begin_layout Standard
Вы также можете просмотреть преамбулу данного документа,
чтобы получить представление о некоторых дополнительных возможностях.
\end_layout
\begin_layout Section
\SpecialChar LyX
и ошибки \SpecialChar LaTeX
\end_layout
\begin_layout Standard
Когда \SpecialChar LyX
вызывает \SpecialChar LaTeX
,
он дает установку \SpecialChar LaTeX
на проведение работы,
игнорируя любые ошибки.
Затем он использует файл журнала запуска \SpecialChar LaTeX
для разбора результатов.
После анализа файла журнала \SpecialChar LyX
отображает диалоговое окно со списком ошибок.
Щелкнув по любой из них,
вы можете исследовать то место в вашем \SpecialChar LyX
-файле,
где произошла ошибка
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Это так,
в большинстве случаев.
Анализ файла журнала —
сложная работа,
и \SpecialChar LyX
не всегда идет верным курсом.
Также возникают случаи,
когда \SpecialChar LaTeX
сообщает об ошибке в некоторой строке,
но фактическую ошибку надо искать до этого места.
Это похоже на то,
как вы забыли закрывающую скобку в программе:
вы получите ошибку,
но только в конце программы.
\end_layout
\end_inset
.
\end_layout
\begin_layout Standard
Некоторые предпочитают просматривать файл журнала напрямую:
он доступен в
\family sans
Документ\SpecialChar menuseparator
Журнал сообщений LaTeX
\family default
.
Имеются несколько довольно распространенных сообщений об ошибках и предупреждениях.
Мы рассмотрим их здесь.
Чтобы получить полный список,
обратитесь к литературе по \SpecialChar LaTeX
.
\end_layout
\begin_layout Itemize
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
LaTeX Warning
\end_layout
\end_inset
\begin_inset Newline newline
\end_inset
Все,
что начинается с этих слов,
является предупреждающим сообщением с целью «отладки» самого кода \SpecialChar LaTeX
.
Вы получите подобные сообщения,
если добавили или изменили перекрестные ссылки или записи библиографии,
и в этом случае \SpecialChar LaTeX
пытается сообщить вам,
что вам нужно выполнить еще один запуск.
Вы можете,
по большому счету,
игнорировать их.
\end_layout
\begin_layout Itemize
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
LaTeX Font Warning
\end_layout
\end_inset
\begin_inset Newline newline
\end_inset
Еще одно предупреждение,
на этот раз о шрифтах,
которые \SpecialChar LaTeX
не смог найти.
В остальной части сообщения обычно сообщается о заменяющем шрифте,
который использовал \SpecialChar LaTeX
.
Вы также можете это спокойно игнорировать.
\end_layout
\begin_layout Itemize
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
Overfull
\backslash
hbox
\end_layout
\end_inset
\begin_inset Newline newline
\end_inset
\SpecialChar LaTeX
очень обильно раздает их.
Кажется,
он генерирует по крайней мере одно из таких сообщений практически для любого создаваемого документа.
Это предупреждения о слишком длинных строках,
выходящих за правую границу текста,
что происходит,
если \SpecialChar LaTeX
не находит разумного способа разбить строки (особенно часто это происходит с машинописным шрифтом,
поскольку при этом не получается установить автоматически места переноса).
Во многих случаях это незаметно в выводе (
\begin_inset Quotes rld
\end_inset
нарушение
\begin_inset Quotes rrd
\end_inset
может составлять всего один или пару пунктов).
Иногда,
однако,
строки довольно заметно выходят на поля —
то,
что вы не захотите иметь в окончательном печатном выводе.
\begin_inset Newline newline
\end_inset
Существует несколько общих способов минимизировать такие переполненные строки.
Щелчок по
\family sans
Использовать микротипографику
\family default
в
\family sans
Документ\SpecialChar menuseparator
Настройки\SpecialChar menuseparator
Шрифты
\family default
уже может значительно улучшить ситуацию.
Кроме того,
следующий код \SpecialChar LaTeX
в
\family sans
Документ\SpecialChar menuseparator
Настройки\SpecialChar menuseparator
Преамбула LaTeX
\family default
обычно значительно сокращает переполнение строк (мы используем его в преамбуле данного документа):
\end_layout
\begin_deeper
\begin_layout LyX-Code
\backslash
tolerance 1414
\begin_inset Newline newline
\end_inset
\backslash
hbadness 1414
\begin_inset Newline newline
\end_inset
\backslash
emergencystretch 1.5em
\begin_inset Newline newline
\end_inset
\backslash
hfuzz 0.3pt
\end_layout
\begin_layout Standard
Однако в некоторых случаях вам в конечном итоге придется переписать текст,
чтобы строка разбивалась правильно
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Для получения дополнительной информации см.
\begin_inset Flex URL
status open
\begin_layout Plain Layout
http://www.tex.ac.uk/FAQ-overfull.html
\end_layout
\end_inset
\end_layout
\end_inset
.
\end_layout
\begin_layout Standard
В любом случае вы должны проверить соответствующие строки,
по крайней мере,
для окончательной версии вашего документа.
Ваши глаза обнаружат,
есть ли проблема с чем-то слишком широким
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Вы также можете включить опцию «draft» в
\family sans
Документ\SpecialChar menuseparator
Настройки
\family default
,
и тогда \SpecialChar LaTeX
изобразит черный прямоугольник на краю переполненных строк.
\end_layout
\end_inset
.
\end_layout
\end_deeper
\begin_layout Itemize
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
Underfull
\backslash
hbox
\end_layout
\end_inset
\begin_inset Newline newline
\end_inset
Появляется не так часто,
как предыдущее предупреждение.
Опять-таки,
это происходит,
если \SpecialChar LaTeX
не находит разумной точки разрыва строки и,
следовательно,
генерирует слишком жидкие строки (с заметно большими промежутками между словами).
Как и в случае с переполненными строками,
вы должны проверить,
является ли это зрительно ощутимой проблемой.
\end_layout
\begin_layout Itemize
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
Overfull
\backslash
vbox
\end_layout
\end_inset
and
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
Underfull
\backslash
vbox
\end_layout
\end_inset
\begin_inset Newline newline
\end_inset
Предупреждения о проблемах с разрывом страницы.
Еще раз,
просто посмотрите на результат.
Вы увидите,
где что-то пошло не так.
\end_layout
\begin_layout Itemize
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
LaTeX Error:
File
\begin_inset Quotes els
\end_inset
Xxxx
\begin_inset Quotes ers
\end_inset
not found
\end_layout
\end_inset
\begin_inset Newline newline
\end_inset
Файл «
\family typewriter
Xxxx
\family default
» не установлен в этой системе.
Обычно это происходит из-за того,
что какой-то пакет,
который требуется вашему документу,
не установлен.
Если вы не изменяли преамбулу и не использовали команду
\family typewriter
\backslash
usepackage
\family default
,
значит,
один из пакетов,
который \SpecialChar LyX
пытался загрузить,
отсутствует.
Обратитесь к
\family sans
Помощь\SpecialChar menuseparator
Конфигурация LaTeX
\family default
,
чтобы получить список пакетов,
которые известны \SpecialChar LyX
.
Эта информация обновляется всякий раз,
когда вы обновляете конфигурацию \SpecialChar LyX
(с помощью
\family sans
Инструменты\SpecialChar menuseparator
Обновить конфигурацию
\family default
),
и содержит сведения о том,
какие пакеты были обнаружены и что они делают.
\begin_inset Newline newline
\end_inset
Если вы использовали команду
\family typewriter
\backslash
usepackage
\family default
,
а рассматриваемый пакет не установлен,
необходимо установить его самостоятельно.
\end_layout
\begin_layout Itemize
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
LaTeX Error:
Unknown option
\end_layout
\end_inset
\begin_inset Newline newline
\end_inset
Сообщения об ошибках,
начинающиеся с этого текста,
означают то,
что вы указали неверный или неопределенный параметр для пакета.
Обратитесь к документации этого пакета.
\end_layout
\begin_layout Itemize
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
Undefined control sequence
\end_layout
\end_inset
\begin_inset Newline newline
\end_inset
Если вы вставили код \SpecialChar LaTeX
в документ,
но допустили опечатку,
то увидите соответствующую последовательность символов.
Возможно,
вы забыли загрузить пакет.
В любом случае,
это сообщение об ошибке обычно означает,
что была использована неопределенная команда.
\end_layout
\begin_layout Standard
Имеются и другие предупреждения и сообщения об ошибках.
Некоторые говорят сами за себя.
Обычно это сообщения \SpecialChar LaTeX
.
Другие просто загадочны.
Обычно это сообщения об ошибках \SpecialChar TeX
,
и мы действительно понятия не имеем,
что они означают и как их расшифровать.
Никто этого и не делает.
\end_layout
\begin_layout Standard
Есть общая последовательность действий,
которой вы должны следовать,
если получаете сообщения об ошибках:
\end_layout
\begin_layout Enumerate
Проверьте введенный вами код \SpecialChar LaTeX
на предмет опечаток.
\end_layout
\begin_layout Enumerate
Если опечатки отсутствуют,
убедитесь,
что вы правильно использовали команду (или последовательность команд).
\end_layout
\begin_layout Enumerate
Если вы получаете массу блоков с ошибками в самом начале документа —
и особенно,
если вы видите ошибку «
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
Missing
\backslash
begin{document}
\end_layout
\end_inset
»,
—
это означает,
что ошибки находятся в преамбуле.
Начните отладку с преамбулы.
\end_layout
\begin_layout Enumerate
Если вы ничего не добавляли в преамбулу и не добавляли код \SpecialChar LaTeX
в документ,
первым подозреваемым будет сам ваш дистрибутив \SpecialChar LaTeX
.
Проверьте его на присутствие необходимых пакетов и если не все в наличии,
установите их.
\end_layout
\begin_layout Enumerate
Ладно,
отсутствующих пакетов нет.
Вы использовали какие-либо параметры тонкой настройки в \SpecialChar LyX
?
В частности,
использовали ли вы какие-либо из них неправильно,
например,
пытались вручную вставить подряд несколько неразрывных пробелов,
разрывов строк или разрывов страниц?
Пытались ли вы сотворить что-либо с ними вместо использования подходящего окружения абзаца?
\end_layout
\begin_layout Enumerate
Если вы не использовали ни одну из опций тонкой настройки,
вы действовали по правилам.
Может быть вы пытались проделать необычный маневр?
Скажем,
сделали что-то необычное внутри таблицы или уравнения,
например,
вставили график в ячейку таблицы?
\end_layout
\begin_layout Enumerate
Содержит ли ваш документ длинные участки текста,
где \SpecialChar LaTeX
не может найти места разрыва строки?
По умолчанию \SpecialChar LaTeX
довольно точно определяет размер дополнительных промежутков между словами,
чтобы разбить строку.
Желательно переделать абзац,
если возникли проблемы.
\end_layout
\begin_layout Enumerate
Вы намудрили с вложенностью?
\SpecialChar LyX
(в настоящее время) не проверяет,
соблюдаете ли вы ограничения для вложенных окружений.
Если вы вложили совокупность окружений до 17-го уровня,
в этом и источник проблемы (предельное значение в \SpecialChar LaTeX
—
пять уровней).
\end_layout
\begin_layout Enumerate
Ладно,
вы не получали никаких сообщений об ошибках,
но результат выглядит ужасно.
Если в вашем документе присутствует таблица или рисунок,
выходящие за пределы страницы (по вертикали или по горизонтали),
вам необходимо:
\end_layout
\begin_deeper
\begin_layout Itemize
\begin_inset Argument item:1
status open
\begin_layout Plain Layout
–
\end_layout
\end_inset
изменить масштаб рисунка так,
чтобы он соответствовал размеру страницы;
\end_layout
\begin_layout Itemize
\begin_inset Argument item:1
status open
\begin_layout Plain Layout
–
\end_layout
\end_inset
урезать таблицу по размеру страницы.
\end_layout
\end_deeper
\begin_layout Enumerate
Если вывод выглядит все еще неудовлетворительно,
а вы следовали всем вышеприведенным рекомендациям,
то мы не можем сказать,
что не так.
\end_layout
\begin_layout Standard
Если ничего не помогает —
что ж,
\shape italic
возможно
\shape default
,
вы нашли ошибку в \SpecialChar LyX
…
\end_layout
\begin_layout Chapter
Дополнительные инструменты
\end_layout
\begin_layout Section
Настройка библиографий с помощью Bib\SpecialChar TeX
или Biblatex
\end_layout
\begin_layout Standard
Основная информация о том,
как использовать Bib\SpecialChar TeX
или
\family sans
Biblatex
\family default
с \SpecialChar LyX
,
содержится в
\shape italic
Руководстве пользователя
\shape default
,
в разделе
\shape italic
Библиографические базы данных
\shape default
.
В следующих подразделах описываются специальные библиографические функции,
поддерживаемые \SpecialChar LyX
.
\end_layout
\begin_layout Subsection
Альтернативные стили цитирования
\end_layout
\begin_layout Standard
Стандартный Bib\SpecialChar TeX
использует числа (например,
«[12]») для указания цитируемой работы.
Однако во многих научных дисциплинах используются другие стили цитирования.
Наиболее распространен авторский стиль (например,
«Knuth 1984a»).
\SpecialChar LyX
поддерживает три пакета,
которые предоставляют этот стиль:
\series bold
biblatex
\series default
,
\series bold
natbib
\series default
и
\series bold
jurabib
\series default
.
У каждого из этих пакетов есть свои плюсы и минусы,
которые невозможно перечислить подробно.
Если вы хотите иметь простой стиль Автор-год (или Автор-число) или,
если вы хотите использовать один из многочисленных стилевых файлов для
\series bold
natbib
\series default
,
то,
вероятно,
вам подойдет установленный пакет
\series bold
natbib
\series default
.
Если вы ищете конкретные стили цитирования,
распространенные в юридических исследованиях,
вы можете рассмотреть пакет
\series bold
jurabib
\series default
.
Если вы хотите иметь полный контроль над форматированием или найти дополнительные функции,
такие как там же,
цитаты в сносках,
полные цитаты из заголовков,
расширенные форматы даты (например,
\begin_inset Quotes rld
\end_inset
400
\begin_inset space \thinspace{}
\end_inset
г.
до н.
\begin_inset space \thinspace{}
\end_inset
э.
\begin_inset Quotes rrd
\end_inset
) или полную локализацию на других языках,
кроме английского,
вам обязательно стоит рассмотреть
\series bold
biblatex
\series default
,
который превосходит все другие пакеты с точки зрения возможностей,
но при этом довольно тяжелый и более ресурсоемкий.
\end_layout
\begin_layout Standard
Обработка этих пакетов в \SpecialChar LyX
в основном совпадает.
Перейдите в
\family sans
Документ\SpecialChar menuseparator
Настройки
\family default
и выберите в разделе
\family sans
Библиография
\family default
из списка
\family sans
Формат стиля
\family default
:
\family sans
Основной (BibTeX)
\family default
,
\family sans
Biblatex
\family default
,
\family sans
Biblatex (режим Natbib)
\family default
,
\family sans
Natbib (BibTeX)
\family default
или
\family sans
Jurabib (BibTeX)
\family default
(см.
раздел 6.5.3 в
\shape italic
Руководстве пользователя
\shape default
для получения дополнительной информации по этим вариантам).
Со всеми этими пакетами вы получите некоторые дополнительные функции в диалоговом окне цитирования и сможете выбрать стиль ссылки («Knuth 1984»,
«Knuth (1984)»,
«Knuth,
1984»,
«1984» и т.д.).
Обратите внимание,
что любому пакету требуются специально разработанные файлы стилей.
Все они поставляются самостоятельно,
но имеется много дополнительных файлов стилей и даже интерактивный конструктор стилей
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
См.
\begin_inset Flex URL
status open
\begin_layout Plain Layout
ftp://ctan.tug.org/tex-archive/macros/latex/contrib/custom-bib/
\end_layout
\end_inset
\end_layout
\end_inset
для
\series bold
natbib
\series default
.
\end_layout
\begin_layout Subsection
Разделенные библиографии
\end_layout
\begin_layout Standard
Иногда может потребоваться иметь несколько разделов в библиографии.
Если вы,
например,
проводите научные исследования,
возможность разделить источники и научные работы,
скорее всего,
просто необходима.
К сожалению,
сам Bib\SpecialChar TeX
не позволяет этого сделать.
Но с помощью некоторых \SpecialChar LaTeX
-пакетов Bib\SpecialChar TeX
можно расширить для решения этой задачи.
\end_layout
\begin_layout Standard
\SpecialChar LyX
обеспечивает встроенную поддержку одного из таких пакетов,
\series bold
bibtopic
\series default
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Доступно по ссылке
\begin_inset Flex URL
status open
\begin_layout Plain Layout
ftp://ctan.tug.org/tex-archive/macros/latex/contrib/bibtopic/
\end_layout
\end_inset
\end_layout
\end_inset
.
Преимущество этого пакета (по сравнению с другими пакетами,
такими как
\series bold
multibib
\series default
) в том,
что вам не нужно определять новые команды цитирования.
Вместо этого необходимо подготовить различные библиографические базы данных,
которые содержат источники для различных разделов библиографии.
Например:
если вы хотите разделить свою библиографию на разделы «Источники» и «Научные труды»,
вам сначала необходимо создать две библиографические базы данных,
к примеру,
\family typewriter
sources.bib
\family default
и
\family typewriter
scientific.bib
\family default
.
\end_layout
\begin_layout Standard
Перейдите в
\family sans
Документ\SpecialChar menuseparator
Настройки
\family default
и в разделе
\family sans
Библиография
\family default
отметьте параметр
\family sans
Разделенная библиография
\family default
.
Теперь вы можете вставлять несколько библиографий Bib\SpecialChar TeX
,
по одной для каждого раздела вашей библиографии.
Вернемся к примеру:
вставьте в документ Bib\SpecialChar TeX
-библиографию для баз данных
\family typewriter
sources.bib
\family default
и
\family typewriter
scientific.bib
\family default
.
Вы можете использовать одинаковые или разные стили для каждого раздела.
Кроме того,
вы можете выбрать,
должен ли раздел библиографии содержать «все процитированные источники» из указанных баз данных (по умолчанию),
«все непроцитированные источники» или даже «все источники».
Это может быть полезно,
если вы хотите разделить библиографию на три раздела:
«Цитируемые источники»,
«Нецитированные источники» и «Научные труды».
Заголовки для разделов могут быть добавлены как обычные разделы или подразделы.
Поскольку
\series bold
bibtopic
\series default
удаляет заголовок библиографии,
вам придется вручную повторно добавить его (например,
как
\family sans
Главу*
\family default
или
\family sans
Раздел*
\family default
).
\end_layout
\begin_layout Standard
С
\family sans
Biblatex
\family default
процедура немного другая.
Поскольку
\series bold
bibtopic
\series default
не работает с
\family sans
Biblatex
\family default
,
вышеупомянутая опция
\family sans
Разделенная библиография
\family default
должна быть отключена,
если используется
\family sans
Biblatex
\family default
.
Однако
\family sans
Biblatex
\family default
предоставляет собственные средства для создания разделенных библиографий.
Вы можете либо добавить ключевые слова в записи библиографии с помощью параметра ввода ключевых слов,
а затем отфильтровать разделы библиографии по ключевому слову (добавив
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
keyword=mykeyword
\end_layout
\end_inset
в поле
\family sans
Параметры
\family default
диалогового окна,
которое открывается,
если вы щелкнете левой кнопкой мыши по блоку
\family sans
Библиография Biblatex
\family default
,
либо вы можно фильтровать по типам записей (например,
\shape italic
книга
\shape default
или
\shape italic
статья
\shape default
),
введя,
например,
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
type=book
\end_layout
\end_inset
или
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
nottype=collection
\end_layout
\end_inset
в указанное поле
\family sans
Параметры
\family default
,
или вы можете создать так называемые «Категории библиографии»,
которым вы можете назначить отдельные записи.
Пожалуйста,
обратитесь к руководству по
\family sans
Biblatex
\family default
,
раздел
\shape italic
Секционированные библиографии
\shape default
,
для получения подробной информации.
\end_layout
\begin_layout Subsection
Отдельные библиографии
\begin_inset CommandInset label
LatexCommand label
name "subsec:Multiple-Bibliographies"
\end_inset
\end_layout
\begin_layout Standard
Отдельные библиографии,
например,
библиография для каждой части,
главы,
раздела,
подраздела или дочернего (вложенного) документа,
также поддерживаются \SpecialChar LyX
.
Чтобы включить эту возможность,
перейдите в
\family sans
Документ\SpecialChar menuseparator
Настройки\SpecialChar menuseparator
Библиография
\family default
и выберите соответствующий элемент (например,
«на раздел») в выпадающем списке
\family sans
Отдельные библиографии
\family default
.
Затем добавьте библиографию Bib(la)\SpecialChar TeX
к каждой составляющей (например,
к каждому разделу) вашего документа.
В результате создается отдельная библиография,
содержащая только источники со ссылками,
созданными в этой секции документа.
\end_layout
\begin_layout Standard
Если вы используете BibTeX,
то для создания нескольких библиографий используется либо пакет
\series bold
chapterbib
\series default
,
либо
\series bold
bibtopic
\series default
.
Первый пакет используется,
если вы выбираете «на дочерний документ» и не выбираете разделенную библиографию.
Во всех остальных случаях используется
\series bold
bibtopic
\series default
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Альтернативный подход,
если вы хотите использовать некоторый код \SpecialChar TeX
(см.
раздел
\begin_inset space ~
\end_inset
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:Inserting-TeX-Code"
\end_inset
),
это использовать пакет
\series bold
bibunits
\series default
.
\end_layout
\end_inset
.
При использовании
\series bold
bibtopic
\series default
,
\SpecialChar LyX
заключает указанные составляющие документа в командные скобки
\family typewriter
\backslash
begin{btUnit}
\family default
и
\family typewriter
\backslash
end{btUnit}
\family default
.
Обратите внимание,
что в этом случае существуют некоторые ограничения.
Во-первых,
каждая ссылка на источник должна быть внутри некоторого
\family typewriter
btUnit
\family default
.
Таким образом,
источники,
расположенные за пределами определенной части документа (например,
перед первым разделом,
если вы используете «на раздел») будут отображаться как «???».
Вы также можете создать свои собственные модули библиографии,
введя
\family typewriter
\backslash
begin{btUnit}
\family default
и
\family typewriter
\backslash
end{btUnit}
\family default
в качестве кода \SpecialChar TeX
(например,
чтобы обойти упомянутое ограничение).
Однако,
обратите внимание,
что эти командные скобки не могут быть вложенными в такие же скобки.
Второе ограничение —
\series bold
bibtopic
\series default
всегда обрабатывает все ссылки базы данных библиографии,
даже если они не цитируются.
Это может привести к появлению дополнительных меток (например,
«Miller 2014b»,
если в базе данных есть две работы этого автора с 2014 года,
даже если цитируется только одна).
\end_layout
\begin_layout Standard
Если вы применяете
\family sans
Biblatex
\family default
,
вместо него используется опция
\family typewriter
refsection
\family default
.
Если вам нужны определенные части документа,
вы можете начать их с помощью \SpecialChar TeX
-кода
\family typewriter
\backslash
newrefsection
\family default
или
\family typewriter
\backslash
newrefsegment
\family default
.
Если вы также хотите контролировать окончание такой части,
используйте вместо этого окружение
\family typewriter
\backslash
begin{refsection} ...
\backslash
end{refsection}
\family default
.
Однако обратите внимание,
что такие окружения не могут быть вложенными.
В дополнение к индивидуальной библиографии текущей части,
\family sans
Biblatex
\family default
также предоставляет простой способ вывести все библиографии впоследствии в одном месте (например,
в конце документа).
Для этого выберите «все источники» из выпадающего списка
\family sans
Содержание
\family default
в диалоговом окне Bib(la)\SpecialChar TeX
.
Пожалуйста,
обратитесь к руководству
\family sans
Biblatex
\family default
для получения дополнительной информации по этой теме.
\end_layout
\begin_layout Section
Составные документы
\end_layout
\begin_layout Subsection
Общие операции
\end_layout
\begin_layout Standard
Когда вы работаете над большим документом,
включающим много разделов,
может оказаться целесообразным разбить его на несколько файлов.
А может у вас имеется некоторое описание,
содержащее большую таблицу,
которая может время от времени меняться,
а предшествующий текст —
нет.
В этих случаях вам следует задуматься об использовании составных документов.
Например,
научные статьи часто состоят из пяти основных разделов:
введения,
описания наблюдений или опытов,
описания полученных результатов,
обсуждения и заключения.
Каждый из них может быть отдельным файлом \SpecialChar LyX
с одним «главным» файлом,
который содержит название,
авторов,
аннотацию,
ссылки и т.
\begin_inset space \thinspace{}
\end_inset
п.,
а также пять включенных файлов.
Важно отметить,
что каждый из этих файлов представляет собой полный файл \SpecialChar LyX
,
который можно отформатировать и распечатать самостоятельно,
а также включать в главный файл.
Но каждый из этих файлов должен иметь один и тот же класс документа —
не пытайтесь смешивать классы книг с классами статей.
Вы также можете включать файлы \SpecialChar LaTeX
;
однако у этих файлов не должно быть собственной преамбулы (т.
\begin_inset space \thinspace{}
\end_inset
е.
все до и включая строку
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
begin{document}
\end_layout
\end_inset
,
а также строка
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
end{document}
\end_layout
\end_inset
,
должно быть удалено),
иначе возникнут ошибки при попытке получить,
например,
файл DVI.
\end_layout
\begin_layout Standard
\SpecialChar LyX
позволяет довольно легко включать файлы с помощью меню
\family sans
Вставка\SpecialChar menuseparator
Файл\SpecialChar menuseparator
Дочерний документ
\family default
.
Когда вы осуществляете это действие,
появляется диалоговое окно
\family sans
Дочерний документ
\family default
,
в котором можно выбрать файл и сопутствующие параметры его включения.
\end_layout
\begin_layout Standard
Назначение поля
\family sans
Файл
\family default
очевидно.
Выпадающий список
\family sans
Тип включения
\family default
содержит пункты:
\family sans
Включить (include)
\family default
,
\family sans
Ввести (input)
\family default
,
\family sans
Буквально
\family default
и
\family sans
Листинг программы
\family default
.
Методы
\family sans
Включить
\family default
и
\family sans
Ввести
\family default
во многом схожи,
но есть и некоторые заметные различия:
\end_layout
\begin_layout Enumerate
«Включаемые» файлы верстаются,
начиная с новой страницы,
а файлы,
которые «вводятся»,
верстаются с текущей страницы.
\end_layout
\begin_layout Enumerate
«Включаемые» файлы не могут сами «включать» другие файлы («внуков»).
С другой стороны,
с «вводимыми» файлами такие действия неограниченно возможны.
\end_layout
\begin_layout Enumerate
«Включение» позволяет выводить только выбранные «включаемые» файлы,
сохраняя при этом фактические счетчики (разбиение на страницы и т.
\begin_inset space \thinspace{}
\end_inset
д.) и ссылки (подробности см.
в разделе
\shape italic
Дочерние документы
\shape default
руководства
\shape italic
Встроенные объекты
\shape default
).
\end_layout
\begin_layout Standard
Следовательно,
«включение» является предпочтительным методом для глав,
выделенных в дочерние документы,
в то время как «ввод» больше подходит для использования произвольных файлов.
\end_layout
\begin_layout Standard
Файл,
включаемый «буквально»,
позволяет вам включать материал в том виде,
в котором он представлен в файле,
т.
\begin_inset space \thinspace{}
\end_inset
е.
в дословном режиме,
с набором символов машинописным шрифтом.
Обычно,
пробелы в этом файле невидимы,
хотя несколько последовательных пробелов сохраняются,
в отличие от принятой обработки пробелов в \SpecialChar LyX
.
Однако,
установка флажка
\family sans
Отмечать пробелы в выводе
\family default
выводит пометки,
однозначно показывающие наличие пробела.
\end_layout
\begin_layout Standard
Тип включения
\family sans
Листинг программы
\family default
предназначен для задания параметров содержимого файла,
если оно представляет собой текст на каком-нибудь языке программирования (детали см.
в разделе
\shape italic
Листинги программного кода
\shape default
руководства
\shape italic
Встроенные объекты
\shape default
).
\end_layout
\begin_layout Standard
Как правило,
главный файл перед набором преобразуется в полный файл \SpecialChar LaTeX
,
а включенные файлы преобразуются в файлы \SpecialChar LaTeX
без преамбул.
\end_layout
\begin_layout Subsection
Списки библиографии во всех поддокументах
\end_layout
\begin_layout Standard
При работе дочерними документами вы можете захотеть иметь только одну основную библиографию в конце,
но при этом иметь возможность иметь свою библиографию для дочернего документа,
если вы выводите его отдельно.
Вот как этого можно добиться.
\end_layout
\begin_layout Standard
Для главного документа вы просто вставляете библиографию в то место,
где должна появиться основная библиография (в главном или в дочернем файле).
Если вставка библиографии находится в главном файле,
ссылки будут унаследованы всеми дочерними элементами,
поэтому они будут доступны в диалоговом окне цитирования в каждом дочернем файле.
\end_layout
\begin_layout Standard
Библиографии,
предназначенные только для дочерних документов,
вставьте там,
где они должны появиться,
когда дочерний документ транслируется отдельно.
Хитрость заключается в том,
чтобы вставить их в ветку (меню
\family sans
Вставка\SpecialChar menuseparator
\SpecialChar allowbreak
Ветка\SpecialChar menuseparator
\SpecialChar allowbreak
Добавить новую ветку
\family default
),
например,
названную «Только для поддокументов».
В дочерних документах активируйте эту ветку (используя
\family sans
Документ\SpecialChar menuseparator
\SpecialChar allowbreak
Настройки\SpecialChar menuseparator
\SpecialChar allowbreak
Ветки
\family default
).
А в главном документе деактивируйте эту ветку.
Теперь такие библиографии будут игнорироваться в главном документе,
но будет задействованы в дочерних.
\end_layout
\begin_layout Standard
Если вам нужно несколько библиографий (например,
по одной на каждый дочерний документ в основном документе),
обратитесь к разд.
\begin_inset space ~
\end_inset
\begin_inset CommandInset ref
LatexCommand ref
reference "subsec:Multiple-Bibliographies"
\end_inset
.
\end_layout
\begin_layout Section
Архивы \SpecialChar LyX
\end_layout
\begin_layout Standard
Иногда пользователям необходимо иметь возможность «связать» файл \SpecialChar LyX
со всеми изображениями (и другими файлами),
от которых он зависит,
для отправки издателю или для совместного использования с соавтором.
\SpecialChar LyX
включает скрипт Python (
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
lyxpak.py
\end_layout
\end_inset
),
который автоматизирует этот процесс.
Чтобы использовать его,
в вашей системе должны быть установлены модули Python:
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
zipfile
\end_layout
\end_inset
или
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
tarfile
\end_layout
\end_inset
.
По умолчанию этот скрипт предпочитает
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
tar
\end_layout
\end_inset
-формат,
сжатый с помощью
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
gzip
\end_layout
\end_inset
,
в Unix-подобных системах и
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
zip
\end_layout
\end_inset
-формат в Windows.
\end_layout
\begin_layout Standard
Конфигурационный процесс \SpecialChar LyX
настроит скрипт для экспорта в формат
\begin_inset Quotes rld
\end_inset
Архив \SpecialChar LyX
\begin_inset Quotes rrd
\end_inset
,
и этот формат будет доступен в меню
\family sans
Файл\SpecialChar menuseparator
Экспортировать в
\family default
.
\end_layout
\begin_layout Standard
Независимо от платформы создание определенного формата архива может быть принудительно добавлено переключателем
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-t
\end_layout
\end_inset
(для формата
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
tar
\end_layout
\end_inset
) или
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-z
\end_layout
\end_inset
(для формата
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
zip
\end_layout
\end_inset
) для конвертера
\family sans
LyX\SpecialChar menuseparator
Архив LyX
\family default
в меню
\family sans
Инструменты
\family default
\SpecialChar menuseparator
\SpecialChar allowbreak
\family sans
Настройки
\family default
\SpecialChar menuseparator
\SpecialChar allowbreak
\family sans
Обработка файлов
\family default
\SpecialChar menuseparator
\SpecialChar allowbreak
\family sans
Конвертеры
\family default
(убедитесь,
что вы добавили переключатель после имени скрипта,
а не перед ним).
\end_layout
\begin_layout Section
Красивые верхние и нижние колонтитулы
\end_layout
\begin_layout Standard
Макет страницы по умолчанию довольно прост;
для стандартного класса документов
\family sans
Article
\family default
все,
что вы получаете,
—
это номер страницы по центру внизу страницы.
В данном документе используется класс
\family sans
KOMA-Script Book
\family default
,
поэтому он выглядит немного интереснее.
Но чтобы по-настоящему устроить зрелище,
вам нужно установить стиль колонтитулов документа на «красивый (fancy)»,
как указано в
\shape italic
Руководстве пользователя
\shape default
.
В этом разделе описывается код \SpecialChar LaTeX
,
который вам нужно вставить в преамбулу \SpecialChar LaTeX
,
чтобы получить желаемые эффекты.
\end_layout
\begin_layout Standard
Дополнительную информацию о красивых заголовках см.
в документации пакета
\series bold
fancyhdr
\series default
(
\begin_inset Flex URL
status collapsed
\begin_layout Plain Layout
https://www.ctan.org/tex-archive/help/Catalogue/entries/fancyhdr.html
\end_layout
\end_inset
).
\end_layout
\begin_layout Standard
Верхний колонтитул делится на три поля,
неудивительно,
что они названы как «левое»,
«центральное» и «правое».
Нижний колонтитул также делится на эти три части.
Команды LaTeX для установки этих полей:
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
lhead
\end_layout
\end_inset
,
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
chead
\end_layout
\end_inset
,
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
rhead
\end_layout
\end_inset
,
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
lfoot
\end_layout
\end_inset
и т.
\begin_inset space \thinspace{}
\end_inset
д.
Предположим,
вы хотите поместить свое имя в верхнем левом углу каждой страницы.
Просто вставьте в преамбулу следующую команду:
\end_layout
\begin_layout LyX-Code
\family typewriter
\backslash
lhead{Имя Автора}
\end_layout
\begin_layout Standard
После этого вы увидите свое имя в верхнем левом углу.
Если поле содержит значение по умолчанию,
от которого вы хотели бы избавиться (часто номер страницы появляется в центральном нижнем колонтитуле),
просто включите команду с пустым аргументом,
например:
\end_layout
\begin_layout LyX-Code
\family typewriter
\backslash
cfoot{}
\end_layout
\begin_layout Standard
Давайте пофантазируем:
поместим номер раздела со словом «Раздел» (например,
Раздел 3) в верхнем левом углу,
номер страницы (например,
Страница 4) в верхнем правом углу,
ваше имя в нижнем слева и дата в правом нижнем углу.
Для этого,
в преамбуле должны появиться следующие команды:
\end_layout
\begin_layout LyX-Code
\family typewriter
\backslash
lhead{Раздел
\backslash
thesection}
\end_layout
\begin_layout LyX-Code
\family typewriter
\backslash
chead{}
\end_layout
\begin_layout LyX-Code
\family typewriter
\backslash
rhead{Страница
\backslash
thepage}
\end_layout
\begin_layout LyX-Code
\family typewriter
\backslash
lfoot{Имя Автора}
\end_layout
\begin_layout LyX-Code
\family typewriter
\backslash
cfoot{}
\end_layout
\begin_layout LyX-Code
\family typewriter
\backslash
rfoot{
\backslash
today}
\end_layout
\begin_layout Standard
Команды
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
thesection
\end_layout
\end_inset
и
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
thepage
\end_layout
\end_inset
дают доступ к счетчикам \SpecialChar LaTeX
для разделов и страниц,
и таким образом выводят текущий раздел и номер страницы.
Команда
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
today
\end_layout
\end_inset
просто выдает текущую дату.
\end_layout
\begin_layout Standard
Также можно изменить толщину горизонтальных линий,
расположенных под верхним и над нижним колонтитулом.
Если вам не нужна одна из этих линий,
установите ее толщину в 0.
Линия верхнего колонтитула имеет толщину по умолчанию 0.4
\begin_inset space \thinspace{}
\end_inset
pt,
линия нижнего колонтитула —
0
\begin_inset space \thinspace{}
\end_inset
pt.
Для установки толщины используйте команды,
такие как
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
renewcommand{
\backslash
headrulewidth}{0.4pt}
\end_layout
\end_inset
и
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
renewcommand{
\backslash
footrulewidth}{0.4pt}
\end_layout
\end_inset
.
\end_layout
\begin_layout Standard
Вы можете включать и выключать настройки верхнего/нижнего колонтитула для отдельных страниц с помощью таких команд,
как
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
thispagestyle{empty}
\end_layout
\end_inset
,
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
thispagestyle{plain}
\end_layout
\end_inset
и
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
thispagestyle{fancy}
\end_layout
\end_inset
.
Просто вставьте их в текст на странице,
которую вы хотите изменить,
и пометьте их как код \SpecialChar TeX
.
Фактически,
титульные страницы по умолчанию помечаются как простые,
а следующие страницы помечаются как красивые,
при использовании соответствующей глобальной настройки.
\end_layout
\begin_layout Standard
В качестве последнего примера,
можно включить изображение в верхний или нижний колонтитул.
Предположим,
вы хотите разместить логотип компании в верхнем левом углу.
Вы можете попробовать что-то вроде
\end_layout
\begin_layout LyX-Code
\family typewriter
\backslash
lhead{
\backslash
resizebox{1in}{!}{
\backslash
includegraphics{logo.eps}}}
\end_layout
\begin_layout Standard
\noindent
(вам может потребоваться добавить к этому команду
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
usepackage{graphics}
\end_layout
\end_inset
,
если вы еще не включили графику где-либо еще в вашем документе).
\end_layout
\begin_layout Section
Настройка маркеров списков
\begin_inset CommandInset label
LatexCommand label
name "sec:bullet"
\end_inset
\end_layout
\begin_layout Subsection
Введение
\end_layout
\begin_layout Standard
\SpecialChar LyX
предоставляет 216 форм маркеров,
к которым можно получить доступ из простого диалогового окна.
Используя это окно,
вы можете легко указать,
какую форму маркера использовать на каждом уровне ненумерованного списка.
Эти настройки распространяются на весь документ,
поэтому вы не сможете этим способом указать разные наборы маркеров для разных абзацев
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Правда,
на самом деле это возможно,
но вам придется делать это самостоятельно.
\end_layout
\end_inset
.
\end_layout
\begin_layout Subsection
Настройка
\end_layout
\begin_layout Standard
Откройте диалоговое окно,
выбрав пункт меню
\family sans
Документ\SpecialChar menuseparator
Настройки
\family default
,
а затем выберите раздел
\family sans
Маркеры
\family default
.
\end_layout
\begin_layout Standard
Окно предоставляет вам таблицу форм маркеров.
Столбец кнопок в левой части таблицы обеспечивает доступ к шести различным панелям формы маркеров.
Ряд кнопок вверху используется для выбора изменяемой глубины маркера.
\end_layout
\begin_layout Standard
Шесть панелей разделены по требуемым пакетам.
В следующей таблице показано сопоставление имени кнопки с пакетом \SpecialChar LaTeX
.
\end_layout
\begin_layout Standard
\align center
\begin_inset Tabular
\begin_inset Text
\begin_layout Plain Layout
\family roman
\series medium
\shape up
\size normal
\emph off
\bar no
\noun off
\color none
Кнопка
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
\family roman
\series medium
\shape up
\size normal
\emph off
\bar no
\noun off
\color none
Необходимый пакет
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
\family sans
\series medium
\shape up
\size normal
\emph off
\bar no
\noun off
\color none
Стандартный
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
\series medium
\shape up
\size normal
\emph off
\bar no
\noun off
\color none
базовый \SpecialChar LaTeX
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
\family sans
\series medium
\shape up
\size normal
\emph off
\bar no
\noun off
\color none
Математика
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
\family typewriter
\series medium
\shape up
\size normal
\emph off
\bar no
\noun off
\color none
amssymb.sty
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
\family sans
\series medium
\shape up
\size normal
\emph off
\bar no
\noun off
\color none
Маркер 1
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
\family typewriter
\series medium
\shape up
\size normal
\emph off
\bar no
\noun off
\color none
pifont.sty
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
\family sans
\series medium
\shape up
\size normal
\emph off
\bar no
\noun off
\color none
Маркер 2
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
\family typewriter
\series medium
\shape up
\size normal
\emph off
\bar no
\noun off
\color none
pifont.sty
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
\family sans
\series medium
\shape up
\size normal
\emph off
\bar no
\noun off
\color none
Маркер 3
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
\family typewriter
\series medium
\shape up
\size normal
\emph off
\bar no
\noun off
\color none
pifont.sty
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
\family sans
\series medium
\shape up
\size normal
\emph off
\bar no
\noun off
\color none
Маркер 4
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
\family typewriter
\series medium
\shape up
\size normal
\emph off
\bar no
\noun off
\color none
pifont.sty
\end_layout
\end_inset
|
\end_inset
\end_layout
\begin_layout Standard
\SpecialChar LyX
не препятствует использованию маркеров из отсутствующих пакетов.
Если вы получаете ошибки от \SpecialChar LaTeX
при попытке просмотреть или распечатать файл,
содержащий такие маркеры,
вероятно,
в вашем документе не указано использование соответствующего пакета
\begin_inset Foot
status open
\begin_layout Plain Layout
\SpecialChar LyX
не ограничивает использование не определенных маркеров,
поскольку вы можете редактировать документ локально,
а затем экспортировать его куда-нибудь.
\end_layout
\end_inset
.
\end_layout
\begin_layout Subsection
Использование
\end_layout
\begin_layout Standard
Выберите,
какую глубину маркера вы хотите изменить,
затем выберите форму и размер маркера.
Любые изменения не будут отображаться в \SpecialChar LyX
,
но будут видны в выводе.
\end_layout
\begin_layout Standard
Можно сбросить форму маркера до значения по умолчанию,
просто щелкнув правой кнопкой мыши на соответствующей кнопке глубины маркера
\begin_inset Foot
status open
\begin_layout Plain Layout
Если вам действительно требуются несколько абзацев с разными наборами маркеров в каждом,
то придется использовать код \SpecialChar TeX
.
Диалог выбора маркера может помочь,
поскольку предоставляет код \SpecialChar LaTeX
для широкого диапазона форм маркеров.
Чтобы создать собственные абзацы,
имеются следующие возможности:
\end_layout
\begin_layout Plain Layout
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
let
\backslash
savelabelitemi=
\backslash
labelitemi
\end_layout
\end_inset
\end_layout
\begin_layout Plain Layout
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
renewcommand
\backslash
labelitemi[0]{
\backslash
small
\backslash
(
\backslash
sharp
\backslash
)}
\end_layout
\end_inset
\end_layout
\begin_layout Itemize
Используйте команду \SpecialChar LaTeX
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
renewcommand{}{}
\end_layout
\end_inset
,
чтобы указать новую форму маркера для заданной глубины.
Вам также необходимо сохранить текущую форму маркера,
чтобы восстановить ее позже.
В этом списке для изменения маркера для глубины 1,
использовался следующий код \SpecialChar LaTeX
:
\end_layout
\begin_deeper
\begin_layout LyX-Code
\backslash
let
\backslash
savelabelitemi=
\backslash
labelitemi
\end_layout
\begin_layout LyX-Code
\backslash
renewcommand
\backslash
labelitemi[0]{
\backslash
small
\backslash
(
\backslash
sharp
\backslash
)}
\end_layout
\end_deeper
\begin_layout Itemize
Обратите внимание,
что глубина разбивки элементов списка указана римскими цифрами как часть команды
\backslash
labelitem.
\end_layout
\begin_layout Itemize
\begin_inset Argument item:1
status open
\begin_layout Plain Layout
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
(
\backslash
star
\backslash
)
\end_layout
\end_inset
\end_layout
\end_inset
Укажите каждый отдельный элемент,
начиная с формы маркера,
заключенной во вставку
\family sans
Пользовательские вставки
\family default
(доступной в
\family sans
Вставка\SpecialChar menuseparator
Пользовательские вставки
\family default
) и устанавливая как
\family sans
Код TeX
\family default
.
Например,
данный элемент был начат с
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
(
\backslash
star
\backslash
)
\end_layout
\end_inset
.
\end_layout
\begin_layout Plain Layout
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
renewcommand
\backslash
labelitemi[0]{
\backslash
savelabelitemi}
\end_layout
\end_inset
\end_layout
\begin_layout Plain Layout
Также нужно будет вернуть элемент метки к его предыдущему значению,
чтобы глобальные настройки формы маркера остались в силе.
Здесь использовался следующий способ:
\end_layout
\begin_layout LyX-Code
\backslash
renewcommand
\backslash
labelitemi[0]{
\backslash
savelabelitemi}
\end_layout
\end_inset
.
\end_layout
\begin_layout Chapter
\SpecialChar LyX
и Всемирная паутина
\end_layout
\begin_layout Standard
\SpecialChar LyX
уже давно поддерживает экспорт документов в различные веб-форматы,
такие как HTML.
Однако до версии 2.0 экспорт HTML всегда выполнялся с использованием внешних конвертеров
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Подробнее об использовании внешних конвертеров с \SpecialChar LyX
см.
в
\shape italic
Руководстве по настройке
\shape default
,
раздел
\shape italic
Конвертеры
\shape default
.
\end_layout
\end_inset
.
Они делятся на две большие группы:
имеются конвертеры,
которые используют \SpecialChar LaTeX
в качестве промежуточного формата,
такие как
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
htlatex
\end_layout
\end_inset
,
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
html2latex
\end_layout
\end_inset
и
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
plastex
\end_layout
\end_inset
,
полагаясь на \SpecialChar LyX
для создания \SpecialChar LaTeX
-кода;
и есть конвертер,
который работает непосредственно с файлами \SpecialChar LyX
,
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
e\SpecialChar LyX
er
\end_layout
\end_inset
.
У каждого из них свои преимущества и недостатки.
\end_layout
\begin_layout Standard
Конвертеры,
основанные на \SpecialChar LaTeX
,
имеют то преимущество,
что в принципе в них заложено все,
что используется в \SpecialChar LaTeX
при экспорте документа.
Для работы таких конвертеров не важно,
как был создан код документа.
Эти конвертеры могут использовать файлы
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
aux
\end_layout
\end_inset
,
счетчики,
ссылки и файлы
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
bbl
\end_layout
\end_inset
,
созданные Bib\SpecialChar TeX
.
С другой стороны,
\SpecialChar LaTeX
—
очень сложный для синтаксического анализа язык.
Иногда говорят,
что только сам \SpecialChar TeX
понимает \SpecialChar TeX
,
и конвертеры на основе \SpecialChar LaTeX
часто не могут преобразовать,
кажущиеся довольно простыми,
конструкции;
сложные же фрагменты могут вообще не появиться в выводе.
Например,
на момент написания данного документа,
руководство
\shape italic
Встроенные объекты
\shape default
не будет экспортировано с помощью
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
htlatex
\end_layout
\end_inset
,
хотя с другими руководствами экспорт будет произведен без проблем.
Другой вопрос касается того,
как обрабатывается математика.
Эти конвертеры обычно преобразуют формулы в небольшие изображения,
которые затем связываются с HTML-документом.
Поскольку эти изображения фактически генерируются \SpecialChar LaTeX
,
они точны.
Но с ними возникают проблемы масштабирования,
непросто сделать так,
чтобы размеры шрифтов казались примерно одинаковыми и не
\begin_inset Quotes rld
\end_inset
расплывались
\begin_inset Quotes rrd
\end_inset
при увеличении.
\end_layout
\begin_layout Standard
Конвертер
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
e\SpecialChar LyX
er
\end_layout
\end_inset
от Alex Fernandez (
\begin_inset CommandInset href
LatexCommand href
name "http://pinchito.es/elyxer/"
target "http://pinchito.es/elyxer/"
literal "false"
\end_inset
) решает некоторые из этих проблем.
В частности,
формулы,
которые он создает,
идеально масштабируются,
поскольку математика отображается с использованием комбинации HTML и CSS,
а не конвертируется в изображения.
Но,
даже умеренно сложные формулы обрабатываются хуже,
чем конвертером
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
htlatex
\end_layout
\end_inset
;
это отражает ограничения HTML
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Тем не менее,
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
e\SpecialChar LyX
er
\end_layout
\end_inset
также может использовать jsMath и MathJax для уравнений,
но эти возможности доступны только глобально и требуют доступа к серверу.
\end_layout
\end_inset
.
Что более важно (по крайней мере,
с версии 1.1.1),
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
e\SpecialChar LyX
er
\end_layout
\end_inset
имеет ограниченную поддержку математических макросов и не поддерживает определяемые пользователем стили абзацев или символов.
Эти ограничения делают
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
e\SpecialChar LyX
er
\end_layout
\end_inset
непригодным для многих документов,
создаваемых пользователями.
В принципе,
конечно,
эти проблемы можно решить,
но разработчики \SpecialChar LyX
решили пойти другим путем и сделали сам \SpecialChar LyX
способным формировать XHTML,
так же как он может создавать \SpecialChar LaTeX
-код,
DocBook и простой текст.
\end_layout
\begin_layout Standard
На момент написания этой статьи вывод XHTML находится в стадии разработки и,
вероятно,
должен рассматриваться как «экспериментальный»
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Файл
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
development/HTML/HTML.notes
\end_layout
\end_inset
,
который можно найти в дереве исходных текстов \SpecialChar LyX
или
\begin_inset CommandInset href
LatexCommand href
name "просмотреть онлайн"
target "https://www.lyx.org/trac/browser/lyxgit/development/HTML/HTML.notes?rev=master"
literal "false"
\end_inset
,
обычно содержит актуальную информацию о состоянии вывода XHTML.
См.
также список ошибок XHTML в
\begin_inset CommandInset href
LatexCommand href
name "системе отслеживания ошибок"
target "https://www.lyx.org/trac/query?status=reopened&status=assigned&status=new&max=0&component=xhtml+export&order=id&col=id&col=summary&col=reporter&col=keywords&keywords=%21%7Efixedintrunk&desc=1"
literal "false"
\end_inset
.
\end_layout
\end_inset
.
Тем не менее,
разработчики выбрали этот подход,
потому что он имеет несколько потенциальных преимуществ перед двумя другими.
\end_layout
\begin_layout Standard
Эти преимущества в первую очередь связаны с тем,
что в процедуры вывода XHTML,
поскольку они являются частью \SpecialChar LyX
,
заложено все,
что \SpecialChar LyX
\begin_inset Quotes rld
\end_inset
знает
\begin_inset Quotes rrd
\end_inset
об экспортируемом документе
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Еще одно преимущество заключается в том,
что,
поскольку эти процедуры являются внутренними для \SpecialChar LyX
,
они невосприимчивы к изменениям в формате файла \SpecialChar LyX
или к изменениям семантики существующих вставок.
\end_layout
\end_inset
.
Таким образом,
в них заложена информация о содержании (как в панели навигации),
о счетчиках,
связанных с различными стилями абзацев,
и о стилях,
определенных пользователем.
Процедурам вывода XHTML также доступны сведения из \SpecialChar LyX
об интернационализации,
поэтому они выводят,
например,
«Глава 1» или «Kapitel 1»,
в зависимости от используемого языка.
\end_layout
\begin_layout Standard
В общем,
процедуры вывода используют информацию из \SpecialChar LyX
о макете документа,
то есть о том,
как документ должен отображаться на экране.
Эта информация используется,
когда документ выводится в формате XHTML.
В частности,
\SpecialChar LyX
\shape italic
автоматически
\shape default
генерирует информацию о стиле CSS,
соответствующую информации о макете,
которую он использует для отображения документа на экране:
если заголовки разделов должны быть отображаться шрифтом без засечек и с полужирной насыщенностью,
как в \SpecialChar LyX
,
то (по умолчанию) они будут также выглядеть и при просмотре в веб-браузере.
И это верно не только для предопределенных стилей,
таких как
\begin_inset Quotes rld
\end_inset
Раздел
\begin_inset Quotes rrd
\end_inset
,
но и для любого стиля,
включая стили,
определенные пользователем.
Действительно,
процедуры вывода XHTML не делают различий между определяемыми пользователем стилями абзацев и текста и собственными предопределенными стилями \SpecialChar LyX
:
в каждом случае все,
что \SpecialChar LyX
знает о стилях,
содержится в файлах макета.
То же самое верно и в отношении заранее определенных текстовых вставок,
таких как сноски,
и различных пользовательских вставок.
\end_layout
\begin_layout Standard
В результате вывод XHTML может быть настроен и расширен точно так же,
как это делается для вывода \SpecialChar LaTeX
:
через файлы и модули макета.
См.
подробности в пятой главе
\shape italic
Руководства по настройке
\shape default
.
\end_layout
\begin_layout Standard
В оставшейся части этой главы содержится более подробная информация о выводе XHTML,
его ограничениях и способах обхода этих ограничений.
\end_layout
\begin_layout Section
Вывод формул в XHTML
\end_layout
\begin_layout Standard
Для представления математических выражений \SpecialChar LyX
предлагает четыре варианта,
у каждого из которых имеются и преимущества,
и недостатки:
\end_layout
\begin_layout Description
MathML Это диалект XML,
разработанный специально для представления математики в Интернете,
и обычно он очень хорошо отображается в браузерах,
которые его поддерживают.
Недостатком является то,
что не все браузеры поддерживают MathML,
а поддержка не является полной даже в браузерах на основе Gecko,
таких как Firefox.
\begin_inset Newline newline
\end_inset
Если \SpecialChar LyX
не может отобразить формулу как это делает MathML —
например,
если формула использует пакет
\series bold
xymatrix
\series default
или ERT —
он выведет эту формулу как изображение.
\end_layout
\begin_layout Description
HTML Как уже упоминалось,
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
elyxer
\end_layout
\end_inset
выводит математические данные в виде HTML,
стилизованного с помощью CSS
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
\SpecialChar LyX
позаимствовал часть CSS для вывода HTML из
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
elyxer
\end_layout
\end_inset
.
\end_layout
\end_inset
.
Для простых формул это может работать достаточно хорошо,
но с более сложными формулами могут возникнуть проблемы.
Тем не менее,
этот метод имеет то преимущество,
что он очень широко поддерживается,
и поэтому может быть подходящим для документов,
содержащих лишь немного довольно простой математики.
Если \SpecialChar LyX
не может отобразить формулу в формате HTML,
например,
если в формуле используется
\series bold
xymatrix
\series default
или ERT —
формула будет выводиться как изображение.
\end_layout
\begin_layout Description
Изображения Подобно
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
htlatex
\end_layout
\end_inset
,
\SpecialChar LyX
будет выводить формулы в виде изображений,
фактически тех же изображений,
которые используются для мгновенного предпросмотра
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Однако для вывода изображений
\shape italic
не
\shape default
обязательно включать предварительный просмотр.
\end_layout
\end_inset
.
Преимущество этого метода заключается в том,
что изображения просто генерируются \SpecialChar LaTeX
,
поэтому они весьма точные.
Недостатком же,
как упоминалось ранее,
является то,
что это растровые изображения,
поэтому они не очень хорошо масштабируются,
их невозможно скопировать и т.
\begin_inset space \thinspace{}
\end_inset
д.
\begin_inset Newline newline
\end_inset
Размер изображений можно регулировать параметром
\family sans
Масштаб изображений в формулах
\family default
в меню
\family sans
Документ\SpecialChar menuseparator
Настройки\SpecialChar menuseparator
Форматы
\family default
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
К сведению,
устанавливаемое значение регулирует разрешение изображения в точках на дюйм и основано,
по умолчанию,
на величине 75
\begin_inset Formula $\,$
\end_inset
dpi.
\end_layout
\end_inset
.
\begin_inset Newline newline
\end_inset
Если \SpecialChar LyX
по какой-либо причине не может создать изображение для формулы (например,
если необходимый пакет \SpecialChar LaTeX
не установлен),
он выведет необработанный фрагмент \SpecialChar LaTeX
-кода.
\end_layout
\begin_layout Description
\SpecialChar LaTeX
Наконец,
\SpecialChar LyX
без проблем выведет математику в виде \SpecialChar LaTeX
-кода.
Этот метод не только является крайней мерой,
но и может использоваться с такими инструментами,
как
\begin_inset CommandInset href
LatexCommand href
name "jsMath"
target "http://www.math.union.edu/~dpvc/jsMath/"
literal "false"
\end_inset
,
где используется JavaScript для визуализации \SpecialChar LaTeX
,
встроенного в HTML-документы.
\SpecialChar LyX
оборачивает \SpecialChar LaTeX
-код либо в
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
span
\end_layout
\end_inset
(для обычных формул),
либо в
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
div
\end_layout
\end_inset
(для выделенных формул) с
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
class='math'
\end_layout
\end_inset
,
как это требуется для jsMath.
\end_layout
\begin_layout Standard
Один из этих методов вывода должен быть выбран в
\family sans
Документ\SpecialChar menuseparator
Настройки\SpecialChar menuseparator
Форматы
\family default
.
По умолчанию \SpecialChar LyX
выводит математические выражения в формате MathML.
Этот параметр действует на весь документ.
\end_layout
\begin_layout Standard
Со временем \SpecialChar LyX
предложит пользователю возможность выбирать альтернативный метод вывода для конкретной вставки,
скажем,
такой,
которая не очень хорошо отображается в MathML
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Тем не менее,
поскольку \SpecialChar LyX
использует изображения,
если вставка содержит ERT,
можно принудительно осуществлять вывод как изображение,
добавив в математическое выражение безобидный ERT,
например:
\begin_inset Formula $a=b\relax$
\end_inset
.
\end_layout
\end_inset
.
\end_layout
\begin_layout Section
Библиография и библиографические ссылки
\end_layout
\begin_layout Standard
Вывод XHTML полностью поддерживает библиографии и библиографические ссылки.
\end_layout
\begin_layout Standard
Библиографические ссылки генерируются тем же механизмом,
что и для экранного представления \SpecialChar LyX
,
поэтому в выводе они будут выглядеть почти так же,
как в \SpecialChar LyX
,
даже несколько лучше.
Если вы используете числовой стиль цитирования,
\SpecialChar LyX
будет выводить числовые метки,
такие как [1] или [17],
вместо того,
чтобы отображать ключ источника в квадратных скобках,
как это происходит на экране.
Если вы используете стиль
\begin_inset Quotes rld
\end_inset
автор-год
\begin_inset Quotes rrd
\end_inset
,
то \SpecialChar LyX
будет добавлять к годам строчные буквы,
как это делает Bib\SpecialChar TeX
,
если он находит более одного источника для данной комбинации автор-год.
Метки будут отображаться с библиографическими источниками.
Обратите внимание,
что в настоящее время нет возможности настроить внешний вид меток,
например,
выбирая между квадратными и круглыми скобками.
\end_layout
\begin_layout Standard
Вывод библиографии обрабатывается тем же механизмом,
который обрабатывает представление ссылочной информации в диалоговом окне
\family sans
Библиографическая ссылка
\family default
,
поэтому вы увидите в выводе XHTML в значительной степени то же самое,
что вы бы увидели,
если взглянули на данную ссылку в этом диалоговом окне.
Форматирование можно настроить в файле макета или,
что более желательно,
в модуле.
См.
подробности в
\shape italic
Руководстве по настройке
\shape default
.
\end_layout
\begin_layout Standard
Основным недостатком в настоящее время является то,
что информация по перекрестным ссылкам печатается с каждой записью,
с которой она связана.
Так что,
вы можете увидеть,
к примеру,
следующее:
\end_layout
\begin_layout Quote
\lang english
Jason Stanley,
\begin_inset Quotes eld
\end_inset
Context and Logical Form
\begin_inset Quotes erd
\end_inset
,
in
\emph on
Language in Context:
Selected Essays
\emph default
(Oxford:
Oxford University Press,
2007),
pp.
30–68.
\end_layout
\begin_layout Quote
\lang english
Jason Stanley,
\begin_inset Quotes eld
\end_inset
Semantics in Context
\begin_inset Quotes erd
\end_inset
,
in
\emph on
Language in Context:
Selected Essays
\emph default
(Oxford:
Oxford University Press,
2007),
pp.
201–30.
\end_layout
\begin_layout Standard
Это планируется исправить.
\end_layout
\begin_layout Standard
В настоящее время нет поддержки разделенных библиографий.
Если у вас используются отдельные библиографии,
\SpecialChar LyX
будет печатать одну и ту же библиографию снова и снова.
\end_layout
\begin_layout Section
Предметные указатели
\end_layout
\begin_layout Standard
\SpecialChar LyX
успешно экспортирует предметные указатели в XHTML,
но с некоторыми ограничениями,
на данный момент.
\end_layout
\begin_layout Standard
Экспорт предметного указателя будет наиболее надежным,
если вы не будете пытаться использовать причудливые конструкции,
описанные в разделе об указателях в
\shape italic
Руководстве пользователя
\shape default
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Основная проблема здесь в том,
что \SpecialChar LyX
на самом деле не справляется с этим.
Он просто позволяет вам ввести то,
что вам требуется в необработанном \SpecialChar LaTeX
.
\end_layout
\end_inset
.
Мы опишем,
как с этим обращаться,
используя заголовки подразделов данного раздела.
\end_layout
\begin_layout Itemize
Группировка рубрик указателя (также известные как подрубрики):
\SpecialChar LyX
прилагает усилия для их поддержки,
но рубрики должны быть разделены знаком
\begin_inset Quotes rld
\end_inset
!
\begin_inset Quotes rrd
\end_inset
,
то есть вокруг восклицательного знака должны быть пробелы.
Это связано с тем,
что в противном случае слишком сложно проверять наличие изолированных восклицательных знаков,
знаков
\begin_inset Quotes rld
\end_inset
\backslash
!
\begin_inset Quotes rrd
\end_inset
в математике и т.
\begin_inset space \thinspace{}
\end_inset
д.
\end_layout
\begin_layout Itemize
Диапазоны страниц:
вообще не поддерживаются,
поскольку они не имеют смысла в XHMTL.
Вместо этого вы получите только две рубрики указателя,
по одной с каждого конца.
\end_layout
\begin_layout Itemize
Перекрестные ссылки:
не поддерживаются.
Если \SpecialChar LyX
находит рубрику,
содержащую конструкцию «|see …»,
она просто отбрасывается,
а остальная часть обрабатывается как обычная рубрика указателя.
\end_layout
\begin_layout Itemize
Порядок рубрик указателя:
\SpecialChar LyX
поддерживает попытки фиксирования порядка сортировки.
Он возьмет то,
что находится перед первым найденным символом '@',
и использует это для сортировки,
принимая то,
что следует за этим символом '@',
как фактическую рубрику.
В настоящее время \SpecialChar LyX
не проверяет экранированный символ '@',
поэтому не пытайтесь добавлять в указатель адреса электронной почты.
\end_layout
\begin_layout Itemize
Форматирование рубрик указателя:
вы можете форматировать рубрики с помощью диалогового окна стиля текста или с помощью любого другого метода,
доступного в самом \SpecialChar LyX
.
Не поддерживаются конструкции типа:
«
\family typewriter
рубрика|textbf
\family default
».
Если \SpecialChar LyX
находит вертикальную черту,
'|',
в записи,
он удаляет ее и все,
что следует за ней.
\end_layout
\begin_layout Itemize
Множественные указатели:
поддержка отсутствует.
Вместо этого все рубрики указателей будут собраны в один общий указатель.
Чтобы не отображать несколько версий указателя,
отображается только основной,
поэтому убедитесь,
что он у вас есть.
\end_layout
\begin_layout Section
Обозначения и словарь терминов
\end_layout
\begin_layout Standard
В настоящее время глоссарии не поддерживаются.
Добавление этой возможности приветствуется,
тем более,
что оно довольно тривиально.
\end_layout
\begin_layout Chapter
Вывод DocBook
\end_layout
\begin_layout Standard
Помимо HTML,
\SpecialChar LyX
может генерировать документы DocBook XML.
В версиях 2.3 и ранее генерация документов DocBook была возможна только с определёнными макетами (только DocBook версии 4).
Начиная с версии \SpecialChar LyX
2.4 поддерживается большинство макетов \SpecialChar LyX
(только DocBook версии 5).
Эта функция встроена в \SpecialChar LyX
и не требует использования внешних инструментов.
\end_layout
\begin_layout Standard
В результате вывод DocBook может быть настроен и расширен точно так же,
как и вывод \SpecialChar LaTeX
:
с помощью файлов макетов и модулей.
Подробности см.
в пятой главе
\emph on
Руководства по настройке
\emph default
.
\end_layout
\begin_layout Standard
Большинство функций \SpecialChar LyX
поддерживаются в DocBook,
например,
вывод математических формул.
\end_layout
\begin_layout Itemize
Математический вывод осуществляется в основном в MathML (основным исключением являются конструкции,
не поддерживаемые \SpecialChar LyX
,
т.е.
ERT).
Все формулы также доступны непосредственно в формате TeX в выводе DocBook для дальнейшей обработки.
\end_layout
\begin_layout Itemize
Библиографии и ссылки реализованы,
в том числе с использованием внешнего файла BibTeX.
Библиографические источники не пререндерены при наличии подробной информации,
а выводятся с помощью стандартных конструкций DocBook.
Предполагается,
что внешний процессор DocBook будет обрабатывать рендеринг источников.
\end_layout
\begin_layout Itemize
Поддерживаются указатели,
включая множественные указатели.
Поддерживается группировка (с помощью !),
диапазоны страниц и перекрестные ссылки (|see),
за исключением экранирования тех же символов.
Порядок рубрик (@) и макет (|mathbf) не поддерживаются.
Не поддерживается экранирование рубрик указателя.
\end_layout
\begin_layout Itemize
Реализованы глоссарии.
\end_layout
\begin_layout Standard
Два основных параметра могут быть установлены на уровне документа.
\end_layout
\begin_layout Itemize
Формат таблиц:
\SpecialChar LyX
может генерировать таблицы либо в формате HTML (значение по умолчанию),
либо в формате CALS,
в зависимости от требований пользователя.
Большинство процессоров DocBook принимают оба формата.
\end_layout
\begin_deeper
\begin_layout Itemize
Без префикса:
пространство имен MathML определяется для каждой формулы (с помощью атрибута
\family typewriter
xmlns
\family default
).
\end_layout
\begin_layout Itemize
С префиксом
\family typewriter
m
\family default
(по умолчанию):
пространство имен MathML определяется на уровне документа (с помощью атрибута
\family typewriter
xmlns:m
\family default
на корневом элементе).
Каждая формула MathML имеет префикс
\family typewriter
m:
\family default
например,
\family typewriter
m:math
\family default
.
\end_layout
\begin_layout Itemize
С префиксом
\family typewriter
mml
\family default
:
аналогично опции
\family typewriter
m
\family default
,
но с префиксом
\family typewriter
mml
\family default
.
\end_layout
\end_deeper
\begin_layout Standard
Эта опция особенно полезна,
если вы хотите,
чтобы \SpecialChar LyX
соответствовал вашему личному стилю или для работы с некачественным программным обеспечением,
которое принимает только один префикс для MathML.
\end_layout
\begin_layout Chapter
\SpecialChar LyX
-сервер
\end_layout
\begin_layout Section
Введение
\end_layout
\begin_layout Standard
\SpecialChar LyX
-сервер позволяет другим программам взаимодействовать с \SpecialChar LyX
,
вызывать команды \SpecialChar LyX
и получать информацию о внутреннем состоянии \SpecialChar LyX
.
Сведения,
описанные здесь,
предназначены только для опытных пользователей,
но они должны найти их полезными.
Например,
путем записи на \SpecialChar LyX
-сервер менеджеры библиографий,
такие как JabRef,
могут «проталкивать» библиографические ссылки в \SpecialChar LyX
.
\end_layout
\begin_layout Section
Запуск \SpecialChar LyX
-сервера
\begin_inset CommandInset label
LatexCommand label
name "sec:Starting-the-Server"
\end_inset
\end_layout
\begin_layout Standard
\SpecialChar LyX
-сервер работает с использованием пары именованных каналов.
Обычно они находятся в
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
UserDir
\end_layout
\end_inset
(за исключением Windows,
где
\shape italic
локальные
\shape default
именованные каналы представляют собой специальные объекты,
расположенные в
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
\backslash
.
\backslash
pipe
\end_layout
\end_inset
) и имеют имена «
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
lyxpipe.in
\end_layout
\end_inset
» и «
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
lyxpipe.out
\end_layout
\end_inset
».
Внешние программы записывают данные в
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
lyxpipe.in
\end_layout
\end_inset
,
а считывают из
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
lyxpipe.out
\end_layout
\end_inset
.
Основа имен каналов может быть определена в диалоговом окне
\family sans
Инструменты\SpecialChar menuseparator
Настройки
\family default
,
например,
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
"/home/myhome/lyxpipe"
\end_layout
\end_inset
или
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
"
\backslash
\backslash
.
\backslash
pipe
\backslash
lyxpipe"
\end_layout
\end_inset
в Windows (где можно использовать любой рабочий путь вместо
\family typewriter
lyxpipe
\family default
,
например,
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
"
\backslash
\backslash
.
\backslash
pipe
\backslash
my
\backslash
lyx
\backslash
pipe"
\end_layout
\end_inset
также будет работать).
Вы должны настроить это вручную,
чтобы сервер запустился.
\end_layout
\begin_layout Standard
\SpecialChar LyX
добавит '
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
.in
\end_layout
\end_inset
' и '
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
.out
\end_layout
\end_inset
' для создания каналов.
Если один из каналов уже существует,
\SpecialChar LyX
предположит,
что \SpecialChar LyX
-процесс уже запущен,
и не запустит сервер.
В системах POSIX (Unix-подобных),
если по какой-либо другой причине при закрытии \SpecialChar LyX
остается неиспользуемый «устаревший» канал,
\SpecialChar LyX
попытается удалить его.
Если почему-то это не поможет,
вам нужно будет удалить каналы вручную,
а затем перезапустить \SpecialChar LyX
.
В Windows каналы удаляются операционной системой при завершении программы или сбое,
поэтому «устаревшие» каналы не должны существовать.
\end_layout
\begin_layout Standard
Чтобы иметь несколько \SpecialChar LyX
-процессов с серверами одновременно,
вы должны использовать разные конфигурации,
возможно,
используя отдельные пользовательские каталоги,
каждый со своим собственным файлом
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
preferences
\end_layout
\end_inset
,
для каждого процесса.
\end_layout
\begin_layout Standard
Если вы разрабатываете клиентскую программу,
вам может быть полезно включить отладочную информацию с \SpecialChar LyX
-сервера.
Для это запустите \SpecialChar LyX
командой
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
lyx -dbg lyxserver
\end_layout
\end_inset
.
\end_layout
\begin_layout Standard
Вы можете найти полный пример клиента,
написанного на C++,
в исходном дистрибутиве в
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
development/lyxserver/server_monitor.cpp
\end_layout
\end_inset
.
\end_layout
\begin_layout Standard
Еще один полезный инструмент —
это клиент командной строки,
который можно найти в
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
src/client/lyxclient
\end_layout
\end_inset
.
\end_layout
\begin_layout Section
Нормальное взаимодействие
\end_layout
\begin_layout Standard
Чтобы выполнить вызов \SpecialChar LyX
,
клиент записывает строку текста ASCII во входной канал.
Эта строка имеет следующий формат:
\end_layout
\begin_layout LyX-Code
LYXCMD:
\emph on
clientname
\emph default
:
\emph on
function
\emph default
:
\emph on
argument
\end_layout
\begin_layout Labeling
\labelwidthstring 00.00.0000
\family typewriter
\shape italic
clientname
\family default
\shape default
это имя,
которое клиент может выбрать произвольно.
Его единственное использование состоит в том,
что \SpecialChar LyX
будет использовать его,
если он отправляет ответ,
поэтому клиент может это делать для разных запрашивающих.
\end_layout
\begin_layout Labeling
\labelwidthstring 00.00.0000
\family typewriter
\shape italic
function
\family default
\shape default
это функция,
которую должен выполнять \SpecialChar LyX
.
Это,
фактически,
команды,
которые вы использовали бы в минибуфере.
\end_layout
\begin_layout Labeling
\labelwidthstring 00.00.0000
\family typewriter
\shape italic
argument
\family default
\shape default
необязательный аргумент,
который имеет значение только для некоторых функций (например,
«само-вставка» LFUN вставит аргумент как текст в позицию курсора).
\end_layout
\begin_layout Standard
Ответ от \SpecialChar LyX
поступит в выходной канал и будет иметь вид
\end_layout
\begin_layout LyX-Code
INFO:
\emph on
clientname
\emph default
:
\emph on
function
\emph default
:
\emph on
data
\end_layout
\begin_layout Standard
где
\family typewriter
\emph on
clientname
\family default
\emph default
и
\family typewriter
\emph on
function
\family default
\emph default
—
значения из команды LYXCMD,
а
\family typewriter
\emph on
data
\family default
\emph default
—
это информация,
указываемая в зависимости от того,
как отрабатывалось выполнение этой команды.
Некоторые команды,
такие как
\family typewriter
font-state
\family default
,
возвращают информацию о внутреннем состоянии \SpecialChar LyX
,
тогда как другие возвращают пустой ответ,
что означает,
что выполнение команды прошло нормально.
\end_layout
\begin_layout Standard
В случае ошибок ответ от \SpecialChar LyX
будет сформирован в следующей форме:
\end_layout
\begin_layout LyX-Code
ERROR:
\emph on
clientname
\emph default
:
\emph on
function
\emph default
:
\emph on
error-message
\end_layout
\begin_layout Standard
где
\family typewriter
\emph on
error-message
\family default
\emph default
должно содержать объяснение,
почему команда не выполнена.
\end_layout
\begin_layout Standard
Примеры:
\end_layout
\begin_layout LyX-Code
echo "LYXCMD:test:beginning-of-buffer:" >~/.lyxpipe.in
\begin_inset Newline newline
\end_inset
echo "LYXCMD:test:get-xy:" >~/.lyxpipe.in
\begin_inset Newline newline
\end_inset
read a <~/.lyxpipe.out
\begin_inset Newline newline
\end_inset
echo $a
\end_layout
\begin_layout Subsection
AppleScript (macOS)
\end_layout
\begin_layout Standard
Начиная с версии 2.1,
\SpecialChar LyX
поддерживает базовые взаимодействия с AppleScript для нормальной связи посредством выполнения команды
\family typewriter
run
\family default
.
Эта команда принимает очевидный аргумент —
выполняемую функцию,
и необязательный аргумент.
Она,
либо возвращает результат работы этой функции,
либо вызывает ошибку с сообщением об этой ошибке и кодом.
\end_layout
\begin_layout Standard
Пример:
\end_layout
\begin_layout LyX-Code
tell application "LyX"
\end_layout
\begin_layout LyX-Code
try
\end_layout
\begin_layout LyX-Code
-- Stores the current file name into f
\end_layout
\begin_layout LyX-Code
set f to (run "server-get-filename" with argument "")
\end_layout
\begin_layout LyX-Code
on error the error_message number the error_number
\end_layout
\begin_layout LyX-Code
display dialog "Error:
" & the error_number & ".
" ¬
\end_layout
\begin_layout LyX-Code
& the error_message buttons {"OK"} default button 1
\end_layout
\begin_layout LyX-Code
end try
\end_layout
\begin_layout LyX-Code
end tell
\end_layout
\begin_layout Section
Уведомление
\end_layout
\begin_layout Standard
\SpecialChar LyX
может уведомлять клиентов о событиях,
происходящих асинхронно.
В настоящее время это будет делаться,
только если пользователь связывает последовательность клавиш с функцией NOTIFY (уведомить).
Формат строки,
отправляемой \SpecialChar LyX
,
следующий:
\end_layout
\begin_layout LyX-Code
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
NOTIFY:
\end_layout
\end_inset
\emph on
key-sequence
\end_layout
\begin_layout Standard
где
\family typewriter
\shape italic
key-sequence
\family default
\shape default
—
это печатное представление последовательности клавиш,
которая была фактически введена пользователем.
\end_layout
\begin_layout Standard
Этот механизм можно использовать для расширения множества команд \SpecialChar LyX
и реализации макросов.
Свяжите последовательность клавиш с NOTIFY.
Затем запустите клиент,
который контролирует выходной канал,
отправляет команду в соответствии с последовательностью и запускает функцию,
которая может использовать вызовы и запросы \SpecialChar LyX
для запуска команды или серии команд \SpecialChar LyX
.
\end_layout
\begin_layout Section
Простой протокол \SpecialChar LyX
-сервера
\end_layout
\begin_layout Standard
\SpecialChar LyX
реализует простой протокол,
который можно использовать для управления сеансом.
Все сообщения имеют форму
\end_layout
\begin_layout LyX-Code
LYXSRV:
\emph on
clientname
\emph default
:
\emph on
protocol-message
\end_layout
\begin_layout Standard
где
\family typewriter
\shape italic
protocol-message
\family default
\shape default
может быть «hello» или «bye».
Если от клиента получено «hello»,
\SpecialChar LyX
сигнализирует ему о том,
что находится в ожидании его сообщений,
а «bye»,
отправленное от \SpecialChar LyX
,
проинформирует клиентов о закрытии \SpecialChar LyX
.
\end_layout
\begin_layout Section
Обратный поиск DVI/PDF
\end_layout
\begin_layout Standard
Некоторые программы просмотра DVI/PDF
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Следующие программы просмотра предлагают возможность обратного поиска PDF:
Okular в KDE/Linux,
Qpdfview в Unix,
Skim в macOS и SumatraPDF в Windows.
\end_layout
\end_inset
предоставляют возможность
\shape italic
обратного поиска
\shape default
.
Это означает,
что вы можете указать \SpecialChar LyX
,
чтобы он поместил курсор на определенную строку в документе,
щелкнув соответствующую позицию в выводе DVI/PDF.
Для этого программа просмотра должна иметь возможность общаться с \SpecialChar LyX
.
Это делается через сервер \SpecialChar LyX
,
либо с помощью именованного канала (
\emph on
lyxpipe
\emph default
),
либо сокета домена UNIX (
\emph on
lyxsocket
\emph default
),
который \SpecialChar LyX
создает в своем временном каталоге (таким образом программа
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
lyxclient
\end_layout
\end_inset
взаимодействует с \SpecialChar LyX
).
В некоторых случаях вам нужен вспомогательный сценарий,
который является посредником между программой просмотра и \SpecialChar LyX
,
в других —
программа просмотра может напрямую общаться с \SpecialChar LyX
.
Это зависит от выбранной программы просмотра и используемой операционной системы.
То же самое относится к способу настройки средств просмотра и способу фактического выполнения обратного поиска.
Далее мы опишем,
как настроить обратный поиск для конкретных программ просмотра.
Однако,
прежде чем приступить к этому,
объясним,
что обычно необходимо сделать,
чтобы включить обратный поиск в выводе DVI/PDF.
\end_layout
\begin_layout Subsection
Автоматическая настройка
\begin_inset CommandInset label
LatexCommand label
name "subsec:rev-search"
\end_inset
\end_layout
\begin_layout Standard
В большинстве случаев \SpecialChar LyX
сделает всю работу за вас,
при использовании кнопки
\begin_inset Info
type "icon"
arg "buffer-toggle-output-sync"
\end_inset
на панели инструментов.
Кроме того,
вы также можете включить эту функцию,
установив флажок
\family sans
Синхронизировать с выводом
\family default
в
\family sans
Документ\SpecialChar menuseparator
Настройки\SpecialChar menuseparator
Форматы
\family default
.
В таком случае \SpecialChar LyX
автоматически вставит необходимый макрос Sync\SpecialChar TeX
(для PDF) или загрузит пакет
\series bold
srcltx
\series default
(для DVI),
соответственно.
Эта возможность также доступна в пунктах
\family sans
Просмотреть
\family default
/
\family sans
Обновить
\family default
меню
\family sans
Документ
\family default
.
\end_layout
\begin_layout Standard
Если вам нужна другая настройка,
вы можете выбрать ее из раскрывающегося списка
\family sans
Пользовательский макрос
\family default
или ввести собственный макрос.
\end_layout
\begin_layout Standard
Обратите внимание,
что метод
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
synctex=1
\end_layout
\end_inset
включает сжатие gzip.
Если ваша программа просмотра не поддерживает это,
то необходимо вместо этого использовать
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
synctex=-1
\end_layout
\end_inset
.
\end_layout
\begin_layout Standard
Также обратите внимание,
что включение пакета
\series bold
srcltx
\series default
или
\series bold
src-specials
\series default
иногда оказывает нежелательное влияние на набор текста.
Таким образом,
вы должны отключить синхронизацию вывода для окончательной верстки,
если вы используете пакет
\series bold
srcltx
\series default
или
\series bold
src-specials
\series default
.
\end_layout
\begin_layout Standard
Если вам нужны дополнительные специальные настройки,
которые не охватываются автоматическими настройками,
прочтите следующий раздел о том,
как настроить синхронизацию вывода вручную.
Если же автоматическая настройка соответствует вашим потребностям,
можете просто перейти к разделу
\begin_inset space ~
\end_inset
\begin_inset CommandInset ref
LatexCommand ref
reference "subsec:configuring-viewers"
\end_inset
,
где описаны необходимые шаги настройки в вашем средстве просмотра,
необходимые как для автоматической,
так и для ручной настройки.
\end_layout
\begin_layout Subsection
Ручная настройка
\end_layout
\begin_layout Standard
\SpecialChar LaTeX
предоставляет несколько методов обратного поиска.
Некоторые из них встроены в программу
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
latex/pdflatex
\end_layout
\end_inset
,
некоторые предоставляются внешними пакетами.
Выбор зависит от того,
предоставляет ли уже ваш дистрибутив \SpecialChar LaTeX
данный метод (встроенные методы довольно новые) и сможет ли ваша программа просмотра справиться с ним.
Доступные методы описаны ниже.
\end_layout
\begin_layout Subsubsection*
Встроенный DVI-поиск через src-specials (только DVI)
\end_layout
\begin_layout Standard
Этот метод предоставляет файл DVI с необходимой информацией для обратного поиска.
Он доступен в \SpecialChar LaTeX
с некоторого времени (любой недавний дистрибутив \SpecialChar LaTeX
должен включать его) и работает надежно.
Чтобы включить его,
измените конвертер
\family sans
LaTeX (plain)\SpecialChar menuseparator
DVI
\family default
или
\family sans
LaTeX (plain)\SpecialChar menuseparator
Черновой DVI
\family default
в
\family sans
Инструменты\SpecialChar menuseparator
Настройки\SpecialChar menuseparator
Обработка файлов\SpecialChar menuseparator
Конвертеры
\family default
на
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
latex -src-specials $$i
\end_layout
\end_inset
.
Если это не сработает,
проверьте,
нужны ли вашему движку \SpecialChar TeX
другие параметры (синтаксис может отличаться в некоторых дистрибутивах).
\end_layout
\begin_layout Subsubsection*
Внешние пакеты (PDFSync и scrltx)
\end_layout
\begin_layout Standard
Пакеты
\series bold
pdfsync
\series default
и
\series bold
scrltx
\series default
предоставляют возможность обратного поиска для вывода PDF (через pdflatex) и вывода DVI,
соответственно.
Чтобы включить его,
загрузите эти пакеты в преамбуле \SpecialChar LyX
:
\end_layout
\begin_layout Itemize
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
usepackage{pdfsync}
\end_layout
\end_inset
для обратного PDF-поиска,
\end_layout
\begin_layout Itemize
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
usepackage[active]{srcltx}
\end_layout
\end_inset
для обратного DVI-поиска.
\end_layout
\begin_layout Standard
Если вы хотите иметь возможность выполнять обратный поиск как в DVI,
так и в PDF,
вы также можете вставить в преамбулу следующие строки
\end_layout
\begin_layout LyX-Code
\backslash
usepackage{ifpdf}
\begin_inset Newline newline
\end_inset
\backslash
ifpdf
\begin_inset Newline newline
\end_inset
\backslash
usepackage{pdfsync}
\begin_inset Newline newline
\end_inset
\backslash
else
\begin_inset Newline newline
\end_inset
\backslash
usepackage[active]{srcltx}
\begin_inset Newline newline
\end_inset
\backslash
fi
\end_layout
\begin_layout Standard
Таким образом,
вы можете предварительно просмотреть файл в формате DVI или PDF (pdflatex),
и,
при этом,
будет использован правильный пакет.
\end_layout
\begin_layout Standard
Обратите внимание,
что PDFSync может повлиять на макет вывода вашего документа.
Поэтому рекомендуется отключить PDFsync при окончательном выводе документов.
\end_layout
\begin_layout Subsubsection*
Встроенный обратный поиск через Sync\SpecialChar TeX
(DVI и PDF)
\end_layout
\begin_layout Standard
Последние версии
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
(pdf)latex
\end_layout
\end_inset
имеют встроенную поддержку обратного поиска как в PDF,
так и в DVI.
Это,
так называемое средство
\emph on
Sync\SpecialChar TeX
\emph default
,
в основном является результатом интеграции пакета PDFSync с программой pdftex и его слияния с подходом
\emph on
scr-specials
\emph default
.
Вам понадобится как минимум \SpecialChar TeX
Live 2008 или последний дистрибутив Mik\SpecialChar TeX
,
чтобы использовать его
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
По какой-то причине Mik\SpecialChar TeX
не понимает / не подчиняется команде,
которую \SpecialChar LyX
вставляет в преамбулу,
когда вы используете кнопку «Включить прямой/обратный поиск» (
\begin_inset Info
type "icon"
arg "buffer-toggle-output-sync"
\end_inset
) на панели инструментов,
и не генерирует необходимую информацию.
\end_layout
\begin_layout Plain Layout
Генерацию необходимой информации можно принудительно форсировать,
изменив конвертер
\family sans
LaTeX (pdflatex) -> PDF (pdflatex)
\family default
в
\family sans
Инструменты\SpecialChar menuseparator
Настройки\SpecialChar menuseparator
Обработка файлов\SpecialChar menuseparator
Конвертеры
\family default
с
\family typewriter
pdflatex $$i
\family default
,
по умолчанию,
на
\family typewriter
pdflatex -synctex = 1 $$i
\family default
(т.
е.
путем добавления переключателя
\family typewriter
-synctex = 1
\family default
).
\end_layout
\end_inset
.
Также обратите внимание,
что только несколько программ просмотра PDF (например,
Okular и Qpdfview в Unix,
Skim на macOS,
SumatraPDF в Windows;
подробности см.
в следующем разделе) уже предоставляют поддержку Sync\SpecialChar TeX
.
\end_layout
\begin_layout Standard
Чтобы включить Sync\SpecialChar TeX
для вывода DVI,
измените конвертер
\family sans
LaTeX (plain)\SpecialChar menuseparator
DVI
\family default
или
\family sans
LaTeX (plain)\SpecialChar menuseparator
Черновой DVI
\family default
в
\family sans
Инструменты\SpecialChar menuseparator
Настройки\SpecialChar menuseparator
Обработка файлов\SpecialChar menuseparator
Конвертеры
\family default
на
\family typewriter
latex -synctex = 1 $$i
\family default
,
а для вывода PDF измените конвертер
\family sans
LaTeX (pdflatex)\SpecialChar menuseparator
PDF (pdflatex)
\family default
на
\family typewriter
pdflatex -synctex = 1 $$i
\family default
.
Если используемая вами программа просмотра не рассматривается в следующем описании,
или в случае неудачной попытки,
проверьте документацию по вашей программе просмотра,
нужно ли настроить ее для использования с Sync\SpecialChar TeX
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Обратите внимание,
что опция
\family typewriter
-synctex = 1
\family default
включает сжатие gzip.
Если ваша программа просмотра не поддерживает это,
вы должны вместо этого использовать
\family typewriter
-synctex = -1
\family default
.
\end_layout
\end_inset
.
\end_layout
\begin_layout Subsection
Настройка и использование определенных программ просмотра
\begin_inset CommandInset label
LatexCommand label
name "subsec:configuring-viewers"
\end_inset
\end_layout
\begin_layout Subsubsection*
Xdvi (все платформы)
\end_layout
\begin_layout Standard
Если вы используете
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
xdvi
\end_layout
\end_inset
,
вам не нужно больше ничего делать для выполнения обратного DVI-поиска,
поскольку \SpecialChar LyX
уже предоставляет необходимые средства для автоматического использования программы
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
lyxclient
\end_layout
\end_inset
.
Просто настройте свой документ,
как описано выше (обратный поиск запускается нажатием
\family sans
Ctrl
\family default
или
\family sans
Alt
\family default
в macOS,
соответственно).
\end_layout
\begin_layout Standard
Однако,
если по какой-либо причине вы хотите использовать именованный канал вместо сокета для связи с \SpecialChar LyX
,
просто измените средство просмотра DVI в разделе
\family sans
Инструменты\SpecialChar menuseparator
Настройки\SpecialChar menuseparator
Обработка файлов\SpecialChar menuseparator
Форматы файлов
\family default
на
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
В macOS вы должны использовать
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
DISPLAY=:0.0 xdvi -editor "lyxeditor.sh %f %l"
\end_layout
\end_inset
\end_layout
\end_inset
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
xdvi -editor "lyxeditor.sh %f %l"
\end_layout
\end_inset
,
где
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
lyxeditor.sh
\end_layout
\end_inset
—
подходящий скрипт.
Например,
минимальный сценарий оболочки следующий:
\end_layout
\begin_layout LyX-Code
#!/bin/sh
\begin_inset Newline newline
\end_inset
LYXPIPE="/path/to/lyxpipe"
\begin_inset Newline newline
\end_inset
COMMAND="LYXCMD:revdvi:server-goto-file-row:$1 $2"
\begin_inset Newline newline
\end_inset
echo "$COMMAND" > "${LYXPIPE}".in || exit
\begin_inset Newline newline
\end_inset
read TMP < "${LYXPIPE}".out || exit
\end_layout
\begin_layout Standard
где
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
/path/to/lyxpipe
\end_layout
\end_inset
—
это путь канала \SpecialChar LyX
Server,
указанный в
\family sans
Инструменты\SpecialChar menuseparator
Настройки\SpecialChar menuseparator
Пути
\family default
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
В каталоге
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
development/tools
\end_layout
\end_inset
исходного дистрибутива вы можете найти скрипт
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
lyxeditor
\end_layout
\end_inset
,
который определит местоположение
\emph on
lyxpipe
\emph default
,
в зависимости от ваших предпочтений.
\end_layout
\end_inset
.
\end_layout
\begin_layout Subsubsection*
MacDviX (macOS)
\end_layout
\begin_layout Standard
В конце файла
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
/Applications/MacDviX_Folder/calleditor.script
\end_layout
\end_inset
добавьте следующие строки:
\end_layout
\begin_layout LyX-Code
/Applications/LyX.app/Contents/MacOS/lyxeditor "$2" $1
\begin_inset Newline newline
\end_inset
exit 1
\end_layout
\begin_layout Standard
Измените строки соответствующим образом,
если вы устанавливаете \SpecialChar LyX
куда-нибудь еще,
а не в папку
\family typewriter
Applications
\family default
.
\end_layout
\begin_layout Standard
Обратный поиск запускается щелчком мыши,
удерживая
\family sans
Alt
\family default
(
\family sans
Option
\family default
-щелчок).
\end_layout
\begin_layout Subsubsection*
Skim (macOS)
\end_layout
\begin_layout Standard
Введите
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
open -a Skim.app $$i
\end_layout
\end_inset
в настройку средства просмотра в
\family sans
Инструменты\SpecialChar menuseparator
Настройки\SpecialChar menuseparator
Обработка файлов\SpecialChar menuseparator
Форматы файлов\SpecialChar menuseparator
PDF (pdflatex)
\family default
,
а затем в
\family sans
Skim\SpecialChar menuseparator
Preferences\SpecialChar menuseparator
Sync
\family default
выберите предустановку
\family sans
Custom
\family default
и введите команду
\family typewriter
/Applications/LyX.app/Contents/MacOS/lyxeditor
\family default
.
\end_layout
\begin_layout Standard
Обратный поиск запускается нажатием
\family sans
Command-Shift
\family default
.
\end_layout
\begin_layout Subsubsection*
Evince (GNOME)
\end_layout
\begin_layout Standard
Обратный поиск с помощью
\family typewriter
evince
\family default
напрямую не работает,
но его можно выполнить с помощью некоторых сторонних вспомогательных скриптов.
За подробностями обратитесь к
\begin_inset CommandInset href
LatexCommand href
target "https://wiki.lyx.org/LyX/SyncTeX"
literal "false"
\end_inset
.
\end_layout
\begin_layout Subsubsection*
Okular (KDE)
\end_layout
\begin_layout Standard
Перейдите в
\family sans
Setting\SpecialChar menuseparator
Configure Okular\SpecialChar menuseparator
Editor
\family default
и выберите
\begin_inset Quotes rld
\end_inset
LyX
\begin_inset Quotes rrd
\end_inset
в качестве редактора.
Это действие вставляет соответствующую команду (
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
lyxclient -g %f %l
\end_layout
\end_inset
).
\end_layout
\begin_layout Standard
Обратный поиск запускается нажатием клавиши SHIFT.
Обратите внимание,
что это будет работать,
только если
\family typewriter
okular
\family default
находится в режиме «Browse» (т.е.
нажата кнопка с изображением руки).
\end_layout
\begin_layout Subsubsection*
Qpdfview (Unix)
\end_layout
\begin_layout Standard
\family typewriter
qpdfview
\family default
поддерживает SyncTeX начиная с версии 0.3.5.
Перейдите в
\family sans
Edit\SpecialChar menuseparator
Settings\SpecialChar menuseparator
Behavior
\family default
,
щелкните поле ввода элемента
\family sans
Source editor
\family default
и добавьте команду
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
lyxclient -g %1 %2
\end_layout
\end_inset
.
\end_layout
\begin_layout Standard
Обратный поиск запускается двойным щелчком или,
в более поздних версиях,
контекстным меню.
\end_layout
\begin_layout Subsubsection*
YAP (Windows)
\end_layout
\begin_layout Standard
Запустите
\family typewriter
yap
\family default
,
выберите его меню
\family sans
View\SpecialChar menuseparator
Options
\family default
и выберите вкладку
\family sans
Inverse DVI Search
\family default
.
Щелкните кнопку
\family sans
New…
\family default
и в открывшемся окне введите «LyX Editor» (или любое другое имя,
которое вам нравится) в поле
\family sans
Name:
\family default
.
Теперь нажмите кнопку с пометкой «
\family sans
…
\family default
»,
чтобы открыть диалоговое окно с файлом и перейдите в каталог,
содержащий командный файл
\family typewriter
lyxeditor.bat
\family default
(см.
ниже).
Выберите
\family typewriter
lyxeditor.bat
\family default
и затем укажите аргументы программы:
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
%f %l
\end_layout
\end_inset
.
Обертка
\family typewriter
lyxeditor.bat
\family default
используется для связи с \SpecialChar LyX
через
\emph on
lyxpipe
\emph default
и выглядит следующим образом:
\end_layout
\begin_layout LyX-Code
@echo off
\begin_inset Newline newline
\end_inset
echo LYXCMD:revdvi:server-goto-file-row:%~1 %2>
\end_layout
\begin_layout LyX-Code
\backslash
\backslash
.
\backslash
pipe
\backslash
lyxpipe.in type
\backslash
\backslash
.
\backslash
pipe
\backslash
lyxpipe.out
\end_layout
\begin_layout Standard
Убедитесь,
что путь канала \SpecialChar LyX
Server,
который вы указали в \SpecialChar LyX
,
это
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
\backslash
.
\backslash
pipe
\backslash
lyxpipe
\end_layout
\end_inset
,
в противном случае измените оболочку
\family typewriter
lyxeditor.bat
\family default
соответствующим образом.
\end_layout
\begin_layout Standard
В
\family typewriter
yap
\family default
(как и в нижеприведенных программах просмотра) обратный поиск запускается двойным щелчком мыши.
\end_layout
\begin_layout Subsubsection*
SumatraPDF (Windows)
\end_layout
\begin_layout Standard
Чтобы использовать SumatraPDF для обратного поиска,
введите
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
SumatraPDF -inverse-search "lyxeditor.bat "%f" %l"
\end_layout
\end_inset
в настройках программы просмотра в
\family sans
Инструменты\SpecialChar menuseparator
Настройки\SpecialChar menuseparator
Обработка файлов\SpecialChar menuseparator
Форматы файлов\SpecialChar menuseparator
PDF (pdflatex)
\family default
,
где
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
lyxeditor.bat
\end_layout
\end_inset
—
предыдущая обертка.
Если SumatraPDF.exe отсутствует в вашей команде PATH,
используйте полное имя файла.
\end_layout
\begin_layout Subsubsection*
YAP (Cygwin)
\end_layout
\begin_layout Standard
Прежде всего,
убедитесь,
что
\family typewriter
yap
\family default
является вашим средством просмотра DVI по умолчанию в среде Windows,
затем запустите его,
выберите его меню
\family sans
View\SpecialChar menuseparator
Options
\family default
и выберите вкладку
\family sans
Inverse DVI Search
\family default
.
Щелкните кнопку
\family sans
New…
\family default
и в открывшемся окне введите «LyX Editor» (или любое другое имя,
которое вам нравится) в поле
\family sans
Name
\family default
.
Теперь нажмите кнопку с пометкой «
\family sans
…
\family default
»,
чтобы открыть диалоговое окно с файлом и перейдите в каталог,
содержащий программу
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
lyxeditor.exe
\end_layout
\end_inset
(которая по умолчанию устанавливается в Cygwin вместе с исполняемым файлом \SpecialChar LyX
).
Выберите
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
lyxeditor.exe
\end_layout
\end_inset
и затем укажите аргументы программы:
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-g %f %l
\end_layout
\end_inset
.
Таким образом,
вы будете использовать
\emph on
lyxsocket
\emph default
для связи с \SpecialChar LyX
.
Если по какой-либо причине вы хотите использовать
\emph on
lyxpipe
\emph default
,
опустите параметр
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
-g
\end_layout
\end_inset
и обязательно укажите путь канала \SpecialChar LyX
Server в настройках \SpecialChar LyX
.
\end_layout
\begin_layout Subsubsection*
SumatraPDF (Cygwin)
\end_layout
\begin_layout Standard
Чтобы использовать SumatraPDF для обратного поиска,
введите
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
SumatraPDF -inverse-search "lyxeditor -g %f %l"
\end_layout
\end_inset
в настройках программы просмотра в меню
\family sans
Инструменты\SpecialChar menuseparator
Настройки\SpecialChar menuseparator
Обработка файлов\SpecialChar menuseparator
Форматы файлов\SpecialChar menuseparator
PDF (pdflatex)
\family default
.
Если
\family typewriter
SumatraPDF.exe
\family default
отсутствует в вашей команде PATH,
используйте ее полный путь.
Параметр
\family typewriter
-g
\family default
разрешает связь через
\emph on
lyxsocket
\emph default
.
Опять же,
опустите параметр
\family typewriter
-g
\family default
,
если желаете использовать
\emph on
lyxpipe
\emph default
,
и обязательно укажите путь канала \SpecialChar LyX
Server в настройках \SpecialChar LyX
.
\end_layout
\begin_layout Section
Прямой поиск DVI/PDF
\end_layout
\begin_layout Standard
Прямой поиск,
как следует из названия,
в некотором смысле «противоположен» обратному поиску.
Это позволяет разрешить программе просмотра переместиться в заданную позицию из \SpecialChar LyX
.
Если прямой поиск настроен (как описано ниже),
можно поместить курсор в любом месте документа \SpecialChar LyX
и нажать
\family sans
Навигация\SpecialChar menuseparator
Прямой поиск
\family default
(или выбрать
\family sans
Прямой поиск
\family default
в контекстном меню щелчком правой кнопкой мыши),
тогда программа просмотра также перейдет в эту позицию.
Это,
конечно,
подразумевает,
что программа просмотра поддерживает эту функцию.
\end_layout
\begin_layout Standard
Чтобы сделать возможным прямой поиск,
вам сначала нужно предоставить сгенерированный выходной файл PDF/DVI с дополнительной информацией об источниках \SpecialChar TeX
.
Это можно сделать методами,
описанными в разделе
\begin_inset CommandInset ref
LatexCommand ref
reference "subsec:rev-search"
\end_inset
.
\end_layout
\begin_layout Standard
Кроме того,
вам необходимо настроить \SpecialChar LyX
для использования средств просмотра в
\family sans
Инструменты\SpecialChar menuseparator
Настройки\SpecialChar menuseparator
Вывод\SpecialChar menuseparator
Общие
\family default
.
Мы предлагаем ряд протестированных конфигураций для некоторых программ просмотра,
которые можно выбрать из раскрывающегося списка.
Если ни одна из этих конфигураций вам не подходит,
то придется самостоятельно найти и ввести подходящую конфигурацию.
В синтаксисе определения используются следующие заполнители:
\end_layout
\begin_layout Itemize
\noindent
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
$$n
\end_layout
\end_inset
:
номер строки
\end_layout
\begin_layout Itemize
\noindent
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
$$t
\end_layout
\end_inset
:
имя (временного) экспортированного файла
\family typewriter
.tex
\family default
(без пути)
\end_layout
\begin_layout Itemize
\noindent
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
$$f
\end_layout
\end_inset
:
имя (временного) экспортированного файла
\family typewriter
.tex
\family default
(включая путь)
\end_layout
\begin_layout Itemize
\noindent
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
$$o
\end_layout
\end_inset
:
имя экспортированного выходного файла (либо
\family typewriter
.dvi
\family default
,
либо
\family typewriter
.pdf
\family default
,
в зависимости от того,
какой файл имеется во временном каталоге)
\end_layout
\begin_layout Standard
Заметьте,
что только некоторые из программ просмотра предоставляют полную и удобную функциональность прямого поиска из коробки,
среди них
\family typewriter
yap
\family default
,
\family typewriter
xdvi
\family default
,
\family typewriter
okular
\family default
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Вы можете установить
\family typewriter
okular --unique
\family default
в
\family sans
Инструменты\SpecialChar menuseparator
Настройки\SpecialChar menuseparator
Обработка файлов\SpecialChar menuseparator
Форматы файлов
\family default
.
\end_layout
\end_inset
,
\family typewriter
qpdfview
\family default
и
\family typewriter
SumatraPDF
\family default
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
SumatraPDF также может использовать DDE-команды через внешнюю программу
\family typewriter
CMCDDE
\family default
,
которую можно загрузить с
\begin_inset CommandInset href
LatexCommand href
target "http://www.istri.fr/spip/zip/CMCDDE.zip"
literal "false"
\end_inset
\end_layout
\end_inset
.
Другим программам,
таким как
\family typewriter
evince
\family default
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Прямой поиск с помощью
\family typewriter
evince
\family default
может быть выполнен с использованием сторонних вспомогательных скриптов.
Детали изложены в
\begin_inset CommandInset href
LatexCommand href
target "https://wiki.lyx.org/LyX/SyncTeX"
literal "false"
\end_inset
.
\end_layout
\end_inset
,
требуются дополнительные инструменты для использования прямого поиска.
Хотя многие из широко распространенных программ просмотра PDF (в первую очередь Adobe Reader) вообще не поддерживают прямой поиск,
некоторые другие программы просмотра,
например,
\family typewriter
xpdf
\family default
,
позволяют,
как минимум,
перезагрузить документ и перейти к определенной странице файла,
чтобы можно было хотя бы перемещаться «рядом».
Последняя функциональность обеспечивается внешним вызовом
\family typewriter
synctex
\family default
(см.
предопределенные примеры конфигураций).
\end_layout
\begin_layout Standard
Прямой поиск работает с выводом как в формате DVI,
так и в формате PDF.
\SpecialChar LyX
просто проверяет,
какой формат предварительного просмотра вы использовали ранее (т.
\begin_inset space \thinspace{}
\end_inset
е.
какой формат уже есть во временном каталоге),
и выбирает конфигурацию для соответствующего формата.
\end_layout
\begin_layout Chapter
Специальные классы документов
\end_layout
\begin_layout Section
Публикации в A&A
\end_layout
\begin_layout Subsection
Введение
\end_layout
\begin_layout Standard
В этом разделе описывается,
как можно с помощью \SpecialChar LyX
набирать статьи,
предназначенные для отправки в научный журнал
\emph on
Astronomy and Astrophysics
\emph default
(
\begin_inset Flex URL
status collapsed
\begin_layout Plain Layout
https://www.aanda.org/
\end_layout
\end_inset
),
с использованием версии 5.01 класса документов aa.cls.
Соответствующий пакет можно скачать с ftp-сайта
\begin_inset Flex URL
status collapsed
\begin_layout Plain Layout
ftp://ftp.edpsciences.org/pub/aa/readme.html
\end_layout
\end_inset
.
\end_layout
\begin_layout Standard
С этим пакетом поставляется полное руководство по его использованию.
Данный же текст предназначен не для замены оригинального руководства,
а представляет собой просто краткое описание создания правильного формата статьи.
\end_layout
\begin_layout Standard
Обратите внимание,
что с 1 января 2001 г.
издатель журнала был изменен с Springer на EDP Sciences.
Это повлекло внесению некоторых незначительных изменений в файлы стилей,
а именно удаление команды тезауруса.
Класс \SpecialChar LyX
\family sans
aa
\family default
поддерживает новейшую версию этих файлов стилей,
V 5.01.
Если у вас установлена более старая версия,
обновите ее.
Для совместимости старый (версия 4) макет был сохранен как статья (A&A V4).
См.
комментарии в
\family typewriter
\SpecialChar LyX
Dir/layouts/aapaper.layout
\family default
.
\end_layout
\begin_layout Subsection
Начало работы
\end_layout
\begin_layout Standard
Рекомендуется начать с примера шаблона,
распространяемого с \SpecialChar LyX
.
Если вы не используете шаблон,
обратите внимание на следующие настройки:
\end_layout
\begin_layout Itemize
Выберите
\family sans
Статья (A&A)
\family default
в диалоговом окне
\family sans
Документ\SpecialChar menuseparator
Настройки\SpecialChar menuseparator
Класс документа
\family default
.
\end_layout
\begin_layout Itemize
Не меняйте параметр
\family sans
Стиль страницы
\family default
:
оставьте значение по умолчанию.
Весь макет формируется макросами,
ничего менять не надо.
\end_layout
\begin_layout Subsection
Заголовочный блок
\end_layout
\begin_layout Standard
Первое,
что нужно сделать,
ввести информацию заголовка.
Он состоит из семи записей,
некоторые из которых являются необязательными:
\end_layout
\begin_layout Itemize
\family sans
Заглавие
\family default
:
[обязательный]
\end_layout
\begin_layout Itemize
\family sans
Подзаголовок
\family default
:
[необязательный]
\end_layout
\begin_layout Itemize
\family sans
Автор
\family default
:
[обязательный]
\end_layout
\begin_layout Itemize
\family sans
Адрес
\family default
:
[обязательный]
\end_layout
\begin_layout Itemize
\family sans
Оттиски
\family default
:
[необязательный] если более одного автора:
к кому обращаться для запросов на оттиск.
\end_layout
\begin_layout Itemize
\family sans
Почта
\family default
:
[необязательный] почтовый адрес для контактов.
\end_layout
\begin_layout Itemize
\family sans
Дата
\family default
:
[обязательный].
Предлагаемый формат:
\family typewriter
Received:
;
Accepted
\family default
(получено;
принято)
\end_layout
\begin_layout Standard
Нет необходимости вводить команду
\family typewriter
\backslash
maketitle
\family default
,
\SpecialChar LyX
сделает это автоматически после завершения формирования заголовка.
Хотя порядок отдельных записей заголовка не имеет значения,
рекомендуется соблюдать указанную выше последовательность,
чтобы получить лучше зрительно воспринимаемый и подобающий макет реального документа.
\end_layout
\begin_layout Standard
Если вы хотите разместить сноски в блоке заголовка,
например,
чтобы указать ваш нынешний адрес,
просто используйте стандартную сноску через меню
\family sans
Вставка\SpecialChar menuseparator
Сноска
\family default
.
В этом случае \SpecialChar LyX
автоматически использует терм
\family typewriter
\backslash
thanks{}
\family default
.
\end_layout
\begin_layout Standard
В
\family sans
Правка\SpecialChar menuseparator
Стиль
\family default
текста вы найдете две вставки,
которые имеют отношение к заголовку:
\end_layout
\begin_layout Itemize
\family sans
Институт
\family default
,
чтобы отметить соответствия в парах автор/институт.
Институты нумеруются последовательно по мере их появления в поле
\family sans
Адрес
\family default
,
поэтому вы должны отметить соответствующим маркером каждого автора.
\end_layout
\begin_layout Itemize
\family sans
Email
\family default
,
чтобы указать адрес электронной почты для быстрого контакта.
\end_layout
\begin_layout Standard
В дополнение к этим темам макросы используют одну дополнительную команду \SpecialChar LaTeX
,
не имеющую аналогов в \SpecialChar LyX
:
\end_layout
\begin_layout Itemize
\family typewriter
\backslash
and
\family default
для разделения разных имен для более чем одного автора и института соответственно.
\end_layout
\begin_layout Standard
Соответствующая команда должна быть введена в \SpecialChar LyX
и помечена как код \SpecialChar TeX
,
см.
примеры.
\end_layout
\begin_layout Subsection
Аннотация
\end_layout
\begin_layout Standard
Аннотация должна следовать сразу за блоком заголовка.
В версии 5 окружение
\begin_inset Quotes rld
\end_inset
аннотация
\begin_inset Quotes rrd
\end_inset
было изменено на команду,
и теперь аннотация ограничена только одним абзацем.
Кроме того,
она должен содержать запись с ключевыми словами.
Это делается с помощью стиля абзаца
\family sans
Ключевые слова
\family default
.
Рассмотрите соответствующий пример.
\end_layout
\begin_layout Subsection
Поддерживаемые окружения
\end_layout
\begin_layout Standard
Макет A&A-публикации поддерживает следующие окружения для структурирования текста:
\end_layout
\begin_layout Itemize
\family sans
Обычный
\end_layout
\begin_layout Itemize
\family sans
Раздел
\end_layout
\begin_layout Itemize
\family sans
Подраздел
\end_layout
\begin_layout Itemize
\family sans
Подподраздел
\end_layout
\begin_layout Itemize
\family sans
Маркировка
\end_layout
\begin_layout Itemize
\family sans
Перечисление
\end_layout
\begin_layout Itemize
\family sans
Описание
\end_layout
\begin_layout Itemize
\family sans
Подпись
\end_layout
\begin_layout Itemize
\family sans
Аннотация
\end_layout
\begin_layout Itemize
\family sans
Благодарности
\end_layout
\begin_layout Itemize
\family sans
Библиография
\end_layout
\begin_layout Itemize
\family sans
Код TeX
\end_layout
\begin_layout Subsection
Команды,
не поддерживаемые \SpecialChar LyX
\end_layout
\begin_layout Standard
Некоторые команды еще не поддерживаются макетом A&A-публикации для \SpecialChar LyX
.
Некоторые из них уже упоминались.
Для полноты картины перечислим их все:
\end_layout
\begin_layout Itemize
\family typewriter
\backslash
and
\end_layout
\begin_layout Itemize
\family typewriter
\backslash
authorrunning
\end_layout
\begin_layout Itemize
\family typewriter
\backslash
object{}
\end_layout
\begin_layout Itemize
\family typewriter
\backslash
titlerunning{}
\end_layout
\begin_layout Standard
Если вы хотите использовать любую из этих команд,
вы должны ввести их самостоятельно.
Не забудьте разместить их в окружении
\family sans
Код TeX
\family default
!
\end_layout
\begin_layout Subsection
Макет referee
\end_layout
\begin_layout Standard
Согласно требованиям оформления документ должен быть подготовлен в специальном макете с двойным интервалом.
Для этого вы должны предоставить классу документа опцию
\family typewriter
referee
\family default
.
Это необходимо сделать с помощью поля настраиваемых параметров класса в диалоговом окне
\family sans
Документ\SpecialChar menuseparator
Настройки\SpecialChar menuseparator
Класс документа
\family default
.
Просто введите там
\family typewriter
referee
\family default
.
\end_layout
\begin_layout Subsection
Пример статьи
\end_layout
\begin_layout Standard
Каталог примеров \SpecialChar LyX
содержит пример статьи для журнала
\emph on
Astronomy and Astrophysics
\emph default
,
написанной с помощью \SpecialChar LyX
.
Загрузить нужный пример можно с помощью меню
\family sans
Файл\SpecialChar menuseparator
Открыть пример
\family default
из представленного списка.
Используйте его для ознакомления с особенностями оформления и сравните исходный код \SpecialChar LaTeX
со способом его оформления в \SpecialChar LyX
.
\end_layout
\begin_layout Section
AAS\SpecialChar TeX
\end_layout
\begin_layout Subsection
Введение
\end_layout
\begin_layout Standard
AAS\SpecialChar TeX
—
это набор макросов,
созданных Американским астрономическим сообществом для облегчения подачи электронных рукописей в три публикуемых ими журнала:
\shape italic
Astrophysical Journal
\shape default
(включая
\shape italic
Letters
\shape default
and
\shape italic
Supplement
\shape default
),
\shape italic
Astronomical Journal
\shape default
и
\shape italic
Publications of the Astronomical Society of the Pacific
\shape default
.
\SpecialChar LyX
зарекомендовал себя как отличный инструмент для создания этих документов,
особенно с учетом его возможностей обработки формул,
цитирования и рисунков.
\SpecialChar LyX
требует версии 5.0 (или выше) этих макросов;
предпочтительна версия 6.0,
описанная здесь.
Версии до 5.0 предназначены для использования с \SpecialChar LaTeX
2.09 и принципиально несовместимы с \SpecialChar LyX
.
Пакет
\series bold
aastex
\series default
можно загрузить с веб-сайта AAS\SpecialChar TeX
\begin_inset Flex URL
status collapsed
\begin_layout Plain Layout
https://aas.org/aastex/aastex-downloads
\end_layout
\end_inset
.
\end_layout
\begin_layout Standard
В этом пакете содержится полное руководство пользователя и вам следует тщательно ознакомиться с ним,
прежде чем приступать к написанию статьи в \SpecialChar LyX
.
\SpecialChar LyX
не отменит необходимость выяснения нюансов всех команд AAS\SpecialChar TeX
,
он только облегчит утомительный ввод всего текста.
Вы несете ответственность за то,
чтобы окончательный сформированный документ \SpecialChar LaTeX
полностью соответствовал требованиям журнала,
в который вы отправляете документ.
\end_layout
\begin_layout Subsection
Создание новой статьи
\end_layout
\begin_layout Standard
Настоятельно рекомендуется начать с файла шаблона AAS\SpecialChar TeX
.
Щелкните
\family sans
Файл\SpecialChar menuseparator
Создать из шаблона
\family default
,
введите новое имя файла,
затем выберите шаблон
\family typewriter
aastex...lyx
\family default
.
Он содержит наиболее часто встречающиеся поля в рукописи.
Просто замените существующий текст (включая скобки,
\family typewriter
<>
\family default
) соответствующей информацией.
Многие команды и окружения AAS\SpecialChar TeX
могут быть реализованы непосредственно в \SpecialChar LyX
,
но не все.
Для последних должен быть введен напрямую
\family sans
Код TeX
\family default
и отмечен как таковой.
Такие команды еще называются Evil Red Text.
\end_layout
\begin_layout Subsection
Завершение статьи
\end_layout
\begin_layout Standard
Когда работа над документом завершена,
и вы находите,
по предварительному просмотру/распечатке,
что все сделано правильно,
необходимо выполнить несколько действий «постобработки»,
прежде чем отправлять результат работы в журналы.
\end_layout
\begin_layout Enumerate
Экспортируйте свою статью как файл \SpecialChar LaTeX
(
\family sans
Файл\SpecialChar menuseparator
Экспортировать в\SpecialChar menuseparator
LaTeX (...)
\family default
).
\end_layout
\begin_layout Enumerate
Отредактируйте полученный файл
\family typewriter
.tex
\family default
в своем привычном текстовом редакторе.
\end_layout
\begin_deeper
\begin_layout Enumerate
удалите строки комментариев перед командой
\family typewriter
\backslash
documentclass
\end_layout
\begin_layout Enumerate
удалите строку
\family typewriter
\backslash
usepackage...{fontenc}
\family default
,
если она имеется (обычно сразу после
\family typewriter
\backslash
documentclass
\family default
);
также удалите строку
\family typewriter
\backslash
secnumdepth
\family default
,
при ее наличии.
\end_layout
\begin_layout Enumerate
удалите все,
что находится между командами
\family typewriter
\backslash
makeatletter
\family default
и
\family typewriter
\backslash
makeatother
\family default
(включительно),
за исключением тех команд,
которые вы специально добавили в
\family sans
Документ\SpecialChar menuseparator
Настройки\SpecialChar menuseparator
Преамбула LaTeX
\family default
(которые должны появиться сразу после комментария «User specified LaTeX commands» в файле
\family typewriter
.tex
\family default
).
\end_layout
\end_deeper
\begin_layout Enumerate
Пропустите полученный файл через \SpecialChar LaTeX
,
чтобы убедиться,
что он по-прежнему обрабатывается правильно.
\end_layout
\begin_layout Enumerate
Перечитайте требования журнала,
чтобы убедиться,
что имена ваших файлов и используемые форматы им соответствуют.
\end_layout
\begin_layout Enumerate
Отправьте результат.
\end_layout
\begin_layout Subsection
Комментарии к конкретным командам
\end_layout
\begin_layout Standard
Мы не будем описывать подробное использование отдельных команд AAS\SpecialChar TeX
:
руководство пользователя (
\family typewriter
aasguide.tex
\family default
) дает хорошее описание каждой из них.
Таким образом,
проще всего просмотреть список,
содержащийся в руководстве,
и при необходимости предложить комментарии.
Итак,
начнем ...
\end_layout
\begin_layout Subsubsection
То,
что работает ожидаемым образом
\end_layout
\begin_layout Standard
Поскольку они работают так,
как и ожидается,
просто перечислим их,
с указанием раздела,
в котором они описаны:
\family typewriter
\backslash
documentclass
\family default
(2.1.1),
\family typewriter
\backslash
begin{document}
\family default
(2.2),
\family typewriter
\backslash
title
\family default
(2.3),
\family typewriter
\backslash
author
\family default
(2.3),
\family typewriter
\backslash
affil
\family default
(2.3),
\family typewriter
\backslash
abstract
\family default
(2.4),
\family typewriter
\backslash
keywords
\family default
(2.5),
\family typewriter
\backslash
section
\family default
(2.7),
\family typewriter
\backslash
subsection
\family default
(2.7),
\family typewriter
\backslash
subsubsection
\family default
(2.7),
\family typewriter
\backslash
paragraph
\family default
(2.7),
\family typewriter
\backslash
facility
\family default
(2.10),
\family typewriter
\backslash
begin{displaymath}
\family default
(2.12),
\family typewriter
\backslash
begin{equation}
\family default
(2.12),
\family typewriter
\backslash
begin{eqnarray}
\family default
(2.12),
\family typewriter
\backslash
begin{mathletters}
\family default
(2.12),
\family typewriter
\backslash
begin{thebibliography}
\family default
(2.13.1),
\family typewriter
\backslash
bibitem
\family default
(2.13.2),
все команды цитирования и их варианты (2.13.2),
общие команды рисунков
\series bold
graphicx
\series default
(2.14.1),
\family typewriter
\backslash
begin{table}
\family default
(2.15.4),
\family typewriter
\backslash
begin{tabular}
\family default
(2.15.4),
\family typewriter
\backslash
caption
\family default
(2.15.4),
\family typewriter
\backslash
label
\family default
(2.15.4,
amongst other places),
\family typewriter
\backslash
tablerefs
\family default
(2.15.5),
\family typewriter
\backslash
tablecomments
\family default
(2.15.5),
\family typewriter
\backslash
url
\family default
(2.17.4),
\family typewriter
\backslash
end{document}
\family default
(2.18).
\end_layout
\begin_layout Standard
Следующие параметры стиля также действуют правильно:
\family typewriter
longabstract
\family default
(2.4),
\family typewriter
preprint
\family default
(3.2.1),
\family typewriter
preprint2
\family default
(3.2.2),
\family typewriter
eqsecnum
\family default
(3.3),
\family typewriter
flushrt
\family default
(3.4).
Просто разместите их в
\family sans
Параметры класса
\family default
меню
\family sans
Документ\SpecialChar menuseparator
Настройки
\family default
.
\end_layout
\begin_layout Subsubsection
То,
что работает,
но требует дополнительных комментариев
\end_layout
\begin_layout Standard
Следующие средства работают,
но требуют некоторых замечаний:
\end_layout
\begin_layout Itemize
Эти элементы зарезервированы для использования редакторами журнала,
но вы можете поместить их в преамбулу \SpecialChar LaTeX
,
если считаете необходимым сделать это:
\family typewriter
\backslash
received
\family default
,
\family typewriter
\backslash
revised
\family default
,
\family typewriter
\backslash
accepted
\family default
,
\family typewriter
\backslash
ccc
\family default
,
\family typewriter
\backslash
cpright
\family default
(все из 2.1.3)
\end_layout
\begin_layout Itemize
Эти команды,
включенные как пустые в файл шаблона,
могут быть помещены в преамбулу \SpecialChar LaTeX
:
\family typewriter
\backslash
slugcomment
\family default
(2.1.4),
\family typewriter
\backslash
shorttitle
\family default
(2.1.5),
\family typewriter
\backslash
shortauthors
\family default
(2.1.5)
\end_layout
\begin_layout Itemize
\family typewriter
\backslash
email
\family default
(2.3) – может использоваться только «изолированно»,
а не в середине абзаца.
Используйте
\family sans
Код TeX
\family default
для его встраивания.
\end_layout
\begin_layout Itemize
\family typewriter
\backslash
and
\family default
(2.3) – после него будут дополнительные
\family typewriter
{}
\family default
.
Это не должно вызвать ошибок.
\end_layout
\begin_layout Itemize
\family typewriter
\backslash
notetoeditor
\family default
(2.6) – может использоваться только «изолированно»,
а не в середине абзаца.
Используйте
\family sans
Код TeX
\family default
для его встраивания.
\end_layout
\begin_layout Itemize
\family typewriter
\backslash
placetable
\family default
(2.8) – невозможно вставить ярлык перекрестной ссылки,
необходимо ввести его имя вручную
\end_layout
\begin_layout Itemize
\family typewriter
\backslash
placefigure
\family default
(2.8) – то же,
что и для
\family typewriter
\backslash
placetable
\end_layout
\begin_layout Itemize
\family typewriter
\backslash
acknowledgements
\family default
(2.9) – после него будут дополнительные
\family typewriter
{}
\family default
.
Это не должно вызвать ошибок.
\end_layout
\begin_layout Itemize
\family typewriter
\backslash
appendix
\family default
(2.11) – после него будут дополнительные
\family typewriter
{}
\family default
.
Это не должно вызвать ошибок.
\end_layout
\begin_layout Itemize
\family typewriter
\backslash
figcaption
\family default
(2.14.2) – вы можете вставить необязательный аргумент имени файла,
поместив курсор в начало текста и выбрав
\family sans
Вставить\SpecialChar menuseparator
Краткое заглавие
\family default
.
«Краткое заглавие» вставляет необязательный аргумент типа,
необходимого для
\family typewriter
\backslash
figcaption
\family default
.
\end_layout
\begin_layout Itemize
\family typewriter
\backslash
objectname
\family default
(2.17.1) – то же,
что
\family typewriter
\backslash
figcaption
\family default
для необязательного параметра идентификатора каталога
\end_layout
\begin_layout Itemize
\family typewriter
\backslash
dataset
\family default
(2.17.1) – то же,
что
\family typewriter
\backslash
figcaption
\family default
для необязательного параметра идентификатора каталога
\end_layout
\begin_layout Subsubsection
То,
что не реализовано (используйте код \SpecialChar TeX
)
\end_layout
\begin_layout Standard
\family typewriter
\backslash
eqnum
\family default
(2.12),
\family typewriter
\backslash
setcounter{equation}
\family default
(2.12),
сокращения названий журналов (2.13.4),
\family typewriter
\backslash
figurenum
\family default
(2.14.1),
\family typewriter
\backslash
epsscale
\family default
(2.14.1),
\family typewriter
\backslash
plotone
\family default
(2.14.1),
\family typewriter
\backslash
plottwo
\family default
(2.14.1),
\family typewriter
\backslash
tablenum
\family default
(2.15.4),
\family typewriter
\backslash
tableline
\family default
(2.15.4,
вставьте его как первый элемент в левую ячейку после того места,
где требуется;
не используйте никакие правила \SpecialChar LyX
в таблице),
\family typewriter
\backslash
tablenotemark
\family default
(2.15.5),
\family typewriter
\backslash
tablenotetext
\family default
(2.15.5),
большая часть
\begin_inset Quotes rld
\end_inset
разного
\begin_inset Quotes rrd
\end_inset
(2.17,
кроме
\family typewriter
\backslash
objectname
\family default
,
\family typewriter
\backslash
dataset
\family default
,
\family typewriter
\backslash
url
\family default
,
и
\family typewriter
\backslash
email
\family default
;
см.
выше),
\family typewriter
\backslash
singlespace
\family default
(3.1),
\family typewriter
\backslash
doublespace
\family default
(3.1),
\family typewriter
\backslash
onecolumn
\family default
(3.2),
\family typewriter
\backslash
twocolumn
\family default
(3.2)
\end_layout
\begin_layout Subsubsection
То,
что невозможно реализовать
\end_layout
\begin_layout Standard
\SpecialChar ldots
по крайней мере,
каким-либо значимым образом,
поэтому я предлагаю их игнорировать.
Это —
окружение
\family sans
references
\family default
(2.13.3) и окружение
\family sans
deluxetable
\family default
(2.15).
Если вам действительно нужно использовать
\family sans
deluxetable
\family default
,
мы предлагаем отредактировать его в отдельном файле с помощью текстового редактора,
а затем с помощью
\family sans
Вставка\SpecialChar menuseparator
Файл\SpecialChar menuseparator
Дочерний документ
\family default
включить в ваш документ \SpecialChar LyX
;
см.
файл
\family typewriter
aas_sample.lyx
\family default
,
в качестве примера.
\end_layout
\begin_layout Subsection
Часто задаваемые вопросы,
советы и трюки
\end_layout
\begin_layout Subsubsection
Как заставить \SpecialChar LyX
и AAS\SpecialChar TeX
сотрудничать
\end_layout
\begin_layout Standard
Не просто вложить в \SpecialChar LyX
распознавание нового макета и класса документа.
Когда ничего не помогает,
сделайте следующее:
\end_layout
\begin_layout Enumerate
Убедитесь,
что \SpecialChar LaTeX
может найти AAS\SpecialChar TeX
Скопируйте
\family typewriter
sample.tex
\family default
(и,
возможно,
\family typewriter
table.tex
\family default
) из дистрибутива AAS\SpecialChar TeX
в каталог,
совершенно не связанный с \SpecialChar LaTeX
или AAS\SpecialChar TeX
,
и запустите \SpecialChar LaTeX
на
\family typewriter
sample.tex
\family default
.
\end_layout
\begin_layout Enumerate
Убедитесь,
что файл
\family typewriter
aastex.layout
\family default
отображается в папке
\family typewriter
layouts
\family default
\SpecialChar LyX
.
\end_layout
\begin_layout Enumerate
Запустите
\family sans
Инструменты\SpecialChar menuseparator
Обновить конфигурацию
\family default
в \SpecialChar LyX
,
перезапустите \SpecialChar LyX
.
\end_layout
\begin_layout Enumerate
Создайте обычный новый файл,
а не из шаблона.
Отображается ли AAS\SpecialChar TeX
в списке классов в
\family sans
Документ\SpecialChar menuseparator
Настройки\SpecialChar menuseparator
Класс документа
\family default
?
\end_layout
\begin_layout Standard
Если вы получаете предупреждение из существующего документа AAS\SpecialChar TeX
о невозможности найти макет AAS\SpecialChar TeX
или сообщение о том,
что «не следует смешивать макеты заголовков с обычными»,
значит,
установка не была корректной.
\end_layout
\begin_layout Subsubsection
Ошибка \SpecialChar LaTeX
при обработке таблицы
\end_layout
\begin_layout Standard
\SpecialChar LyX
по умолчанию пытается центрировать подпись/заголовок таблицы.
Похоже,
это приводит к плохому взаимодействию в AAS\SpecialChar TeX
,
поэтому вы должны щелкнуть где-нибудь в подписи/заголовке,
выбрать
\family sans
Правка\SpecialChar menuseparator
Свойства абзаца
\family default
,
затем установить
\family sans
Выравнивание к блоку
\family default
.
Это устранит проблему.
\end_layout
\begin_layout Subsubsection
Ссылки
\end_layout
\begin_layout Standard
Пара моментов:
\end_layout
\begin_layout Enumerate
\begin_inset Argument item:1
status open
\begin_layout Plain Layout
1)
\end_layout
\end_inset
Были замечены некоторые странные промежутки в ссылках в тексте.
При вводе данных элемента библиографии убедитесь,
что в нем нет пробела между автором и годом в скобках;
т.
\begin_inset space \thinspace{}
\end_inset
е.
\family typewriter
Ressler(1992)
\family default
,
а не
\family typewriter
Ressler (1992)
\family default
.
\end_layout
\begin_layout Enumerate
\begin_inset Argument item:1
status open
\begin_layout Plain Layout
2)
\end_layout
\end_inset
Ввод ссылок вообще не очевиден.
Самый простой способ —
начать вводить первую ссылку в конце документа,
а затем пометить ее как тип «Ссылки».
Перед тем,
что вы только что набрали,
появится небольшой серый блок.
Щелкните на блоке,
чтобы ввести остальную информацию.
Для новых ссылок перейдите в конец существующей ссылки и нажмите клавишу
\family sans
Return
\family default
.
Это создаст новую строку с собственным блоком и т.
\begin_inset space \thinspace{}
\end_inset
д.
\end_layout
\begin_layout Subsubsection
Включение файлов EPS
\end_layout
\begin_layout Standard
Несмотря на то,
что AAS\SpecialChar TeX
предоставляет свои собственные команды рисования (например,
\family typewriter
\backslash
plotone
\family default
),
некоторые предпочитают стандартные команды рисования \SpecialChar LaTeX
(с
\series bold
graphicx
\series default
по умолчанию).
Вы можете вставить
\family typewriter
\backslash
plotone
\family default
и подобные команды в виде кода \SpecialChar TeX
в блок плавающего рисунка,
если требуется,
но зачастую при этом не получается правильный макет.
При использовании стандартной графики \SpecialChar LyX
вставит команду
\family typewriter
\backslash
usepackage{graphicx}
\family default
в преамбулу \SpecialChar LaTeX
и обработает рисунки стандартным способом \SpecialChar LaTeX2e
,
перемежая рисунки и текст.
Считается,
что
\shape italic
Astrophysical Journal
\shape default
теперь принимает рисунки именно так;
\shape italic
Astronomical Journal
\shape default
все еще может использовать технику «разместить все в конце».
\end_layout
\begin_layout Section
AMS \SpecialChar LaTeX
\end_layout
\begin_layout Standard
\noindent
Макеты AMS \SpecialChar LaTeX
настроены в соответствии с предлагаемыми стилями для математических статей,
которые будут отправлены в публикации Американского математического сообщества.
Макеты не адаптированы к конкретному журналу,
но это легко может быть сделано.
Вы должны обратиться к документации AMS за конкретными инструкциями для каждого журнала (зачастую это влечет за собой изменение только одной строки в выводе \SpecialChar TeX
).
Эта документация доступна в Интернете по адресу
\begin_inset Flex URL
status open
\begin_layout Plain Layout
http://www.ams.org
\end_layout
\end_inset
или по ftp на
\begin_inset Flex URL
status open
\begin_layout Plain Layout
ftp://ftp.ams.org/pub/tex/amslatex/
\end_layout
\end_inset
.
Эти макеты подходят для любой математической рукописи.
\end_layout
\begin_layout Standard
Существует два основных макета AMS \SpecialChar LaTeX
:
\end_layout
\begin_layout Itemize
amsart:
стандартный формат статьи AMS.
\end_layout
\begin_layout Itemize
amsbook:
стандартный формат книги AMS (на самом деле,
монографии).
\end_layout
\begin_layout Standard
Сами макеты содержат только минимум,
необходимый для использования классов AMS.
Они,
в частности,
не содержат каких-либо окружений
\begin_inset Quotes rld
\end_inset
теорем
\begin_inset Quotes rrd
\end_inset
,
используемых для оформления теорем,
лемм и т.
\begin_inset space \thinspace{}
\end_inset
п.
Вместо этого они содержатся в модуле
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
Теоремы (AMS)
\end_layout
\end_inset
,
который загружается по умолчанию,
когда вы выбираете один из классов AMS (он также может использоваться с другими классами и даже может быть удален,
если вы предпочитаете использовать что-то другое).
Менее часто используемые окружения выбираются из модуля
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
Теоремы (Расширенный AMS)
\end_layout
\end_inset
,
который необходимо загружать вручную.
\end_layout
\begin_layout Standard
По умолчанию теоремы и т.
\begin_inset space \thinspace{}
\end_inset
п.
нумеруются последовательно по всему документу,
но это можно изменить,
загрузив модуль
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\family typewriter
Теоремы (нумерация по разделам)
\end_layout
\end_inset
или,
если вы используете класс документа
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
Книга (AMS)
\end_layout
\end_inset
,
—
модуль
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\family typewriter
Теоремы (нумерация по главам)
\end_layout
\end_inset
.
Они будут нумеровать результаты в виде двух чисел,
разделенных точкой,
где первое число относится к разделу (или главе),
а второе —
к общему количеству результатов на данный момент в этом разделе (или главе).
Многие окружения также доступны без возможности проставления номера.
Они помечаются звездочкой в конце своего имени.
Если вам нужны только ненумерованные результаты,
модуль
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\family typewriter
Теоремы (без нумерации)
\end_layout
\end_inset
предоставляет такую возможность.
\end_layout
\begin_layout Standard
Заметьте,
что эти модули не обязательно использовать с классами AMS.
Вполне возможно использовать модуль
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
Теоремы (AMS)
\end_layout
\end_inset
и другие вышеупомянутые модули с другими классами,
такими как
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
Article (стандартный класс)
\end_layout
\end_inset
,
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
Report (стандартный класс)
\end_layout
\end_inset
,
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
KOMA-Script Book
\end_layout
\end_inset
и т.
\begin_inset space \thinspace{}
\end_inset
д.
\end_layout
\begin_layout Subsection
Что эти макеты обеспечивают
\end_layout
\begin_layout Standard
Эти макеты содержат длинный список включаемых окружений.
Фактически,
в AMS \SpecialChar LaTeX
имеется возможность определять неограниченное количество окружений типа
\begin_inset Quotes rld
\end_inset
теорема
\begin_inset Quotes rrd
\end_inset
.
Однако AMS рекомендует окружения,
доступные в \SpecialChar LyX
.
\end_layout
\begin_layout Standard
Следующие окружения,
а также привычные окружения,
такие как
\family sans
Раздел
\family default
,
\family sans
Библиография
\family default
,
\family sans
Заглавие
\family default
,
\family sans
Автор
\family default
,
и
\family sans
Дата
\family default
—
предоставляются в
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
Статья (AMS)
\end_layout
\end_inset
и
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
Книга (AMS)
\end_layout
\end_inset
:
\end_layout
\begin_layout Description
Адрес Это должен быть постоянный адрес автора.
\end_layout
\begin_layout Description
Текущий
\begin_inset space ~
\end_inset
Адрес Здесь должен быть временный адрес автора на момент подачи,
если он отличается от
\series bold
Адрес
\series default
а.
\end_layout
\begin_layout Description
Эл.почта Электронный адрес автора
\end_layout
\begin_layout Description
URL Веб-адрес автора,
по желанию.
\end_layout
\begin_layout Description
Ключевые
\begin_inset space \space{}
\end_inset
слова Ключевые слова или фразы,
используемые для обозначения конкретных тем,
обсуждаемых в статье.
\end_layout
\begin_layout Description
Subjectclass Относятся к предметным классификациям AMS,
опубликованным и описанным в
\emph on
Mathematical Reviews
\emph default
.
Они также доступны в Интернете на указанных выше сайтах AMS.
\end_layout
\begin_layout Description
Благодарности
\end_layout
\begin_layout Description
Посвящение
\end_layout
\begin_layout Description
Переводчик
\end_layout
\begin_layout Standard
Следующие окружения предоставляются модулями
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
Теоремы
\end_layout
\end_inset
и
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
Теоремы (AMS)
\end_layout
\end_inset
,
причем в последнем случае в версиях с нумерацией и без нее.
Эти же окружения предоставляются только в версиях,
помеченных звездочкой модулем
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\family typewriter
Теоремы (без нумерации)
\end_layout
\end_inset
:
\end_layout
\begin_layout Theorem
Обычно это используется для изложения основных результатов.
\end_layout
\begin_layout Corollary*
Это используется для утверждений,
которые прямо следуют из предыдущих утверждений.
Опять же,
это могут быть важные результаты.
\end_layout
\begin_layout Lemma
Это вспомогательные результаты,
необходимые для доказательства других утверждений.
\end_layout
\begin_layout Proposition
Это менее важные результаты,
которые (возможно) дополняют обсуждаемую общую теорию.
\end_layout
\begin_layout Conjecture
Это необоснованные утверждения,
которые автор не знает,
как доказать,
но которые кажутся правдивыми (по крайней мере,
автору).
\end_layout
\begin_layout Definition*
Ясно,
для чего это нужно.
Шрифт для этого окружения отличается от предыдущего.
\end_layout
\begin_layout Example*
Используется для примеров проверенных результатов.
\end_layout
\begin_layout Problem
Часто используется в обучающих материалах.
\end_layout
\begin_layout Exercise*
Облегченная версия задачи
\end_layout
\begin_layout Remark
Используется для акцентирования или пояснения отдельных аспектов формулировок,
доказательств,
определений и т.
\begin_inset space \thinspace{}
\end_inset
д.
\end_layout
\begin_layout Claim*
Часто используется для доказательства большего результата.
\end_layout
\begin_layout Case
Как правило,
используется для разделения длинных аргументов с использованием конкретных экземпляров условия.
\end_layout
\begin_layout Case
Схема нумерации вариантов представлена отдельно,
а не вместе с другими пронумерованными заявлениями.
\end_layout
\begin_layout Proof
В конце этого окружения помещается символ QED (обычно квадрат,
но он может быть другим,
в зависимости от стиля).
Если вы хотите,
чтобы в этом окружении были другие окружения,
например окружения случаев,
и чтобы символ QED появлялся только после них,
тогда другие окружения необходимо вложить в окружение доказательства.
Информацию о вложении см.
в
\shape italic
Руководстве пользователя
\shape default
,
раздел
\shape italic
Вложенные окружения
\shape default
.
\end_layout
\begin_layout Fact
Аналогично предложению,
хотя,
возможно,
ниже по значимости.
\end_layout
\begin_layout Standard
А следующие окружения предоставляются из
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
Теоремы (Расширенный AMS)
\end_layout
\end_inset
:
\end_layout
\begin_layout Criterion*
Обязательное условие.
\end_layout
\begin_layout Algorithm*
Используемая общая процедура.
\end_layout
\begin_layout Axiom*
Это свойство или утверждение принимается как истинное в обсуждаемой системе.
\end_layout
\begin_layout Condition*
Иногда используется для обозначения критерия,
предполагаемого в текущем контексте обсуждения.
\end_layout
\begin_layout Note*
Подобно замечанию.
\end_layout
\begin_layout Notation*
Используется для объяснения обозначений.
\end_layout
\begin_layout Summary
Итоги,
выводы.
\end_layout
\begin_layout Conclusion*
Иногда используется в конце длинных споров,
подведение итогов.
\end_layout
\begin_layout Assumption*
Допущения.
\end_layout
\begin_layout Question*
Вопросы.
\end_layout
\begin_layout Standard
Кроме того,
классы AMS автоматически предоставляют пакеты шрифтов AMS \SpecialChar LaTeX
и AMS.
Они должны быть доступны в вашей системе,
чтобы использовать эти окружения.
\end_layout
\begin_layout Section
Broadway
\end_layout
\begin_layout Subsection
Введение
\end_layout
\begin_layout Standard
Broadway предназначен для написания пьес.
Формат более декоративен,
чем Hollywood,
и гораздо менее стандартизирован.
Этот формат должен подходить для семинаров.
\end_layout
\begin_layout Subsection
Важное правило
\end_layout
\begin_layout Standard
Такое же,
как в Hollywood.
\end_layout
\begin_layout Subsection
Особенности
\end_layout
\begin_layout Standard
Вставьте имена персонажей (докладчиков,
если Broadway применяется для семинаров) как метки,
затем сделайте перекрестную ссылку на метку,
чтобы вставить имя.
Диалог перекрестных ссылок покажет текущий состав персонажей.
\end_layout
\begin_layout Subsection
Размер бумаги и поля
\end_layout
\begin_layout Standard
US Letter,
слева 1.6
\begin_inset space \thinspace{}
\end_inset
in,
справа 0.75
\begin_inset space \thinspace{}
\end_inset
in,
сверху 0.5
\begin_inset space \thinspace{}
\end_inset
in,
снизу 0.75
\begin_inset space \thinspace{}
\end_inset
in
\end_layout
\begin_layout Subsection
Окружения
\end_layout
\begin_layout Standard
Доступны следующие окружения (вы можете использовать
\family typewriter
broadway.bind
\family default
,
чтобы получить привязки клавиш,
показанные справа):
\end_layout
\begin_layout Itemize
\family sans
Обычный текст
\begin_inset Newline newline
\end_inset
\family default
Обычно не используется,
но применяется,
если ничего другое не подходит.
\end_layout
\begin_layout Itemize
\family sans
Повествование
\begin_inset space \hfill{}
\end_inset
M-z n
\begin_inset Newline newline
\end_inset
\family default
Используется для описания сцены и действия.
Первое использование имен действующих лиц (заглавными буквами).
\end_layout
\begin_layout Itemize
\family sans
АКТ
\begin_inset space \hfill{}
\end_inset
M-z a
\begin_inset Newline newline
\end_inset
\family default
Нумеруется автоматически.
На экране будет помечен арабскими цифрами,
но в выводе —
римскими.
\end_layout
\begin_layout Itemize
\family sans
АКТ*
\begin_inset space \hfill{}
\end_inset
M-z S at
\begin_inset Newline newline
\end_inset
\family default
Субтитры для
\family sans
АКТ
\family default
.
Это просто центрированный текст.
\end_layout
\begin_layout Itemize
\family sans
СЦЕНА
\begin_inset space \hfill{}
\end_inset
M-z S-S
\begin_inset Newline newline
\end_inset
\family default
Автоматически не нумеруется.
Номер указываете вы.
\end_layout
\begin_layout Itemize
\family sans
НА ПОДЪЕМЕ
\begin_inset space \hfill{}
\end_inset
M-z S-R
\begin_inset Newline newline
\end_inset
\family default
Частный случай повествования,
описывающий обстановку и действие,
когда поднимается занавес.
\end_layout
\begin_layout Itemize
\family sans
Персонаж
\begin_inset space \hfill{}
\end_inset
M-z s
\begin_inset Newline newline
\end_inset
\family default
Имена персонажей (титулы докладчиков),
набранные заглавными буквами.
\end_layout
\begin_layout Itemize
\family sans
Ремарка
\begin_inset space \hfill{}
\end_inset
M-z p
\begin_inset Newline newline
\end_inset
\family default
Инструкции для персонажа (докладчика).
Скобки ( ) вставляются автоматически.
\end_layout
\begin_layout Itemize
\family sans
Реплика
\begin_inset space \hfill{}
\end_inset
M-z d
\begin_inset Newline newline
\end_inset
\family default
Что говорит персонаж (докладчик).
\end_layout
\begin_layout Itemize
\family sans
ЗАНАВЕС
\begin_inset space \hfill{}
\end_inset
M-z S-C
\begin_inset Newline newline
\end_inset
\family default
Занавес опускается (окончание семинара —
\begin_inset Quotes rld
\end_inset
Благодарю за внимание
\begin_inset Quotes rrd
\end_inset
?).
\end_layout
\begin_layout Itemize
\family sans
Заголовок
\begin_inset space \hfill{}
\end_inset
M-z S-T
\end_layout
\begin_layout Itemize
\family sans
Автор
\begin_inset space \hfill{}
\end_inset
M-z S-A
\end_layout
\begin_layout Itemize
\family sans
Адрес справа
\begin_inset space \hfill{}
\end_inset
M-z r
\end_layout
\begin_layout Section
DIN-Brief
\end_layout
\begin_layout Standard
Класс документа
\series bold
DIN-Brief
\series default
может использоваться для набора писем в соответствии с соглашениями немецкого языка.
Имеется файл шаблона,
который вы можете использовать в качестве отправной точки.
\end_layout
\begin_layout Section
Журналы Elsevier
\end_layout
\begin_layout Standard
См.
файл шаблона \SpecialChar LyX
\family typewriter
elsarticle.lyx
\family default
,
содержащий подробности.
\end_layout
\begin_layout Section
Foils [также известный как
\family sans
Foil\SpecialChar TeX
\family default
]
\begin_inset CommandInset label
LatexCommand label
name "sec:foiltex"
\end_inset
\end_layout
\begin_layout Standard
В \SpecialChar LyX
поддерживаются два класса документов,
которые могут помочь в создании слайдов для диапроекторов (устаревшая потребность):
класс слайдов по умолчанию и класс
\family sans
Foil\SpecialChar TeX
.
\family default
Класс
\family sans
foils
\family default
разработан для использования с версией 2.1 файла классов
\family typewriter
foils.cls
\family default
\SpecialChar LaTeX
,
который теперь является неотъемлемой частью \SpecialChar LaTeX
2
\begin_inset Formula $\varepsilon$
\end_inset
.
С подробностями использования этих классов можно ознакомиться по тексту файла примера
\family typewriter
Foils.lyx
\family default
и на CTAN.
\end_layout
\begin_layout Section
Hollywood (голливудские сценарии)
\end_layout
\begin_layout Subsection
Введение
\end_layout
\begin_layout Standard
Правильный формат голливудского сценария —
это «обряд посвящения».
Он предназначен для того,
чтобы читающие могли сосредоточиться на содержании,
и чтобы он был легким и привычным для чтения актерами.
Каждая страница сценария должна описывать одну минуту фильма.
В сценарии не должно быть того,
чего вы не могли бы увидеть или услышать на экране.
Во всем тексте следует использовать машинописный шрифт размера 12
\begin_inset space \thinspace{}
\end_inset
pt,
без использования курсивного начертания.
\end_layout
\begin_layout Subsection
Важное правило
\end_layout
\begin_layout Standard
Тексты для действующих лиц НИКОГДА не должны прерываться внутри предложения.
Если реплика прерывается разрывом страницы,
но перед началом следующего предложения,
повторите на новой странице название персонажа с последующим
\family typewriter
(Продолжение)
\family default
.
\end_layout
\begin_layout Subsection
Особенности
\end_layout
\begin_layout Standard
Вставьте имена персонажей как метки,
затем сделайте перекрестную ссылку на метку,
чтобы вставить имя.
Диалог перекрестных ссылок покажет текущий состав персонажей.
\end_layout
\begin_layout Subsection
Размер бумаги и поля
\end_layout
\begin_layout Standard
US Letter,
слева 1.6
\begin_inset space \thinspace{}
\end_inset
in,
справа 0.75
\begin_inset space \thinspace{}
\end_inset
in,
сверху 0.5
\begin_inset space \thinspace{}
\end_inset
in,
снизу 0.75
\begin_inset space \thinspace{}
\end_inset
in
\end_layout
\begin_layout Subsection
Окружения
\end_layout
\begin_layout Standard
Доступны следующие окружения (вы можете использовать
\family typewriter
hollywood.bind
\family default
,
чтобы получить ключи привязки,
показанные справа):
\end_layout
\begin_layout Itemize
\family sans
Общее
\begin_inset Newline newline
\end_inset
\family default
Обычно не используется,
но применяется,
если ничего другое не подходит.
\end_layout
\begin_layout Itemize
\family sans
ПОЯВЛЕНИЕ
\family default
:
\begin_inset space \hfill{}
\end_inset
\family sans
M-z S-I
\family default
\begin_inset Newline newline
\end_inset
Обычно за этим следует что-то вроде «Когда Салли просыпается».
\end_layout
\begin_layout Itemize
\family sans
ИНТ.
\begin_inset space \hfill{}
\end_inset
M-z i
\begin_inset Newline newline
\end_inset
\family default
Представляет новую установку камеры INTERIOR (Внутренняя).
Всегда за этим следует ДЕНЬ или НОЧЬ или что-то подобное,
чтобы определить необходимое освещение.
Все указывается на этой строчке ЗАГЛАВНЫМИ БУКВАМИ.
\end_layout
\begin_layout Itemize
\family sans
НАТ.
\begin_inset space \hfill{}
\end_inset
M-z e
\begin_inset Newline newline
\end_inset
\family default
Представляет новую настройку камеры EXTERIOR (Съемка на натуре).
Все в этой строке ЗАГЛАВНЫМИ БУКВАМИ.
\end_layout
\begin_layout Itemize
\family sans
Персонаж
\begin_inset space \hfill{}
\end_inset
M-z s
\begin_inset Newline newline
\end_inset
\family default
Персонаж,
который говорит.
\end_layout
\begin_layout Itemize
\family sans
Ремарка
\begin_inset space \hfill{}
\end_inset
M-z p
\begin_inset Newline newline
\end_inset
Инструкции
\family default
для персонажа.
Скобки ( ) вставляются автоматически.
\end_layout
\begin_layout Itemize
\family sans
Реплика
\begin_inset space \hfill{}
\end_inset
M-z d
\begin_inset Newline newline
\end_inset
\family default
Что говорит
\family sans
Персонаж
\family default
.
\end_layout
\begin_layout Itemize
\family sans
Переход
\begin_inset space \hfill{}
\end_inset
M-z t
\begin_inset Newline newline
\end_inset
\family default
Инструкция по перемещению камеры,
например,
СМЕНА СЦЕНЫ:
\end_layout
\begin_layout Itemize
\family sans
ИСЧЕЗАНИЕ:
\begin_inset space \hfill{}
\end_inset
M-z S-I
\begin_inset Newline newline
\end_inset
\family default
Постепенное исчезновение (съемка в затемнении)
\end_layout
\begin_layout Itemize
\family sans
Автор
\begin_inset space \hfill{}
\end_inset
M-z S-A
\end_layout
\begin_layout Itemize
\family sans
Заголовок
\begin_inset space \hfill{}
\end_inset
M-z S-T
\end_layout
\begin_layout Itemize
\family sans
Адрес справа
\begin_inset space \hfill{}
\end_inset
M-z r
\end_layout
\begin_layout Subsection
Сценарный жаргон
\end_layout
\begin_layout Itemize
(O.S) —
закадровый
\end_layout
\begin_layout Itemize
(V.O) —
голос за кадром
\end_layout
\begin_layout Itemize
b.
\begin_inset space \thinspace{}
\end_inset
g.
—
задний план
\end_layout
\begin_layout Itemize
C.U.
—
крупный план
\end_layout
\begin_layout Itemize
PAN —
движение камеры
\end_layout
\begin_layout Itemize
INSERT —
сократить до крупного плана
\end_layout
\begin_layout Section
Koma-Script
\end_layout
\begin_layout Subsection
Обзор
\end_layout
\begin_layout Standard
Классы \SpecialChar LyX
-документов
\family sans
Koma-Script Article
\family default
,
\family sans
Koma-Script Report
\family default
,
\family sans
Koma-Script Book
\family default
и
\family sans
Koma-Script Letter
\family default
соответствуют классам документов \SpecialChar LaTeX
\family typewriter
scrartcl.cls
\family default
,
\family typewriter
scrreprt.cls
\family default
,
\family typewriter
scrbook.cls
\family default
,
и
\family typewriter
scrlettr.cls
\family default
соответствующего семейства Koma-Script.
Они заменяют стандартные классы документов
\family typewriter
article.cls
\family default
,
\family typewriter
report.cls
\family default
,
\family typewriter
book.cls
\family default
и
\family typewriter
letter.cls
\family default
,
соответственно,
и лучше соответствуют европейским типографическим соглашениям по ряду пунктов.
\end_layout
\begin_layout Itemize
Базовый размер шрифта —
11
\begin_inset space \thinspace{}
\end_inset
pt в
\family sans
Koma-Script Article
\family default
,
\family sans
Koma-Script Report
\family default
и
\family sans
Koma-Script Book
\family default
и 12
\begin_inset space \thinspace{}
\end_inset
pt в
\family sans
Koma-Script Letter
\family default
.
\end_layout
\begin_layout Itemize
Заголовки,
метки окружения
\family sans
Описание
\family default
,
а также ряд элементов класса документа
\family sans
Koma-Script Letter
\family default
,
выделяются полужирным шрифтом без засечек
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Между старыми полужирными шрифтами без засечек
\family sans
cm
\family default
и новыми шрифтами EC наблюдается большое различие,
особенно проявляющееся во внешнем виде заголовков.
Для сравнения,
полужирные шрифты без засечек EC выглядят тоньше.
Пакет \SpecialChar LaTeX
\family typewriter
cmsd.sty
\family default
помогает добиться «обычного» внешнего вида при использовании шрифтов EC.
\end_layout
\end_inset
.
Нумерация заголовков глав производится так же,
как и нумерация заголовков разделов,
то есть без дополнительной строки «
\series bold
Глава
\series default
...».
Кроме того,
внешний вид заголовков может быть изменен с помощью ряда параметров (в \SpecialChar LyX
они задаются в поле
\family sans
Пользовательские
\family default
диалогового окна
\family sans
Документ\SpecialChar menuseparator
Настройки\SpecialChar menuseparator
Класс документа\SpecialChar menuseparator
Параметры класса
\family default
).
\end_layout
\begin_layout Itemize
Основным средством в классах документов Koma-Script для задания области печати на странице являются параметры
\family sans
BCOR
\family default
и
\family sans
DIV
\family default
,
позволяющие более понятно изменять поля страницы.
\end_layout
\begin_layout Itemize
Классы документов \SpecialChar LaTeX
семейства Koma-Script определяют ряд дополнительных команд.
Та его часть,
которая имеет смысл в \SpecialChar LyX
,
реализована в соответствующих окружениях абзацев.
\end_layout
\begin_layout Standard
Подробные описания классов документов \SpecialChar LaTeX
семейства Koma-Script можно найти в документации по Koma-Script в
\shape italic
scrguide
\shape default
(на немецком языке) и
\shape italic
scrguien
\shape default
(на английском языке).
\end_layout
\begin_layout Subsection
\family sans
Koma-Script Article
\family default
,
\family sans
Report
\family default
и
\family sans
Book
\end_layout
\begin_layout Standard
Классы документов
\family sans
Koma-Script Article
\family default
,
\family sans
Koma-Script Report
\family default
и
\family sans
Koma-Script Book
\family default
реализованы в файлах макетов
\family typewriter
scrartcl.layout
\family default
,
\family typewriter
scrreprt.layout
\family default
и
\family typewriter
scrbook.layout
\family default
,
соответственно.
Они содержат все типы абзацев соответствующих стандартных классов документов
\emph on
article
\emph default
,
\emph on
report
\emph default
и
\shape italic
book
\shape default
,
частично измененные,
за исключением специального
\family sans
List
\family default
-типа,
который заменен новым типом маркировки с той же функциональностью.
Помимо
\family sans
Labeling
\family default
-типа добавлен ряд новых типов абзацев.
Они не являются частью
\family sans
Koma-Script Letter
\family default
.
\end_layout
\begin_layout Itemize
\family sans
Доп.
часть,
Доп.
глава
\family default
,
\family sans
Доп.
раздел
\family default
—
это эквиваленты для
\family sans
Часть*
\family default
,
\family sans
Глава*
\family default
и
\family sans
Раздел*
\family default
,
соответственно,
но отображающиеся в содержании документа.
\family sans
Доп.
часть
\family default
и
\family sans
Доп.
глава
\family default
отсутствуют в
\family sans
Koma-Script Article
\family default
.
\end_layout
\begin_layout Itemize
\family sans
Доп.
глава*
\family default
и
\family sans
Доп.
раздел*
\family default
действуют точно так же,
как
\family sans
Доп.
глава
\family default
и
\family sans
Доп.
раздел
\family default
,
соответственно,
дополнительно убирая заголовок в верхнем колонтитуле.
\family sans
Доп.
глава*
\family default
отсутствует в
\family sans
Koma-Script Article
\family default
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Также имеется команда
\family typewriter
\backslash
addpart*
\family default
в
\family sans
Koma-Script Book
\family default
и в
\family sans
Koma-Script Report
\family default
,
но поскольку она идентична
\family sans
Part*
\family default
,
то не реализована в \SpecialChar LyX
.
\end_layout
\end_inset
.
\end_layout
\begin_layout Itemize
\family sans
Минираздел
\family default
:
создает заголовок прямо над следующим абзацем стандартным размером шрифта,
не влияя при этом на структуру документа.
\end_layout
\begin_layout Itemize
\family sans
Подпись над
\family default
и
\family sans
Подпись под
\family default
—
специальные подписи,
которые учитывают различные настройки промежутков,
необходимые для заголовков,
размещаемых над или под элементом (если вы следуете строгим типографским правилам,
вы можете разместить заголовки таблиц всегда над таблицей).
Вы также можете использовать параметр класса
\family typewriter
tablecaptionsabove
\family default
,
который переключит
\family sans
Подпись
\family default
на
\family sans
Подпись над
\family default
для таблиц и
\family sans
Подпись под
\family default
для рисунков.
Для их использования вам потребуется версия Koma-Script не ниже 2.8q.
\end_layout
\begin_layout Itemize
\family sans
Эпиграф
\family default
:
можно использовать для установки подходящего эпиграфа,
например,
в начале главы.
Если вы используете необязательный аргумент (
\family sans
Вставка\SpecialChar menuseparator
Автор эпиграфа
\family default
),
то можете вставить туда имя автора.
\family sans
Эпиграф
\family default
и его автор разделяются линией.
Для использования этого вам потребуется версия Koma-Script не ниже 2.8q.
\family sans
Эпиграф
\family default
в статьях не поддерживается.
\end_layout
\begin_layout Standard
Следующие типы вместе со стандартными типами
\family sans
Заголовок
\family default
,
\family sans
Автор
\family default
и
\family sans
Дата
\family default
образуют область заголовка документа.
Их необходимо вводить перед первым «обычным» абзацем
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Соответствующие команды \SpecialChar LaTeX
должны стоять перед командой
\family typewriter
\backslash
maketitle
\family default
.
\end_layout
\end_inset
.
Когда такой тип используется более одного раза,
последнее использование перезаписывает первое,
что означает,
что для каждого типа допустимо только последнее использование.
Однако порядок различных типов,
таких как
\family sans
Заголовок
\family default
,
\family sans
Автор
\family default
и
\family sans
Дата
\family default
,
не влияет на внешний вид создаваемого документа.
\end_layout
\begin_layout Itemize
\family sans
Тема
\family default
:
создает центрированный абзац над обычным заголовком (
\family sans
Заглавие
\family default
,
\family sans
Автор
\family default
и
\family sans
Дата
\family default
) для темы документа.
\end_layout
\begin_layout Itemize
\family sans
Издатели
\family default
:
создает центрированный абзац под обычным заголовком (
\family sans
Заглавие
\family default
,
\family sans
Автор
\family default
и
\family sans
Дата
\family default
) для имен издателей.
\end_layout
\begin_layout Itemize
\family sans
Посвящение
\family default
:
в
\family sans
Koma-Script Report
\family default
и
\family sans
Koma-Script Book
\family default
создает центрированный абзац на отдельной странице,
следующей за титульной страницей,
или в
\family sans
Koma-Script Article
\family default
создает центрированный абзац под обычным заголовком (
\family sans
Заглавие
\family default
,
\family sans
Автор
\family default
,
\family sans
Дата
\family default
и
\family sans
Издатели
\family default
) для посвящения.
\end_layout
\begin_layout Itemize
\family sans
Колонтитул титульного листа
\family default
:
создает абзац с выравниванием по левому краю над обычным заголовком (
\family sans
Заглавие
\family default
,
\family sans
Автор
\family default
,
\family sans
Дата
\family default
и
\family sans
Тема
\family default
) для заголовка документа.
\end_layout
\begin_layout Itemize
\family sans
Оборот титульного листа сверху
\family default
:
при двусторонней печати в
\family sans
Koma-Script Report
\family default
и
\family sans
Koma-Script Book
\family default
выводит абзац с выравниванием по левому краю вверху задней части титульного листа или не оказывает никакого влияния на одностороннюю печать или в
\family sans
Koma-Script Article
\family default
.
\end_layout
\begin_layout Itemize
\family sans
Оборот титульного листа снизу
\family default
:
при двусторонней печати в
\family sans
Koma-Script Report
\family default
и
\family sans
Koma-Script Book
\family default
выводит абзац с выравниванием по левому краю внизу задней части титульного листа или не оказывает никакого влияния на одностороннюю печать или в
\family sans
Koma-Script Article
\family default
.
\end_layout
\begin_layout Itemize
\family sans
Доп.
заголовок
\family default
:
создает специальную «черновую» страницу перед фактическим документом,
содержащую абзац без специального форматирования.
\end_layout
\begin_layout Standard
Файлы макета для классов документов
\family sans
Koma-Script Article
\family default
,
\family sans
Koma-Script Report
\family default
и
\family sans
Koma-Script Book
\family default
) включают файл
\family typewriter
scrmacros.inc
\family default
.
Здесь можно определять ваши собственные типы.
Скопируйте
\family typewriter
scrmacros.inc
\family default
в свой личный каталог макетов и отредактируйте файл!
\end_layout
\begin_layout Subsection
\family sans
Koma-Script Letter
\end_layout
\begin_layout Standard
\noindent
В Koma-Script версии 2.8 представлен новый класс письма
\family typewriter
scrlttr2
\family default
,
который заменил устаревший и неподдерживаемый
\family typewriter
scrlettr
\family default
.
Со стороны \SpecialChar LaTeX
он имеет полностью новый интерфейс и несовместим со старым классом.
Поэтому \SpecialChar LyX
поддерживает оба,
хотя рекомендуется использовать новый класс.
\end_layout
\begin_layout Standard
Этот класс охватывает ту же функциональность,
что и
\family sans
Koma-Script Letter
\family default
,
и немного больше.
Основными элементами являются
\family sans
Адрес
\family default
(адрес получателя,
такой же как
\family sans
Письмо
\family default
в старом формате),
\family sans
Вступление
\family default
и
\family sans
Завершение
\family default
.
\family sans
Следующий адрес
\family default
начинает новое письмо (т.
\begin_inset space \thinspace{}
\end_inset
е.
вы можете разместить несколько писем в одном документе).
Новые элементы —
это
\family sans
E-Mail
\family default
,
\family sans
URL
\family default
,
\family sans
Факс
\family default
,
\family sans
Банк
\family default
отправителя и возможность использовать
\family sans
Логотип
\family default
(через
\family sans
Вставка\SpecialChar menuseparator
Изображение
\family default
) в заголовке.
\end_layout
\begin_layout Standard
Однако самым большим улучшением является то,
что макет письма можно настроить для удовлетворения практически любых потребностей.
Это можно сделать через преамбулу или с помощью специального стилевого файла (с расширением
\family typewriter
.lco
\family default
),
который будет считан как параметр класса
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Пакет KOMA поставляется с некоторыми
\family typewriter
*.lco
\family default
-файлами по умолчанию.
Существует,
например,
файл
\family typewriter
DIN.lco
\family default
,
который следует немецким правилам набора текста,
или файл
\family typewriter
KOMAold.lco
\family default
,
который предоставляет макет по умолчанию старого класса
\family typewriter
scrlettr
\family default
.
Последний может быть загружен с опцией класса
\family typewriter
KOMAold
\family default
.
\end_layout
\end_inset
.
Взгляните на шаблон
\family typewriter
koma-letter2
\family default
,
который включен в \SpecialChar LyX
в качестве примера.
Подробное описание можно найти в документации по Koma-Script (
\shape italic
scrguide
\shape default
или
\shape italic
scrguien
\shape default
).
\end_layout
\begin_layout Section
Memoir
\end_layout
\begin_layout Subsection
Обзор
\end_layout
\begin_layout Standard
Memoir —
весьма мощный и постоянно развивающийся класс.
Он был разработан с учетом художественной и научно-популярной литературы.
Его цель —
предоставить пользователю максимальный контроль над версткой своего документа.
Memoir основан на стандартном классе книги,
но он также может имитировать класс статьи (см.
далее).
\end_layout
\begin_layout Standard
Питер Вильсон (Peter Wilson),
разработчик Memoir,
известен как автор множества полезных пакетов в мире \SpecialChar LaTeX
.
Большинство из них были объединены в класс Memoir.
Поэтому стало намного легче размечать оглавление,
приложения,
дизайн глав и т.
\begin_inset space \thinspace{}
\end_inset
д.
\SpecialChar LyX
,
однако,
изначально не поддерживает все эти возможности.
Некоторые из них могут быть добавлены в предстоящие выпуски
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Вам предлагается отправлять предложения по адресу
\begin_inset Flex URL
status collapsed
\begin_layout Plain Layout
lyx-devel@lists.lyx.org
\end_layout
\end_inset
.
\end_layout
\end_inset
,
многие из них,
вероятно,
никогда не будут поддерживаться из-за ограничений среды \SpecialChar LyX
.
Конечно,
вы все еще можете использовать все функции с помощью некоторых команд \SpecialChar LaTeX
(
\family sans
Код TeX
\family default
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Подробности см.
в разделе
\begin_inset space ~
\end_inset
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:Inserting-TeX-Code"
\end_inset
.
\end_layout
\end_inset
).
В этом разделе мы перечислим только те функции,
которые изначально поддерживаются \SpecialChar LyX
.
Для подробного ознакомления (и по остальным функциям) рекомендуется взглянуть на руководство по классу Memoir
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
См.
\begin_inset Flex URL
status collapsed
\begin_layout Plain Layout
CTAN:/macros/latex/memoir/memman.pdf
\end_layout
\end_inset
.
\end_layout
\end_inset
,
которое является не только пособием для пользователей этого класса,
но и исчерпывающим описанием хорошей верстки текста и превосходным примером этого.
\end_layout
\begin_layout Subsection
Основные возможности и ограничения
\end_layout
\begin_layout Standard
Memoir поддерживает практически все функции стандартных книжных классов.
Однако имеются некоторые отличия,
а именно:
\end_layout
\begin_layout Description
Размеры
\begin_inset space ~
\end_inset
шрифтов:
Memoir имеет более широкий диапазон размера шрифтов:
9,
10,
11,
12,
14,
17.
\end_layout
\begin_layout Description
Стиль
\begin_inset space ~
\end_inset
колонтитулов:
Красивый (fancy) стиль колонтитулов не поддерживается из-за конфликта команд между Memoir и пакетом
\series bold
fancyhdr
\series default
(они оба определяют команду с одинаковым именем,
что сбивает \SpecialChar LaTeX
с толку).
Вместо этого Memoir поставляется с несколькими собственными стилями страниц (см.
\family sans
Документ\SpecialChar menuseparator
\SpecialChar allowbreak
Настройки\SpecialChar menuseparator
\SpecialChar allowbreak
Макет страницы\SpecialChar menuseparator
\SpecialChar allowbreak
Стиль колонтитулов
\family default
).
Если вы хотите использовать их для начальных страниц глав,
вы должны разместить команду
\family typewriter
\backslash
chapterstyle
\family default
в основном тексте или в преамбуле (например,
\family typewriter
\backslash
chapterstyle{companion}
\family default
).
\end_layout
\begin_layout Description
Секционирование:
Составляющие части документа (глава,
раздел,
подраздел и т.
\begin_inset space \thinspace{}
\end_inset
д.) имеют необязательный аргумент в стандартных классах.
При этом вы можете указать альтернативную версию для содержания и верхнего колонтитула (например,
если заголовок слишком длинный).
В \SpecialChar LyX
это можно сделать с помощью
\family sans
Вставка\SpecialChar menuseparator
Краткий заголовок
\family default
в начале главы/раздела.
Memoir имеет второй необязательный аргумент и,
таким образом,
отделяет содержание от колонтитула.
С его помощью вы можете определить три варианта заголовка:
для использования в тексте,
в содержании и в верхнем колонтитуле.
\SpecialChar LyX
делает их доступными в виде конкретных вариантов кратких заголовков в меню
\family sans
Вставка
\family default
.
\end_layout
\begin_layout Description
Содержание/Списки:
В стандартных (и во многих других) классах содержание,
список рисунков и список таблиц автоматически начинаются на новой странице.
В Memoir это не так.
При необходимости вы должны сами вставить разрыв страницы.
\end_layout
\begin_layout Description
Титульная
\begin_inset space ~
\end_inset
страница:
Memoir использует нумерацию страниц на титульном листе (в стандартных классах титульные страницы «пустые»).
Если вам нужна ненумерованная титульная страница,
введите
\family typewriter
\backslash
aliaspagestyle{title}{empty}
\family default
в преамбуле.
\end_layout
\begin_layout Description
Статья:
С помощью опции класса
\family typewriter
article
\family default
(которую нужно вставить в
\family sans
Документ\SpecialChar menuseparator
Настройки\SpecialChar menuseparator
Класс документа\SpecialChar menuseparator
Пользовательские
\family default
) вы можете имитировать стиль статьи.
То есть,
счетчики (сносок,
рисунков,
таблиц и т.
\begin_inset space \thinspace{}
\end_inset
п.) не будут сбрасываться при смене глав,
главы не будут начинаться на новой странице,
хотя части будут оформляться как в книге.
\end_layout
\begin_layout Description
Опция
\begin_inset space ~
\end_inset
oldfontcommands:
По умолчанию Memoir не позволяет использовать устаревшие команды шрифтов,
которые использовались в старой версии \SpecialChar LaTeX
2.09 (например,
\family typewriter
\backslash
rm
\family default
,
\family typewriter
\backslash
it
\family default
).
Он выдает ошибку всякий раз,
когда появляется такая команда.
Опция класса
\family typewriter
oldfontcommands
\family default
разрешает использование таких команд и генерирует предупреждения (что,
по крайней мере,
не нарушает работу \SpecialChar LaTeX
).
Поскольку многие пакеты и,
в частности,
файлы стилей Bib\SpecialChar TeX
все еще используют эти команды,
мы решили использовать эту опцию по умолчанию.
\end_layout
\begin_layout Subsection
Дополнительные возможности
\end_layout
\begin_layout Standard
Перечислим те немногие возможности,
которые напрямую поддерживает \SpecialChar LyX
(обратитесь к руководству Memoir
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
см.
на
\begin_inset Flex URL
status collapsed
\begin_layout Plain Layout
CTAN:/macros/latex/memoir/memman.pdf
\end_layout
\end_inset
.
\end_layout
\end_inset
для получения более подробной информации).
\end_layout
\begin_layout Description
Аннотация:
Обычно книги не содержат аннотаций,
но в Memoir их можно размещать где угодно и в любом количестве.
\end_layout
\begin_layout Description
Краткое
\begin_inset space ~
\end_inset
содержание:
Возможно,
вам известен такой старый стиль набора:
содержание главы резюмировано непосредственно под заголовком,
а также в оглавлении (например,
\shape italic
Наш герой прибывает в Трою;
он теряет одних друзей,
но находит других
\shape default
).
\family sans
Краткое содержание
\family default
делает именно это.
Его обычно разумно размещать только под заголовком главы.
\end_layout
\begin_layout Description
Эпиграф:
Это умный слоган или девиз в начале главы.
Окружение эпиграфа обеспечивает элегантный способ набора такого текста.
Сам текст и его (необязательно) автор (источник) разделяются короткой линией.
\end_layout
\begin_layout Description
Название
\begin_inset space ~
\end_inset
стиха:
Memoir имеет множество возможностей для набора стихов (вплоть до очень сложных изобразительных).
\SpecialChar LyX
пока поддерживает только некоторые из них.
\family sans
Название стиха
\family default
—
одна из таких,
это центрированное название для стиха,
также добавляемое в оглавление (
\family sans
Стихи
\family default
—
это стандартное окружение для стихов.
Memoir имеет несколько расширенных вариантов окружений для стихов,
но для этого нужно использовать
\family sans
Код TeX
\family default
,
потому что они могут быть вложены в обычные окружения стихов,
что невозможно в \SpecialChar LyX
).
\end_layout
\begin_layout Description
Название
\begin_inset space ~
\end_inset
стиха*:
То же,
что и
\family sans
Название стиха
\family default
,
но не добавляет запись в оглавление.
\end_layout
\begin_layout Section
Статья (mwart),
книга (mwbk) и отчет (mwrep)
\end_layout
\begin_layout Standard
Классы документов \SpecialChar LyX
\family sans
article (mwart)
\family default
,
\family sans
report (mwrep)
\family default
и
\family sans
book (mwbk)
\family default
соответствуют классам документов \SpecialChar LaTeX
\family typewriter
mwart.cls
\family default
,
\family typewriter
mwrep.cls
\family default
и
\family typewriter
mwbk.cls
\family default
,
соответственно.
Они заменяют стандартные классы документов
\family typewriter
article.cls
\family default
,
\family typewriter
report.cls
\family default
и
\family typewriter
book.cls
\family default
,
соответственно,
и лучше подходят для польских типографских соглашений.
\end_layout
\begin_layout Section
Paper
\end_layout
\begin_layout Standard
Класс документа
\family sans
paper
\family default
представляет собой альтернативу стандартному классу
\family sans
article
\family default
.
Он предоставляет аналогичные функции,
но вы можете предпочесть этот макет для использования шрифтов без засечек для заголовков документа.
\end_layout
\begin_layout Section
REV\SpecialChar TeX
4
\end_layout
\begin_layout Standard
Классы документа
\family sans
REVTeX (V.
4)
\family default
,
\family sans
REVTeX (V.
4.1)
\family default
и
\family sans
REVTeX (V.
4.2)
\family default
работают с классом
\family sans
REV\SpecialChar TeX
\family default
от American Physical Society;
см.
подробности в документации к этому классу.
\end_layout
\begin_layout Section
Журналы Springer (
\family sans
svjour
\family default
)
\end_layout
\begin_layout Subsection
Описание
\end_layout
\begin_layout Standard
Это файлы макетов для некоторых форматов журналов,
используемых Springer Verlag и перечисленных в разделе
\family sans
Subjects
\family default
на
\begin_inset Flex URL
status collapsed
\begin_layout Plain Layout
http://www.springer.com
\end_layout
\end_inset
,
куда вам также следует обратиться,
чтобы получить файлы классов (да,
теперь это \SpecialChar LaTeX
2
\begin_inset Formula $\varepsilon$
\end_inset
!).
Это модульная система:
общее для всех журналов реализовано в
\family typewriter
svjour.inc
\family default
,
который могут включать файлы макета конкретного журнала (например,
\family typewriter
svjog.layout
\family default
для
\shape italic
Journal of Geodesy
\shape default
).
\end_layout
\begin_layout Standard
Это означает,
что реализовать поддержку любого другого журнала Springer в этом списке так же просто,
как написать свой собственный файл
\family typewriter
sv<
\family default
мой_журнал
\family typewriter
>.layout
\family default
,
следуя схеме,
приведенной в
\family typewriter
svjog.layout
\family default
.
\end_layout
\begin_layout Standard
Это достаточно хорошо протестировано только для
\shape italic
Journal of Geodesy
\shape default
.
\family typewriter
svjour
\family default
и
\family typewriter
svjog
\family default
входят в стандартный дистрибутив \SpecialChar LyX
.
Установите соответствующий файл класса (загруженный из Springer) в соответствующий каталог,
перенастройте \SpecialChar LaTeX
(в случае te\SpecialChar TeX
,
запустив
\family typewriter
texhash
\family default
,
если необходимо,
как root —
разве \SpecialChar LyX
не позаботится об этом?),
перенастройте \SpecialChar LyX
,
и он должен работать.
\end_layout
\begin_layout Subsection
Новые стили
\end_layout
\begin_layout Standard
Большое количество теоремо-подобных стилей —
\family sans
Запрос,
Гипотеза,
\family default
\family sans
\SpecialChar ldots
,
Теорема
\family default
.
Кроме того,
\family sans
Вступление,
Посвящение,
Подзаголовок,
Список авторов,
Институт,
Почта,
Оттиски,
Ключевые слова,
Благодарности
\family default
.
Подробнее см.
файл документации класса
\family sans
Springer
\family default
.
\end_layout
\begin_layout Subsection
Поддерживаемые журналы
\end_layout
\begin_layout Itemize
\emph on
Journal of Geodesy
\emph default
:
\family typewriter
svjog.layout
\family default
—
Martin Vermeer
\end_layout
\begin_layout Itemize
\emph on
Probability Theory and Related Fields
\emph default
:
\family typewriter
svprobth.layout
\family default
—
Jean-Marc Lasgouttes
\end_layout
\begin_layout Standard
Попробуйте добавить свои журналы,
это не так уж и сложно!
\end_layout
\begin_layout Subsection
Выходные сведения
\end_layout
\begin_layout Standard
Эти файлы частично основаны на более старом файле
\family typewriter
ejour2.layout
\family default
,
который с другой стороны был основан на переделанной версии старого стилевого файла \SpecialChar LaTeX
2.09 от Springer.
Все это,
а также макет
\family typewriter
ejour2
\family default
,
теперь не работают.
\end_layout
\begin_layout Chapter
Функции \SpecialChar LyX
,
требующие дополнительного программного обеспечения
\end_layout
\begin_layout Section
Проверка \SpecialChar TeX
\end_layout
\begin_layout Subsection
Введение
\end_layout
\begin_layout Standard
Если у вас установлена программа
\family typewriter
chktex
\family default
,
вы найдете в меню
\family sans
Инструменты
\family default
пункт:
\family sans
Проверить TeX
\family default
.
\family typewriter
chktex
\family default
можно получить на CTAN,
\begin_inset Newline newline
\end_inset
\begin_inset CommandInset href
LatexCommand href
target "https://www.ctan.org/tex-archive/help/Catalogue/entries/chktex.html"
literal "false"
\end_inset
.
\end_layout
\begin_layout Standard
Пакет
\family sans
Chk\SpecialChar TeX
\family default
—
это программа,
созданная Jens T. Berger Thielemann,
стимулом написания которой послужило то,
что некоторые конструкции в \SpecialChar LaTeX
иногда интуитивно непонятны и часто забываются.
Программа просматривает ваш файл \SpecialChar LaTeX
,
проверяет его целостность и отмечает некоторые распространенные ошибки.
Другими словами,
это аналог программы
\family typewriter
lint
\family default
для \SpecialChar LaTeX
.
\end_layout
\begin_layout Standard
Что же делает в \SpecialChar LyX
средство проверки синтаксиса,
если \SpecialChar LyX
в любом случае должен формировать правильный код \SpecialChar LaTeX
?
Ответ прост:
так же,
как
\family typewriter
lint
\family default
не только проверяет
\shape italic
синтаксис
\shape default
программ на C,
но и выполняет проверку
\shape italic
семантики
\shape default
на предмет ошибок типа,
ChkTeX выявляет некоторые распространенные
\shape italic
типографические
\shape default
ошибки в дополнение к синтаксическим.
В частности,
\family sans
Chk\SpecialChar TeX
\family default
способен обнаруживать такие распространенные ошибки:
\end_layout
\begin_layout Itemize
Обнаружение многоточия:
\begin_inset Newline newline
\end_inset
Используйте \SpecialChar ldots
вместо ...
\end_layout
\begin_layout Itemize
Нет пробела перед скобками и/или после них:
\begin_inset Newline newline
\end_inset
( неправильные пробелы )
\end_layout
\begin_layout Itemize
Использование стандартного пробела после общепринятых сокращений:
\begin_inset Newline newline
\end_inset
т.
\begin_inset space \thinspace{}
\end_inset
е.
\begin_inset space \space{}
\end_inset
это слишком большой промежуток.
\end_layout
\begin_layout Itemize
Использование пробела в конце предложения,
когда последнее предложение заканчивается заглавной буквой:
\begin_inset Newline newline
\end_inset
Это ТЕСТ.
И это неправильный промежуток.
\end_layout
\begin_layout Itemize
Пробел перед метками и аналогичными объектами:
\begin_inset Newline newline
\end_inset
Метка должна прилегать вплотную к тексту,
чтобы не оказаться на другой странице.
\begin_inset CommandInset label
LatexCommand label
name "sec:chktex"
\end_inset
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Эта сноска может расположиться не на
\begin_inset Quotes rld
\end_inset
своей
\begin_inset Quotes rrd
\end_inset
странице.
\end_layout
\end_inset
Метка отделена от текста.
\end_layout
\begin_layout Itemize
Обычные пробелы перед ссылками вместо неразрывных пробелов:
\begin_inset Newline newline
\end_inset
Может получиться,
что текст будет разрываться между текстом и номером ссылки.
См.
раздел
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:chktex"
\end_inset
.
\end_layout
\begin_layout Itemize
Использование «x» вместо
\begin_inset Formula $\times$
\end_inset
между числами:
\begin_inset Newline newline
\end_inset
2x2 выглядит непрофессионально,
по сравнению с
\begin_inset Formula $2\times2$
\end_inset
.
\end_layout
\begin_layout Standard
и многое другое … Это неоценимый инструмент,
когда вы дорабатываете документ перед печатью,
и его следует запускать сразу после обязательной проверки орфографии и перед тем,
как приступить к тонкой настройке верстки.
\end_layout
\begin_layout Subsection
Использование
\end_layout
\begin_layout Standard
Если у вас установлена эта программа,
использовать ее просто —
выберите
\family sans
Инструменты\SpecialChar menuseparator
Проверить TeX
\family default
.
Это заставит \SpecialChar LyX
сгенерировать файл \SpecialChar LaTeX
текущего документа,
запустит
\family sans
ChkTeX
\family default
для его проверки,
а затем вставит «блоки ошибок» с предупреждениями от
\family sans
ChkTeX
\family default
,
если таковые были.
Предупреждения будут размещены рядом с местом ошибки,
и вы можете быстро найти их,
используя пункт меню
\family sans
Навигация\SpecialChar menuseparator
Ошибка
\family default
или сочетание клавиш
\family sans
C-g
\family default
из файла связывания
\family typewriter
cua
\family default
,
по умолчанию.
Откройте блоки ошибок,
щелкнув их мышью,
или используйте горячую клавишу
\family sans
C-i
\family default
из привязок
\family sans
cua
\family default
,
или
\family sans
C-o
\family default
для альтернативного файла привязки
\family typewriter
emacs
\family default
.
Прочтите предупреждение и исправьте ошибку,
если это ошибка.
Если вам сложно понять,
о чем идет речь,
вы можете это проигнорировать.
Помните,
что есть скрытый слой (сгенерированный код \SpecialChar LaTeX
) между документом на экране и техническими деталями вызова
\family sans
ChkTeX
\family default
,
и это может сделать некоторые предупреждения загадочными или просто глупыми.
\end_layout
\begin_layout Standard
Данный документ представляет собой отличную платформу для тестирования этой функции,
и он должен вызвать несколько предупреждений,
с которыми вы можете поэкспериментировать.
Но поскольку компьютеры недостаточно
\begin_inset Quotes rld
\end_inset
умны
\begin_inset Quotes rrd
\end_inset
,
следует быть готовым,
что большинство предупреждений будут ложными.
\end_layout
\begin_layout Subsection
Настройка
\end_layout
\begin_layout Standard
Несмотря на то,
что
\family sans
Chk\SpecialChar TeX
\family default
во многом настраиваемый и расширяемый,
вы не должны ожидать,
что таким образом решите все проблемы с
\family sans
Chk\SpecialChar TeX
\family default
в \SpecialChar LyX
.
Поскольку \SpecialChar LyX
должен генерировать несколько специальных файлов \SpecialChar LaTeX
,
чтобы иметь возможность сопоставить номера строк из вывода
\family sans
Chk\SpecialChar TeX
\family default
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Вы можете проверить конкретный вывод
\family typewriter
chktex
\family default
,
используя
\family sans
Документ\SpecialChar menuseparator
Журнал LaTeX
\family default
сразу после запуска
\family typewriter
chktex
\family default
.
\end_layout
\end_inset
с внутренней структурой документа,
некоторые из предупреждений не будут отображаться правильно.
Вы можете сделать две вещи:
\end_layout
\begin_layout Itemize
Точно настройте командную строку вызова
\family sans
Chk\SpecialChar TeX
\family default
с помощью
\family sans
Инструменты\SpecialChar menuseparator
Настройки\SpecialChar menuseparator
Вывод\SpecialChar menuseparator
LaTeX\SpecialChar menuseparator
Команда CheckTeX
\family default
или в глобальном файле конфигурации установки
\family sans
Chk\SpecialChar TeX
\family default
(обычно в файле
\family typewriter
chktexrc
\family default
).
Ниже приведено,
какие предупреждения можно включать и отключать в командной строке.
\end_layout
\begin_layout Itemize
Экспортируйте свой документ как файл \SpecialChar LaTeX
с помощью
\family sans
Файл\SpecialChar menuseparator
Экспортировать в\SpecialChar menuseparator
LaTeX (\SpecialChar ldots
)
\family default
и запустите на нем
\family typewriter
chktex
\family default
вручную.
При таком вызове может быть затруднительно найти соответствующее место внутри \SpecialChar LyX
-документа,
но,
проявив немного настойчивости,
вы сможете это сделать.
\end_layout
\begin_layout Standard
Далее следуют предупреждающие сообщения,
которые можно включить и отключить в настройках.
Используйте
\family typewriter
-n#
\family default
,
чтобы отключить предупреждение,
и
\family typewriter
-w#
\family default
,
чтобы включить предупреждение.
По умолчанию,
записи,
выделенные курсивом,
отключены,
так как,
опять же,
по умолчанию,
\begin_inset Quotes rld
\end_inset
\family typewriter
chktex -n1 -n3 -n6 -n9 -n22 -n25 -n30 -n38
\family default
\begin_inset Quotes rrd
\end_inset
.
\end_layout
\begin_layout Standard
Заметьте,
что вам следует использовать только параметры,
которые включают и отключают предупреждения,
потому что \SpecialChar LyX
полагается на некоторые другие параметры командной строки,
которые должны быть установлены определенным образом,
чтобы иметь возможность связываться с
\family typewriter
chktex
\family default
.
\end_layout
\begin_layout Enumerate
\size small
\emph on
Команда заканчивается пробелом.
\end_layout
\begin_layout Enumerate
\size small
Следует использовать неразрывный пробел (
\begin_inset Quotes eld
\end_inset
\family typewriter
~
\family default
\begin_inset Quotes erd
\end_inset
).
\end_layout
\begin_layout Enumerate
\size small
\emph on
Вы должны заключить предыдущие круглые скобки в
\begin_inset Quotes eld
\end_inset
\family typewriter
{}
\family default
\begin_inset Quotes erd
\end_inset
.
\end_layout
\begin_layout Enumerate
\size small
Корректирующий пробел (
\begin_inset Quotes eld
\end_inset
\family typewriter
\backslash
/
\family default
\begin_inset Quotes erd
\end_inset
) в буфере без курсива.
\end_layout
\begin_layout Enumerate
\size small
Корректирующий пробел (
\begin_inset Quotes eld
\end_inset
\family typewriter
\backslash
/
\family default
\begin_inset Quotes erd
\end_inset
) встречается более одного раза.
\end_layout
\begin_layout Enumerate
\size small
\emph on
Отсутствует корректирующий пробел (
\begin_inset Quotes eld
\end_inset
\family typewriter
\backslash
/
\family default
\begin_inset Quotes erd
\end_inset
).
\end_layout
\begin_layout Enumerate
\size small
Команда акцента
\begin_inset Quotes eld
\end_inset
\family typewriter
cmd
\family default
\begin_inset Quotes erd
\end_inset
требует использования
\begin_inset Quotes eld
\end_inset
\family typewriter
cmd
\family default
\begin_inset Quotes erd
\end_inset
.
\end_layout
\begin_layout Enumerate
\size small
Возможно,
использована неправильная длина тире.
\end_layout
\begin_layout Enumerate
\size small
\emph on
Ожидается
\begin_inset Quotes eld
\end_inset
\family typewriter
%s
\family default
\begin_inset Quotes erd
\end_inset
,
найдено
\begin_inset Quotes eld
\end_inset
\family typewriter
%s
\family default
\begin_inset Quotes erd
\end_inset
.
\end_layout
\begin_layout Enumerate
\size small
Найдено одиночное
\begin_inset Quotes eld
\end_inset
\family typewriter
%s
\family default
\begin_inset Quotes erd
\end_inset
.
\end_layout
\begin_layout Enumerate
\size small
Вы должны использовать
\begin_inset Quotes eld
\end_inset
\family typewriter
%s
\family default
\begin_inset Quotes erd
\end_inset
,
чтобы получить многоточие.
\end_layout
\begin_layout Enumerate
\size small
Возможно,
следует использовать пробел между словами (
\begin_inset Quotes eld
\end_inset
\family typewriter
\backslash
\family default
\begin_inset Quotes eld
\end_inset
).
\end_layout
\begin_layout Enumerate
\size small
Возможно,
следует использовать пробел между предложениями (
\begin_inset Quotes eld
\end_inset
\family typewriter
\backslash
@
\family default
\begin_inset Quotes erd
\end_inset
).
\end_layout
\begin_layout Enumerate
\size small
Не удалось найти аргумент для команды.
\end_layout
\begin_layout Enumerate
\size small
Для
\begin_inset Quotes eld
\end_inset
\family typewriter
%s
\family default
\begin_inset Quotes erd
\end_inset
совпадений не найдено.
\end_layout
\begin_layout Enumerate
\size small
Математический режим все еще включен в конце файла \SpecialChar LaTeX
.
\end_layout
\begin_layout Enumerate
\size small
Количество
\begin_inset Quotes eld
\end_inset
\family typewriter
char
\family default
\begin_inset Quotes erd
\end_inset
не совпадает с количеством
\begin_inset Quotes eld
\end_inset
\family typewriter
char
\family default
\begin_inset Quotes erd
\end_inset
.
\end_layout
\begin_layout Enumerate
\size small
Вы должны использовать
\family typewriter
\begin_inset Quotes eld
\end_inset
\family default
или
\family typewriter
\begin_inset Quotes erd
\end_inset
\family default
вместо
\begin_inset Quotes eld
\end_inset
\family typewriter
"
\family default
\begin_inset Quotes erd
\end_inset
.
\end_layout
\begin_layout Enumerate
\size small
Вы должны использовать "
\family typewriter
'
\family default
" (ASCII 39) вместо "
\family typewriter
´
\family default
" (ASCII 180).
\end_layout
\begin_layout Enumerate
\size small
Обнаружен указанный пользователем шаблон.
\end_layout
\begin_layout Enumerate
\size small
Эта команда может быть не предназначена.
\end_layout
\begin_layout Enumerate
\size small
\emph on
Комментарий отображается.
\end_layout
\begin_layout Enumerate
\size small
Лучше будут смотреться
\family typewriter
''
\backslash
,'
\family default
или
\family typewriter
'
\backslash
,''
\family default
.
\end_layout
\begin_layout Enumerate
\size small
Удалите этот пробел,
чтобы поддерживать правильные ссылки на страницы.
\end_layout
\begin_layout Enumerate
\size small
\emph on
Вы можете поместить это между парой
\begin_inset Quotes eld
\end_inset
\family typewriter
{}
\family default
\begin_inset Quotes erd
\end_inset
.
\end_layout
\begin_layout Enumerate
\size small
Перед знаком препинания следует убрать пробелы.
\end_layout
\begin_layout Enumerate
\size small
Не удалось выполнить команду \SpecialChar LaTeX
.
\end_layout
\begin_layout Enumerate
\size small
Не используйте
\family typewriter
\backslash
/
\family default
перед малыми знаками препинания.
\end_layout
\begin_layout Enumerate
\family typewriter
\size small
$
\backslash
times$
\family default
здесь может выглядеть красивее.
\end_layout
\begin_layout Enumerate
\size small
\emph on
В выводе обнаружены множественные пробелы.
\end_layout
\begin_layout Enumerate
\size small
Этот текст может быть проигнорирован.
\end_layout
\begin_layout Enumerate
\size small
Используйте
\family typewriter
\begin_inset Quotes eld
\end_inset
\family default
в начале цитаты,
а не
\family typewriter
'
\family default
.
\end_layout
\begin_layout Enumerate
\size small
Используйте
\family typewriter
'
\family default
в конце цитаты,
а не
\family typewriter
\begin_inset Quotes eld
\end_inset
\family default
.
\end_layout
\begin_layout Enumerate
\size small
Не смешивайте цитаты.
\end_layout
\begin_layout Enumerate
\size small
Возможно,
вам следует использовать вместо этого
\begin_inset Quotes eld
\end_inset
\family typewriter
cmd
\family default
\begin_inset Quotes erd
\end_inset
.
\end_layout
\begin_layout Enumerate
\size small
Вы должны поставить пробел перед круглыми скобками и/или после них.
\end_layout
\begin_layout Enumerate
\size small
Вам следует избегать пробелов перед/после скобок.
\end_layout
\begin_layout Enumerate
\size small
\emph on
Вы не должны использовать знаки препинания перед/после кавычек.
\end_layout
\begin_layout Enumerate
\size small
Обнаружен двойной пробел.
\end_layout
\begin_layout Enumerate
\size small
Вы должны поместить знаки препинания вне/внутри выделенного математического режима.
\end_layout
\begin_layout Enumerate
\size small
Вам не следует использовать примитивный \SpecialChar TeX
в коде \SpecialChar LaTeX
.
\end_layout
\begin_layout Enumerate
\size small
Вы должны удалить пробелы перед
\begin_inset Quotes eld
\end_inset
\family typewriter
%s
\family default
\begin_inset Quotes erd
\end_inset
.
\end_layout
\begin_layout Enumerate
\size small
За
\begin_inset Quotes eld
\end_inset
\family typewriter
%s
\family default
\begin_inset Quotes erd
\end_inset
обычно не следует
\begin_inset Quotes eld
\end_inset
\family typewriter
%c
\family default
\begin_inset Quotes erd
\end_inset
.
\end_layout
\begin_layout Standard
В дальнейших версиях \SpecialChar LyX
мы надеемся предоставить более полный интерфейс для этого инструмента (и его более ограниченного варианта
\family typewriter
lacheck
\family default
),
чтобы использовать всю его мощь.
Но и сейчас то,
что уже реализовано,
вполне полезно:
попробуйте это на одном из ваших имеющихся (не слишком коротких) документов.
\end_layout
\begin_layout Section
Управление версиями в \SpecialChar LyX
\end_layout
\begin_layout Subsection
Введение
\end_layout
\begin_layout Standard
\SpecialChar LyX
поддерживает некоторые из основных команд RCS/CVS/SVN/GIT.
Если вам нужно что-то более сложное,
то придется сделать это вручную.
\end_layout
\begin_layout Standard
Также обратите внимание,
что поддержка CVS не так хороша,
как поддержка SVN,
поэтому мы рекомендуем использовать SVN.
Хорошим местом для начала изучения является
\begin_inset Quotes rld
\end_inset
SVN Book
\begin_inset Quotes rrd
\end_inset
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
\begin_inset Flex URL
status open
\begin_layout Plain Layout
http://svnbook.red-bean.com/
\end_layout
\end_inset
\end_layout
\end_inset
.
В случае RCS вы должны прочитать «rcsintro» (man-страница,
читайте ее с помощью
\family typewriter
man rcsintro
\family default
).
Этот файл описывает все основные функции RCS.
Вы должны заметить комментарий о каталоге RCS и понятие основного файла RCS (файл,
оканчивающийся на
\family typewriter
,v
\family default
).
\end_layout
\begin_layout Standard
Прежде чем начать использовать возможности управления версиями в \SpecialChar LyX
,
вы должны ознакомиться с вашей системой управления версиями.
Реализация \SpecialChar LyX
подразумевает использование свежей версии пакета GNU RCS или CVS/SVN —
никаких гарантий для более старых версий не предоставляется.
Большинство сообщений журнала в настоящее время не отображаются после операций —
вы можете проверить их на панели сообщений,
если есть сомнения в успешности выполнения операций.
Обычные пользователи оценят панель инструментов
\family sans
Управление версиями
\family default
,
которую можно включить с помощью
\family sans
Вид\SpecialChar menuseparator
Панели инструментов\SpecialChar menuseparator
Управление версиями
\family default
.
\end_layout
\begin_layout Standard
Для введения собственных внешних команд обратитесь к описанию
\family typewriter
vc-command
\family default
в руководстве
\shape italic
Функции \SpecialChar LyX
\shape default
.
\end_layout
\begin_layout Standard
Настоятельно рекомендуется хранить документы в несжатом формате при использовании управления версиями (снимите флажок
\family sans
Документ\SpecialChar menuseparator
Сжимать документ
\family default
,
если он установлен):
несжатые документы \SpecialChar LyX
являются текстовыми файлами и,
следовательно,
доступны для объединения двух разных версий системами управления версиями.
Сжатые документы \SpecialChar LyX
представляют собой двоичные файлы,
которые не могут быть объединены такими системами.
\end_layout
\begin_layout Subsection
Команды RCS в \SpecialChar LyX
\end_layout
\begin_layout Standard
В следующих разделах описываются команды RCS,
поддерживаемые \SpecialChar LyX
.
Вы можете найти их в меню
\family sans
Файл\SpecialChar menuseparator
Управление версиями
\family default
.
\SpecialChar LyX
был протестирован на RCS 5.7/5.8.
\end_layout
\begin_layout Subsubsection
\family sans
Регистрация
\end_layout
\begin_layout Standard
Если ваш документ еще не находится под управлением версиями,
то единственный пункт,
показываемый в этом меню —
\family sans
Зарегистрировать
\family default
,
иначе этот пункт он не отображается.
\end_layout
\begin_layout Standard
Эта команда зарегистрирует ваш документ в RCS (если вы не находитесь в каталоге,
управляемом CVS).
Для этого потребуется в интерактивном режиме предоставить начальное описание документа.
Документ после этого устанавливается в режим
\begin_inset Quotes rld
\end_inset
только для чтения
\begin_inset Quotes rrd
\end_inset
,
и вам необходимо будет выполнить
\family sans
Извлечение для правки
\family default
,
прежде чем вносить в него какие-либо изменения.
Документ,
находящийся под управлением версиями,
имеет пометку «[RCS:
<версия> <блокировщик>]»,
привязанную к имени файла в минибуфере.
\end_layout
\begin_layout Standard
Выполняемая команда RCS:
\end_layout
\begin_layout LyX-Code
\family typewriter
ci -q -u -i -t-"<начальное-описание>" <имя-файла>
\end_layout
\begin_layout Standard
Прочтите вывод команды
\family typewriter
man ci
\family default
,
чтобы разобраться с переключателями.
\end_layout
\begin_layout Subsubsection
\family sans
Фиксация изменений
\end_layout
\begin_layout Standard
Когда вы заканчиваете редактировать файл,
то фиксируете изменения.
Когда вы это делаете,
будет предложено описать изменения.
Это описание сохраняется в журнале истории.
Номер версии увеличивается,
изменения применяются к главному файлу RCS,
документ разблокируется (для вас) и устанавливается в режим
\begin_inset Quotes rld
\end_inset
только для чтения
\begin_inset Quotes rrd
\end_inset
(для других).
\end_layout
\begin_layout Itemize
RCS-команда:
\family typewriter
ci -q -u -m"<описание>" <имя-файла>
\end_layout
\begin_layout Subsubsection
\family sans
Извлечение для правки
\end_layout
\begin_layout Standard
Таким образом вы заблокируете документ,
и только вы сможете его редактировать.
Это также переведет документ в режим
\begin_inset Quotes rld
\end_inset
чтение-запись
\begin_inset Quotes rrd
\end_inset
только для вас.
Строка состояния будет отражать то,
что вы заблокировали файл.
Вы можете продолжать редактирование,
а по завершении сохраняете сделанные изменения.
\end_layout
\begin_layout Itemize
RCS-команда:
\family typewriter
co -q -l <имя-файла>
\end_layout
\begin_layout Subsubsection
\family sans
Откат к версии из репозитория
\end_layout
\begin_layout Standard
Это действие приведет к отмене всех изменений,
внесенных в документ с момента последней фиксации.
Перед отменой изменений вы получите соответствующее предупреждение.
\end_layout
\begin_layout Itemize
RCS-команда:
\family typewriter
co -f -u<версия> <имя-файла>
\end_layout
\begin_layout Subsubsection
\family sans
Копирование
\end_layout
\begin_layout Standard
Это действие создаст копию текущего документа.
Поскольку RCS изначально не поддерживает операции копирования,
история версий не сохраняется,
а копия добавляется как новый файл.
Требуется
\begin_inset Quotes rld
\end_inset
чистый
\begin_inset Quotes rrd
\end_inset
документ без каких-либо изменений с момента последней проверки,
для которого надо будет указать имя файла и описание операции копирования.
После этого создастся копия,
как локально,
так и в репозитории.
Если родительские каталоги копируемого и исходного документа различаются,
все относительные пути включаемых файлов копии корректируются (как в
\family sans
Файл\SpecialChar menuseparator
Сохранить как…
\family default
).
В итоге,
вместо оригинального документа загружается копия.
\end_layout
\begin_layout Labeling
\labelwidthstring 00.00.0000
RCS-команды:
\begin_inset space ~
\end_inset
\begin_inset Newline newline
\end_inset
Скопируйте
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\family typewriter
\begin_inset Quotes qld
\end_inset
<имя-файла>
\begin_inset Quotes qld
\end_inset
\end_layout
\end_inset
в
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\family typewriter
\begin_inset Quotes qld
\end_inset
<новое-имя-файла>
\begin_inset Quotes qld
\end_inset
\end_layout
\end_inset
\begin_inset Newline newline
\end_inset
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
ci -q -u
\family typewriter
-i
\begin_inset Quotes qld
\end_inset
<новое-имя-файла>
\begin_inset Quotes qld
\end_inset
\end_layout
\end_inset
\end_layout
\begin_layout Subsubsection
\family sans
Отмена последней фиксации
\end_layout
\begin_layout Standard
Это аналогично тому,
что последней фиксации не было.
В документ,
загруженный в \SpecialChar LyX
,
никакие изменения не вносятся,
но последняя версия удаляется из главного файла RCS.
\end_layout
\begin_layout Itemize
RCS-команда:
\family typewriter
rcs -o<версия> <имя-файла>
\end_layout
\begin_layout Subsubsection
\family sans
Просмотр истории
\end_layout
\begin_layout Standard
Показывается полная история версий документа RCS.
Вывод команды
\family typewriter
rlog <имя-файла>
\family default
отображается в браузере.
См.
вывод команды
\family typewriter
man rlog
\family default
для получения дополнительной информации.
\end_layout
\begin_layout Subsubsection
Информация о версии
\end_layout
\begin_layout Standard
\SpecialChar LyX
поддерживает номер версии RCS,
имя автора,
дату и время последней фиксации.
Все это появляется в выводе команды
\family typewriter
rlog -r <имя-файла>
\family default
.
Подробности см.
в
\begin_inset CommandInset ref
LatexCommand ref
reference "subsec:VCS-Revision-Information"
\end_inset
.
\end_layout
\begin_layout Subsection
CVS-команды в \SpecialChar LyX
\end_layout
\begin_layout Standard
\SpecialChar LyX
поддерживает только некоторое подмножество операций CVS.
Вы можете найти соответствующие команды в подменю
\family sans
File\SpecialChar menuseparator
Управление версиями
\family default
.
Система управления версиями SVN (см.
ниже) обладает более развитыми возможностями,
поэтому по возможности используйте именно ее вместо CVS.
\end_layout
\begin_layout Subsubsection
\family sans
Общее использование CVS
\end_layout
\begin_layout Standard
Если вы начинаете работать с CVS с нуля,
то необходимо создать свой репозиторий и получить рабочую копию с помощью внешних инструментов.
При использовании конфигурации
\begin_inset Quotes rld
\end_inset
клиент-сервер
\begin_inset Quotes rrd
\end_inset
,
вам может потребоваться войти в систему с предъявлением пароля перед выполнением первой загрузки репозитория.
\end_layout
\begin_layout Standard
Если ваши документы находятся под управлением версиями и другие пользователи используют тот же репозиторий,
могут возникнуть проблемы,
когда производятся изменения одного и того же фрагмента документа.
Стандартные репозитории CVS не работают с механизмом блокировки файлов.
Конфликты возникают только в том случае,
если пользователи не соглашаются с содержанием одной и той же части документа.
Если они общаются регулярно,
подобные конфликты возникают редко.
Тем не менее,
некоторым пользователям нравится работать с так называемыми «зарезервированными извлечениями».
Если они этим пользуются,
рабочая копия всех файлов будет доступна только для чтения при первом извлечении,
а редактирование можно будет проводить только после использования специальной команды,
чтобы сделать рабочую копию доступной для записи.
После того,
как изменения будут зафиксированы,
рабочая копия возвращается в состояние
\begin_inset Quotes rld
\end_inset
только для чтения
\begin_inset Quotes rrd
\end_inset
.
В \SpecialChar LyX
нужно отредактировать файл
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
.cvsrc
\end_layout
\end_inset
и добавить строку
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
cvs -r
\end_layout
\end_inset
для работы с зарезервированными извлечениями.
Преимущество заключается в возможности увидеть,
кто использует доступную для записи копию какого-либо документа.
Не гарантируется,
что только один пользователь сделает копию доступной для записи в один и тот же момент времени.
\end_layout
\begin_layout Standard
\SpecialChar LyX
пытается угадать,
используете ли вы зарезервированные или незарезервированные извлечения.
Если ваша рабочая копия предназначена только для чтения или она доступна для записи,
а дополнительная копия вашего документа существует в подкаталоге CVS/Base,
то она —
зарезервированная,
в противном случае предполагается не зарезервированное извлечение.
При обнаружении зарезервированного извлечения вы можете использовать
\family sans
Извлечение
\family default
,
чтобы сделать рабочую копию доступной для записи,
если она доступна только для чтения.
После этого возможна
\family sans
Фиксация
\family default
,
которая сделает вашу рабочую копию,
после переноса изменений в репозиторий,
снова доступной только для чтения.
\end_layout
\begin_layout Standard
Более подробную информацию о CVS можно найти здесь
\begin_inset Flex URL
status collapsed
\begin_layout Plain Layout
http://www.nongnu.org/cvs
\end_layout
\end_inset
и здесь
\begin_inset Flex URL
status collapsed
\begin_layout Plain Layout
http://ximbiot.com/cvs
\end_layout
\end_inset
.
\end_layout
\begin_layout Standard
Ознакомьтесь с выводом команды
\family typewriter
man cvs
\family default
,
чтобы понять подкоманды и переключатели,
приведенные далее.
\end_layout
\begin_layout Subsubsection
\family sans
Регистрация
\end_layout
\begin_layout Standard
Если ваш документ не находится под управлением версиями,
то единственный пункт,
показываемый в этом меню —
\family sans
Зарегистрировать
\family default
,
иначе этот пункт не отображается.
\end_layout
\begin_layout Standard
Указанное действие зарегистрирует ваш документ в CVS
\emph on
только
\emph default
в том случае,
если у вас уже имеется каталог документов под управлением CVS (в частности,
существует
\family typewriter
CVS/Entries
\family default
).
Это означает,
что вам придется создавать или извлекать архив самостоятельно,
используя внешние инструменты (если этого не было сделано,
\SpecialChar LyX
зарегистрирует документ в RCS).
\end_layout
\begin_layout Standard
Затем в интерактивном режиме необходимо будет предоставить начальное описание документа.
Не забывайте,
что регистрируемый файл пока еще не зафиксирован.
\end_layout
\begin_layout Standard
Выполняемая CVS-команда:
\family typewriter
\begin_inset Newline newline
\end_inset
cvs -q add -m"<введенное-сообщение>" "<имя-файла>"
\end_layout
\begin_layout Standard
Термин «
\family typewriter
<имя-файла>
\family default
» для этой и для всех других команд CVS является аббревиатурой для «изменить текущий рабочий каталог на местоположение файла и использовать имя файла без компонента пути в качестве аргумента».
\end_layout
\begin_layout Subsubsection
\family sans
Фиксация изменений
\end_layout
\begin_layout Standard
Когда вы закончите редактировать файл,
то зафиксируйте изменения.
Когда вы делаете это при измененном документе,
будет запрос создать описание изменения.
После этого изменения попадут в репозиторий.
В случае,
если вы не изменили документ,
но обнаружено зарезервированное извлечение,
резервирование,
сделанное при
\family sans
Извлечении
\family default
,
отменяется.
\end_layout
\begin_layout Labeling
\labelwidthstring 00.00.0000
CVS-команды:
\begin_inset space ~
\end_inset
\begin_inset Newline newline
\end_inset
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
cvs
\family typewriter
-q commit -m"<описание>" "<имя-файла>"
\end_layout
\end_inset
или
\begin_inset Newline newline
\end_inset
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
cvs -q unedit
\family typewriter
"<имя-файла>"
\end_layout
\end_inset
\end_layout
\begin_layout Subsubsection
\family sans
Извлечение для правки
\end_layout
\begin_layout Standard
Когда вы используете репозиторий совместно с другими,
вам,
возможно,
придется включить их изменения в вашу рабочую копию.
\end_layout
\begin_layout Standard
CVS-команда:
\family typewriter
cvs -q update "<имя-файла>"
\end_layout
\begin_layout Standard
Если обнаружено извлечение только для чтения,
рабочая копия становится доступной для записи и зарезервированной.
\end_layout
\begin_layout Standard
CVS-команда:
\family typewriter
cvs -q edit "<имя-файла>"
\end_layout
\begin_layout Subsubsection
\family sans
Откат к версии из репозитория
\end_layout
\begin_layout Standard
Это приведет к отмене всех изменений,
внесенных в документ с момента последней фиксации.
Перед отменой изменений вы получите предупреждение.
Сначала будет удален файл,
а затем запустится команда обновления CVS.
\end_layout
\begin_layout Standard
CVS-команда:
\family typewriter
cvs -q update "<имя-файла>"
\end_layout
\begin_layout Standard
Если обнаружено зарезервированное извлечение,
а в рабочей копии нет изменений,
отменяется только резервирование.
\end_layout
\begin_layout Standard
CVS-команда:
\family typewriter
cvs -q unedit "<имя-файла>"
\end_layout
\begin_layout Subsubsection
\family sans
Копирование
\end_layout
\begin_layout Standard
Это действие создаст копию текущего документа.
Поскольку CVS изначально не поддерживает операции копирования,
история версий не сохраняется,
а копия добавляется как новый файл.
Требуется
\begin_inset Quotes rld
\end_inset
чистый
\begin_inset Quotes rrd
\end_inset
документ без каких-либо изменений с момента последней проверки,
для которого надо будет указать имя файла и описание операции копирования.
После этого создастся копия,
как локально,
так и в репозитории.
Если родительские каталоги копируемого и исходного документа различаются,
все относительные пути включаемых файлов копии корректируются (как в
\family sans
Файл\SpecialChar menuseparator
Сохранить как…
\family default
).
В итоге,
вместо оригинального документа загружается копия.
\end_layout
\begin_layout Labeling
\labelwidthstring 00.00.0000
CVS-команды:
\begin_inset space ~
\end_inset
\begin_inset Newline newline
\end_inset
Скопируйте
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
"<имя-файла>"
\end_layout
\end_inset
в
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
"<новое-имя-файла>"
\end_layout
\end_inset
\begin_inset Newline newline
\end_inset
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
cvs -q add "<новое-имя-файла>"
\end_layout
\end_inset
\end_layout
\begin_layout Subsubsection
\family sans
Переименование
\end_layout
\begin_layout Standard
Этим действием текущий документ переименовывается.
Поскольку CVS изначально не поддерживает операции переименования,
история версий не сохраняется,
переименованный документ добавляется как новый файл,
а исходный документ удаляется.
Требуется чистый документ без каких-либо изменений с момента последней фиксации.
Вам будет предложено ввести имя файла и описание операции переименования.
После этого документ переименовывается как локально,
так и в репозитории.
Если родительские каталоги нового и старого файлов различаются,
все относительные пути включаемых файлов корректируются (наподобие использования
\family sans
Файл\SpecialChar menuseparator
Сохранить как…
\family default
).
Наконец,
документ перезагружается с новым именем.
\end_layout
\begin_layout Labeling
\labelwidthstring 00.00.0000
CVS-команды:
\begin_inset space ~
\end_inset
\begin_inset Newline newline
\end_inset
Переименуйте
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
"<имя-файла>"
\end_layout
\end_inset
на
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
"<новое-имя-файла>"
\end_layout
\end_inset
\begin_inset Newline newline
\end_inset
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
cvs -q add "<новое-имя-файла>"
\end_layout
\end_inset
\begin_inset Newline newline
\end_inset
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
cvs -q remove "<имя-файла>"
\end_layout
\end_inset
\end_layout
\begin_layout Subsubsection
Обновление локального каталога,
извлеченного из репозитория
\end_layout
\begin_layout Standard
По мере того,
как ваши документы становятся более сложными,
они могут содержать вложенные документы и изображения,
включая внешние
\family typewriter
.tex
\family default
файлы и т.
\begin_inset space \thinspace{}
\end_inset
п.,
использование управления версиями становится все более сложным.
\SpecialChar LyX
поддерживает обновление всего дерева,
в котором находится документ.
Это становится особенно полезным,
когда вы сотрудничаете с людьми,
которые не имеют подробных знаний об использовании CVS и не имеют намерений по размещению дополнительных материалов в репозитории.
Вы должны организовать структуру файлов так,
чтобы все внешние файлы находились в одном каталоге или подкаталогах документа.
В любом случае рекомендуется хранить составные документы в дополнительном каталоге.
\end_layout
\begin_layout Standard
Команда обновления локального каталога из репозитория обновляет весь каталог.
При обнаружении локальных изменений пользователь получает предупреждение перед запуском обновления.
В случае конфликтов слияния обе версии конфликтующих частей документа помещаются в окончательный документ.
Вы должны просмотреть и исправить результат слияния.
Вы обнаружите,
что конфликты заключены в скобочные цепочки
\begin_inset Formula $<<<<<<<$
\end_inset
и
\begin_inset Formula $>>>>>>>$
\end_inset
,
разделенные
\begin_inset Formula $=======$
\end_inset
.
Первая часть —
это ваша версия,
как и до операции обновления,
с добавлением имени документа.
Вторая —
это версия репозитория с номером версии после последовательности >-знаков.
\end_layout
\begin_layout Labeling
\labelwidthstring 00.00.0000
CVS-команды:
\begin_inset space ~
\end_inset
\begin_inset Newline newline
\end_inset
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
cd $path;
cvs diff
\family typewriter
"."
\end_layout
\end_inset
(узнайте,
обнаружены ли изменения)
\begin_inset Newline newline
\end_inset
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
cd $path;
cvs -q update
\family typewriter
"."
\end_layout
\end_inset
\end_layout
\begin_layout Standard
где
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
$path
\end_layout
\end_inset
—
путь к документу.
\end_layout
\begin_layout Subsubsection
\family sans
Просмотр истории
\end_layout
\begin_layout Standard
Показывается полная история изменений документа CVS.
Вывод журнала командой
\family typewriter
cvs log "<имя-файла>"
\family default
отображается в браузере.
\end_layout
\begin_layout Subsubsection
Информация о версии
\end_layout
\begin_layout Standard
\SpecialChar LyX
поддерживает номер версии CVS,
имя автора,
дату и время последней фиксации.
Все это можно посмотреть в выводе команды
\family typewriter
cvs log -r <имя-файла>
\family default
.
См.
детали в
\begin_inset CommandInset ref
LatexCommand ref
reference "subsec:VCS-Revision-Information"
\end_inset
.
\end_layout
\begin_layout Subsection
SVN-команды в \SpecialChar LyX
\end_layout
\begin_layout Standard
\SpecialChar LyX
поддерживает SVN частично.
Команды SVN можно найти в
\family sans
Файл\SpecialChar menuseparator
Управление версиями
\family default
.
Обратите внимание,
что если вы используете защищенный паролем доступ к репозиторию через ssh,
у вас его запросят в окне терминала.
\SpecialChar LyX
был протестирован на SVN версий 1.5–1.8
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Большинство команд будет работать и с версией 1.4,
см.
\begin_inset CommandInset ref
LatexCommand ref
reference "subsec:SVN-Repo-Update"
\end_inset
.
Похоже,
в настоящее время существует проблема с разрешениями в SVN 1.8,
связанная с отменой изменений,
когда файл заблокирован.
\end_layout
\end_inset
.
\end_layout
\begin_layout Subsubsection
\family sans
Регистрация
\end_layout
\begin_layout Standard
Если ваш документ не находится под управлением версиями,
то единственный пункт,
показываемый в меню
\family sans
Файл\SpecialChar menuseparator
Управление версиями
\family default
,
—
\family sans
Зарегистрировать
\family default
,
иначе этот пункт не отображается.
\end_layout
\begin_layout Standard
Эта команда зарегистрирует документ в SVN только в том случае,
если у вас уже имеется каталог документов под управлением SVN (в частности,
существует файл
\family typewriter
.svn/entries
\family default
).
Это означает,
что вы должны самостоятельно проверить архив.
\end_layout
\begin_layout Standard
Затем в интерактивном режиме необходимо будет предоставить начальное описание документа.
Не забывайте,
что регистрируемый файл пока еще не зафиксирован.
\end_layout
\begin_layout Standard
Выполняемая SVN-команда:
\family typewriter
svn add -q
\begin_inset Quotes qld
\end_inset
<имя-файла>
\begin_inset Quotes qld
\end_inset
\end_layout
\begin_layout Standard
Просмотрите вывод команды
\family typewriter
man svn
\family default
,
чтобы разобраться с переключателями.
\end_layout
\begin_layout Subsubsection
\family sans
Фиксация изменений
\end_layout
\begin_layout Standard
Когда вы закончите редактировать файл,
то зафиксируйте изменения.
При этом вам понадобится описать изменения и они зафиксируются.
\end_layout
\begin_layout Standard
SVN-команда:
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Если не включена блокировка.
См.
раздел
\begin_inset CommandInset ref
LatexCommand ref
reference "subsec:SVN-File-Locking"
\end_inset
.
\end_layout
\end_inset
\family typewriter
svn commit -q -m"<описание>" <имя-файла>
\end_layout
\begin_layout Subsubsection
\family sans
Извлечение для правки
\end_layout
\begin_layout Standard
Перед использованием этой функции убедитесь,
что вы понимаете слияние и разрешение конфликтов в SVN,
потому что все конфликты должны разрешаться вами вручную!
\end_layout
\begin_layout Standard
SVN-команда:
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
То же самое.
\end_layout
\end_inset
\family typewriter
svn update --non-interactive
\begin_inset Quotes qld
\end_inset
<имя-файла>
\begin_inset Quotes qld
\end_inset
\end_layout
\begin_layout Subsubsection
\family sans
Откат к версии из репозитория
\end_layout
\begin_layout Standard
Это приведет к отмене всех изменений,
внесенных в документ с момента последней фиксации.
Перед отменой изменений вы получите предупреждение.
\end_layout
\begin_layout Standard
SVN-команда:
\family typewriter
svn revert -q
\begin_inset Quotes qld
\end_inset
<имя-файла>
\begin_inset Quotes qld
\end_inset
\end_layout
\begin_layout Subsubsection
\family sans
Копирование
\end_layout
\begin_layout Standard
Это действие создает копию текущего документа,
включая историю версий.
Требуется чистый документ без каких-либо изменений с момента последней фиксации.
Вас попросят указать имя файла и описание операции копирования.
После этого будет создана копия как локально,
так и в репозитории.
Если родительские каталоги копируемого и исходного документа различаются,
все относительные пути включаемых файлов копии корректируются (как в
\family sans
Файл\SpecialChar menuseparator
Сохранить как…
\family default
).
И в итоге,
вместо оригинального документа загрузится копия.
\end_layout
\begin_layout Labeling
\labelwidthstring 00.00.0000
SVN-команды:
\begin_inset space ~
\end_inset
\begin_inset Newline newline
\end_inset
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
svn copy -q
\family typewriter
\begin_inset Quotes qld
\end_inset
<имя-файла>
\begin_inset Quotes qld
\end_inset
\begin_inset Quotes qld
\end_inset
<новое-имя-файла>
\begin_inset Quotes qld
\end_inset
\end_layout
\end_inset
\begin_inset Newline newline
\end_inset
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
svn commit
\end_layout
\end_inset
\end_layout
\begin_layout Subsubsection
\family sans
Переименование
\end_layout
\begin_layout Standard
Это действие переименовывает текущий документ,
включая историю версий.
Требуется чистый документ без каких-либо изменений с момента последней фиксации.
Вас попросят указать имя файла и описание операции переименования.
После этого документ будет переименован как локально,
так и в репозитории.
Если родительские каталоги копируемого и исходного документа различаются,
все относительные пути включаемых файлов копии корректируются (как в
\family sans
Файл\SpecialChar menuseparator
Сохранить как…
\family default
).
И в итоге,
документ перезагрузится с новым именем.
\end_layout
\begin_layout Labeling
\labelwidthstring 00.00.0000
SVN-команды:
\begin_inset space ~
\end_inset
\begin_inset Newline newline
\end_inset
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
svn move -q
\family typewriter
\begin_inset Quotes qld
\end_inset
<имя-файла>
\begin_inset Quotes qld
\end_inset
\begin_inset Quotes qld
\end_inset
<новое-имя-файла>
\begin_inset Quotes qld
\end_inset
\end_layout
\end_inset
\begin_inset Newline newline
\end_inset
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
svn commit
\end_layout
\end_inset
\end_layout
\begin_layout Subsubsection
Обновление локального каталога,
извлеченного из репозитория
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Обратите внимание,
что это будет работать только с под-версией
\begin_inset Formula $\geqslant1.5$
\end_inset
\end_layout
\end_inset
\begin_inset CommandInset label
LatexCommand label
name "subsec:SVN-Repo-Update"
\end_inset
\end_layout
\begin_layout Standard
У всех вышеперечисленных команд имеется один недостаток —
они работают только с текущим документом.
Если документ содержит изображения,
внешние
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
.tex
\end_layout
\end_inset
файлы и т.
\begin_inset space \thinspace{}
\end_inset
п.,
администрирование становится более сложным.
\SpecialChar LyX
теперь поддерживает обновление всего дерева,
в котором находится документ
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Необходимо организовать структуру файлов так,
чтобы все внешние файлы находились в одном каталоге или подкаталогах документа.
\end_layout
\end_inset
.
Это становится особенно полезным,
когда вы сотрудничаете с людьми,
которые не знают ни об управлении версиями,
ни о нюансах размещения дополнительных материалов в репозитории.
\end_layout
\begin_layout Standard
Действие обновления локального каталога из репозитория обновляет весь каталог,
и в случае конфликтов слияния остается локальная версия файлов,
поэтому непреднамеренной потери данных не происходит.
При обнаружении локальных изменений пользователь получит предупреждение перед запуском обновления.
\end_layout
\begin_layout Labeling
\labelwidthstring 00.00.0000
SVN-команды:
\begin_inset space ~
\end_inset
\begin_inset Newline newline
\end_inset
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
svn diff $path
\end_layout
\end_inset
(узнайте,
обнаружены ли изменения)
\begin_inset Newline newline
\end_inset
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
svn update --accept mine-full $path
\end_layout
\end_inset
\end_layout
\begin_layout Standard
где
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
$path
\end_layout
\end_inset
—
путь к документу.
\end_layout
\begin_layout Subsubsection
\family sans
Просмотр истории
\end_layout
\begin_layout Standard
Можно посмотреть полную историю документа SVN.
Вывод команды
\family typewriter
svn log
\begin_inset Quotes qld
\end_inset
<имя-файла>
\begin_inset Quotes qld
\end_inset
\family default
отобразится в браузере.
\end_layout
\begin_layout Subsubsection
Блокировка файлов
\begin_inset CommandInset label
LatexCommand label
name "subsec:SVN-File-Locking"
\end_inset
\end_layout
\begin_layout Standard
Обмен файлами через различные системы управления версиями создает проблему конфликтов слияния в случае,
если два разных пользователя пытаются редактировать один и тот же документ (или его части).
Когда возникает такой конфликт,
он требует
\begin_inset Quotes rld
\end_inset
ручного
\begin_inset Quotes rrd
\end_inset
вмешательства,
и разумная альтернатива в подобной ситуации —
предоставить какой-то механизм блокировки,
который гарантирует,
что только одному пользователю разрешено редактировать файл в данный момент.
\end_layout
\begin_layout Standard
В SVN имеется два механизма обеспечения взаимного исключения доступа к файлам —
блокировка и автоматическая установка прав на запись (см.
\begin_inset CommandInset ref
LatexCommand ref
reference "subsec:Automatical-Locking-Property"
\end_inset
),
базирующаяся на свойстве
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
svn:needs-lock
\end_layout
\end_inset
файла SVN
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
\begin_inset Flex URL
status open
\begin_layout Plain Layout
http://svnbook.red-bean.com/en/1.2/svn.advanced.locking.html
\end_layout
\end_inset
\end_layout
\end_inset
.
Если это свойство обнаружено для данного документа,
\SpecialChar LyX
начинает использовать блокировки SVN для редактирования документа автоматически,
и весь механизм фиксации/извлечения переключается на тот же режим,
что и для RCS.
Это,
в частности,
означает,
что \SpecialChar LyX
поддерживает два разных режима использования файлов:
\end_layout
\begin_layout Itemize
Разблокированное состояние.
Загруженный файл находится в режиме только для чтения.
Для редактирования необходимо оформить
\shape italic
извлечение
\shape default
,
которое включает обновление из репозитория и установку блокировки записи.
Если блокировку получить невозможно,
то действует разблокированное состояние.
\end_layout
\begin_layout Itemize
Заблокированное состояние.
Загруженный файл находится в «обычном» режиме редактирования.
Никакой другой пользователь не может редактировать этот файл.
\shape italic
Фиксация
\shape default
включает фиксацию изменений и снятие блокировки записи.
Если в документ не было внесено никаких изменений,
фиксация произведена не будет
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Не удивляйтесь тому,
что вам все равно будет предложено ввести сообщение о фиксации.
\end_layout
\end_inset
и только будет снята блокировка записи.
\end_layout
\begin_layout Standard
SVN-команды:
\end_layout
\begin_layout Labeling
\labelwidthstring 00.00.0000
Фиксация:
\family typewriter
svn commit -q -m"<описание>" "<имя-файла>"
\begin_inset Newline newline
\end_inset
svn unlock ""
\end_layout
\begin_layout Labeling
\labelwidthstring 00.00.0000
Извлечение:
\family typewriter
svn update "<имя-файла>"
\begin_inset Newline newline
\end_inset
svn lock "<имя-файла>"
\end_layout
\begin_layout Subsubsection
Свойство автоматической блокировки
\begin_inset CommandInset label
LatexCommand label
name "subsec:Automatical-Locking-Property"
\end_inset
\end_layout
\begin_layout Standard
Вышеупомянутая автоматическая установка разрешений на запись для файла
\family typewriter
.lyx
\family default
может быть установлена через
\family sans
Файл\SpecialChar menuseparator
Управление версиями\SpecialChar menuseparator
Использовать свойство блокировки
\family default
.
Это действие активно только в том случае,
если файл не заблокирован на сервере SVN (т.е.
вам необходимо выполнить извлечение,
прежде чем продолжить).
\end_layout
\begin_layout Labeling
\labelwidthstring 00.00.0000
SVN-команды:
\end_layout
\begin_layout Labeling
\labelwidthstring 00.00.0000
Установка:
\family typewriter
svn propset svn:needs-lock ON "<имя-файла>"
\end_layout
\begin_layout Labeling
\labelwidthstring 00.00.0000
Сброс:
\family typewriter
svn propdel svn:needs-lock "<имя-файла>"
\end_layout
\begin_layout Subsubsection
Информация о версии в документах
\begin_inset CommandInset label
LatexCommand label
name "subsec:VCS-Revision-Information"
\end_inset
\end_layout
\begin_layout Standard
Имеются дополнительные возможности активации информации о версии в документе.
\end_layout
\begin_layout Itemize
\SpecialChar LyX
поддерживает напрямую:
\end_layout
\begin_deeper
\begin_layout Itemize
информацию о версии дерева (
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
vcs-tree-revision
\end_layout
\end_inset
).
Результатом является вывод команды
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
svnversion
\end_layout
\end_inset
,
следующая таблица дает представление о том,
как разобраться в результатах;
\end_layout
\begin_layout Standard
\align center
\begin_inset Tabular
\begin_inset Text
\begin_layout Plain Layout
\series bold
Вывод
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
\series bold
Смысл
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
4123:4168
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
рабочая копия смешанной версии
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
4168M
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
измененная рабочая копия
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
4123S
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
переключенная рабочая копия
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
4123P
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
частичная рабочая копия из выборочной отладки
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
4123:4168MS
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
смешанная,
измененная,
переключенная рабочая копия
\end_layout
\end_inset
|
\end_inset
\end_layout
\begin_layout Itemize
информация о версии файла.
Результат получается в результате анализа вывода команды
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
svn
\begin_inset space ~
\end_inset
info
\begin_inset space ~
\end_inset
--xml
\begin_inset space ~
\end_inset
file.lyx
\end_layout
\end_inset
.
Поддерживаемые флаги:
\end_layout
\begin_deeper
\begin_layout Itemize
номер версии последней фиксации (
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
vcs-revision
\end_layout
\end_inset
)
\end_layout
\begin_layout Itemize
автор последней фиксации (
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
vcs-author
\end_layout
\end_inset
)
\end_layout
\begin_layout Itemize
дата последней фиксации (
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
vcs-date
\end_layout
\end_inset
)
\end_layout
\begin_layout Itemize
время последней фиксации (
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
vcs-time
\end_layout
\end_inset
)
\end_layout
\end_deeper
\begin_layout Standard
Вы можете получить эту информацию используя поле (
\family sans
Вставка\SpecialChar menuseparator
Поле\SpecialChar menuseparator
Версия
\family default
).
Информация будет доступна только в том случае,
если у вас есть файл,
хранящийся под управлением SVN (например,
доступен каталог
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
.svn
\end_layout
\end_inset
с вашим документом).
\end_layout
\end_deeper
\begin_layout Itemize
Другая,
хакерская,
возможность —
использовать ключевые слова SVN
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
http://svnbook.red-bean.com/en/1.4/svn.advanced.props.special.keywords.html
\end_layout
\end_inset
.
Короче говоря,
вы устанавливаете свойство ключевых слов файла (например,
\family sans
svn propset svn:keywords 'Rev' file.lyx
\family default
),
а затем вставляете тег кода \SpecialChar TeX
ключевого слова
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Это простой способ гарантировать,
что \SpecialChar LyX
не разорвет строку в середине тега ключевого слова.
\end_layout
\end_inset
в свой документ (например,
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
$Rev$
\end_layout
\end_inset
).
Таким образом,
клиент SVN будет автоматически подставлять номер версии (например,
$Rev:
59$) после каждого обновления и фиксации.
С этим подходом больше проблем.
Во-первых,
символ '
\family typewriter
$
\family default
' используется в мире \SpecialChar TeX
для математических выражений,
поэтому любое появление математической формулы
\begin_inset Formula $Rev$
\end_inset
превращается в
\begin_inset Formula $Rev:59$
\end_inset
в вашем \SpecialChar LyX
-документе;
аналогично для других ключевых слов,
таких как
\family typewriter
Id
\family default
,
\family typewriter
Date
\family default
,
\family typewriter
Author
\family default
и т.д.
Во-вторых,
вывод SVN зависит от ваших языковых настроек,
поэтому естественно,
что SVN будет характеризовать некоторые строки,
например,
после использования
\family typewriter
Date
\family default
,
как проблемные.
В-третьих,
вы получаете в документе всю строку «Rev:
59» вместо просто числа.
Пока не реализуются пользовательские ключевые слова,
будет сложно использовать этот подход надежно или надо позволить \SpecialChar LyX
поддерживать его напрямую.
\end_layout
\begin_layout Subsection
SVN и среда Windows
\end_layout
\begin_layout Quote
\begin_inset Quotes rld
\end_inset
Я склоняюсь к тому,
чтобы сказать,
что если пользователь не может самостоятельно довольно быстро определить операции командной строки,
ему следует использовать TortoiseSVN
\begin_inset Quotes rrd
\end_inset
—
P.
A.
Rubin.
\end_layout
\begin_layout Subsubsection
Подготовка
\end_layout
\begin_layout Standard
Помимо установки \SpecialChar LyX
и получения доступа к репозиторию Subversion,
пользователю потребуется установить клиентскую программу Subversion.
Установщик Windows для клиентской программы доступен по адресу
\begin_inset CommandInset href
LatexCommand href
name "CollabNet"
target "http://www.collab.net/nonav/downloads/subversion/"
literal "false"
\end_inset
.
Пользователь может также захотеть установить
\begin_inset CommandInset href
LatexCommand href
name "TortoiseSVN"
target "http://tortoisesvn.tigris.org/"
literal "false"
\end_inset
,
для интеграции операций Subversion в контекстное меню (щелчок правой кнопкой мыши) проводника Windows.
Операции,
выполняемые вне \SpecialChar LyX
,
обычно более удобны при использовании контекстного меню Explorer.
Обратите внимание,
что TortoiseSVN не является заменой клиентской программы,
которую будет использовать сам \SpecialChar LyX
.
\end_layout
\begin_layout Subsubsection
Перевод документа под контроль Subversion
\end_layout
\begin_layout Standard
Прежде чем документ \SpecialChar LyX
может быть переведен под управление версиями в Subversion,
его родительский каталог должен быть под управлением версиями.
Если документ добавляется к проекту,
уже находящемуся в репозитории,
это достигается путем извлечения проекта в каталог,
в который будет помещен новый документ.
Если сам проект еще не находится под управлением версиями (например,
если этот документ запускает новый проект),
каталог необходимо импортировать в репозиторий.
Это делается вне \SpecialChar LyX
.
И импорт,
и извлечение легко выполняются из контекстного меню проводника с помощью TortoiseSVN или,
альтернативно,
могут выполняться с помощью клиента командной строки.
Процедура импорта проекта с использованием TortoiseSVN описана ниже,
предполагая,
что существующий репозиторий и новый проект запускаются из
\family typewriter
C:
\backslash
new project
\family default
.
Для получения информации об использовании клиентской программы Subversion запустите
\family typewriter
svn --help
\family default
в командной строке.
\end_layout
\begin_layout Enumerate
Найдите
\family typewriter
C:
\backslash
new project
\family default
в проводнике Windows,
щелкните его правой кнопкой мыши и выберите
\family sans
TortoiseSVN\SpecialChar menuseparator
Repo-browser
\family default
.
При необходимости измените URL-адрес репозитория,
затем нажмите OK.
\end_layout
\begin_layout Enumerate
Щелкните правой кнопкой мыши уровень репозитория,
под которым вы хотите разместить новую папку проекта (обычно это верхний уровень),
и нажмите
\family sans
Создать папку
\family default
.
Укажите имя для папки проекта и нажмите ОК.
При необходимости добавьте сообщение для файла журнала,
затем снова нажмите OK.
В репозитории должна появиться новая папка проекта.
Наконец,
еще раз нажмите ОК,
чтобы выйти из обозревателя репозитория.
\end_layout
\begin_layout Enumerate
Еще раз щелкните правой кнопкой мыши
\family typewriter
C:
\backslash
new project
\family default
,
на этот раз выбрав
\family sans
SVN Извлечение…
\family default
Выберите URL-адрес папки проекта,
которую вы только что создали в репозитории,
и установите каталог
\family typewriter
checkout
\family default
в
\family typewriter
C:
\backslash
new project
\family default
.
Щелкните ОК.
Вы будете предупреждены о непустой папке;
нажмите ОК,
чтобы продолжить.
Теперь у вас должен появиться каталог
\family typewriter
.svn
\family default
в
\family typewriter
C:
\backslash
new project
\family default
.
\end_layout
\begin_layout Enumerate
Создайте или откройте свой документ в \SpecialChar LyX
и щелкните
\family sans
Файл\SpecialChar menuseparator
Управление версиями\SpecialChar menuseparator
Зарегистрировать
\family default
.
Добавьте сообщение в журнал и нажмите OK,
чтобы передать документ в систему управления версиями.
\end_layout
\begin_layout Standard
С этого момента у вас должна быть полная функциональность в меню
\family sans
Файл\SpecialChar menuseparator
Управление версиями
\family default
.
У вас также имеется возможность фиксировать и извлекать документ,
просматривать его историю и т.
\begin_inset space \thinspace{}
\end_inset
д.
с помощью контекстного меню TortoiseSVN в проводнике Windows или из командной строки клиентской программы Subversion.
\end_layout
\begin_layout Subsubsection
SSH-туннель,
используемый с SVN под Windows
\end_layout
\begin_layout Standard
По сравнению с Linux настройка SVN-клиента для связи по ssh под Windows является довольно сложной задачей.
Мы,
по крайней мере,
предложим несколько советов,
как настроить клиентскую часть,
но необходимы предварительные знания о ssh и командной строке Windows,
а также будьте готовы к большому разочарованию ...
\end_layout
\begin_layout Enumerate
Получите SVN-клиент для Windows,
как описано в предыдущих разделах.
Если это будет новая установка,
запустите некоторую SVN-команду (например,
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
svn --version
\end_layout
\end_inset
) для создания файлов конфигурации,
которые вам нужно будет изменить позже.
\end_layout
\begin_layout Enumerate
Выберите ssh-клиент для Windows.
Есть несколько вариантов,
мы воспользуемся одним из инструментов Putty
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
\begin_inset Flex URL
status collapsed
\begin_layout Plain Layout
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
\end_layout
\end_inset
\end_layout
\end_inset
.
Вам нужно будет настроить соединение так,
чтобы клиент не запрашивал у вас пароль.
Для простоты будем использовать только ключи без дополнительной защиты паролем и т.
\begin_inset space \thinspace{}
\end_inset
п.
\end_layout
\begin_deeper
\begin_layout Enumerate
Сгенерируйте ключи с помощью
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
puttygen
\end_layout
\end_inset
.
Сохраните свой личный (закрытый) ключевой файл
\family typewriter
.ppk
\family default
и поместите его открытую часть на сервер.
Если SVN-сервер запущен в Linux,
обратите внимание,
что формат открытого ключа несовместим с Linux-openssh,
и вам нужно будет напрямую скопировать и вставить ключ из поля редактирования
\family sans
Открытый ключ для вставки в файл авторизованных ключей OpenSSH:
\family default
(
\family sans
Public key for pasting into OpenSSH authorized_keys file:
\family default
) в поле редактирования файла
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
~/.ssh/authorized_keys
\end_layout
\end_inset
/
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
authorized_keys2
\end_layout
\end_inset
на сервере.
\end_layout
\begin_layout Enumerate
Получите
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
plink
\end_layout
\end_inset
Putty.
В файле конфигурации SVN
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Точный путь зависит от версии Windows,
как правило,
где-то около
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
c:
\backslash
Documents and Settings
\backslash
user
\backslash
Application Data
\backslash
Subversion
\backslash
config
\end_layout
\end_inset
/
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
AppData
\backslash
Roaming
\backslash
Subversion
\end_layout
\end_inset
.
\end_layout
\end_inset
,
в разделе [tunnels],
разместите ssh-команду,
например,
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
ssh=c:/path/plink.exe -i c:/path/private_key.ppk
\end_layout
\end_inset
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Обычно получение точной команды занимает много времени,
и это зависит от многого.
Например,
у вас нет удаленного сервера,
сохраненного в качестве сеанса по умолчанию в Putty и т.п.
Если что-то не получается,
попробуйте сначала подключиться через plink без SVN.
\end_layout
\end_inset
.
\end_layout
\end_deeper
\begin_layout Enumerate
Извлеките рабочую копию SVN-архива,
например
\begin_inset Newline newline
\end_inset
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
svn co svn+ssh://user@server/repository_path
\end_layout
\end_inset
.
\end_layout
\begin_layout Subsubsection
Преобразования символов конца строки
\end_layout
\begin_layout Standard
Когда соавторы смешивают среды Linux и Windows,
\SpecialChar LyX
будет использовать разные окончания строк внутри файлов
\family typewriter
.lyx
\family default
.
С точки зрения функциональности \SpecialChar LyX
это не проблема,
но различия при фиксации будут огромными и подвержены конфликтам слияния.
К счастью,
SVN знает
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
\begin_inset Flex URL
status collapsed
\begin_layout Plain Layout
http://svnbook.red-bean.com/en/1.4/svn.advanced.props.file-portability.html
\end_layout
\end_inset
\end_layout
\end_inset
,
как решать проблемы CR/LF при переключении файлов
\family typewriter
.lyx
\family default
в требуемый (
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
native
\end_layout
\end_inset
) режим
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Для ленивых:
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
svn propset svn:eol-style native FILE_NAME
\end_layout
\end_inset
\end_layout
\end_inset
.
\end_layout
\begin_layout Subsection
GIT-команды в \SpecialChar LyX
\end_layout
\begin_layout Standard
\SpecialChar LyX
поддерживает минимальное подмножество GIT-команд,
которые доступны в
\family sans
Файл\SpecialChar menuseparator
Управление версиями
\family default
.
Обратите внимание,
что если вы используете защищенный паролем доступ к репозиторию через ssh,
у вас его запросят в окне терминала.
\SpecialChar LyX
был протестирован на GIT версии 1.7
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Пользователям Windows нужно убедиться,
что путь к GIT зарегистрирован.
Его можно установить в \SpecialChar LyX
,
выбрав
\family sans
Инструменты\SpecialChar menuseparator
Настройки\SpecialChar menuseparator
Пути\SpecialChar menuseparator
Префикс PATH
\family default
.
\end_layout
\end_inset
.
\end_layout
\begin_layout Standard
Одним из больших отличий GIT от других поддерживаемых систем управления версиями является распределенная природа GIT.
В традиционных системах управления версиями существует один центральный сервер,
на котором размещается репозиторий.
Пользователи фиксируют свои изменения на сервере и получают с него обновления,
сделанные другими пользователями.
С GIT пользователи фиксируются в локальном репозитории.
Локальный репозиторий можно синхронизировать с одним или несколькими удаленными репозиториями с помощью команд
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
pull
\end_layout
\end_inset
и
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
push
\end_layout
\end_inset
GIT.
\SpecialChar LyX
никак не взаимодействует с удаленными репозиториями GIT.
Он работает исключительно с локальным репозиторием так же,
как с центральным репозиторием CVS или SVN.
Если вы используете удаленные репозитории GIT,
вам необходимо выполнять операции
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
pull
\end_layout
\end_inset
и
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
push
\end_layout
\end_inset
в вашем клиенте GIT.
\end_layout
\begin_layout Subsubsection
\family sans
Регистрация
\end_layout
\begin_layout Standard
Если ваш документ не находится под управлением версиями,
то единственный пункт,
показываемый в меню
\family sans
Файл\SpecialChar menuseparator
Управление версиями
\family default
,
—
\family sans
Зарегистрировать
\family default
,
иначе этот пункт не отображается.
\end_layout
\begin_layout Standard
Это действие позволит зарегистрировать документ в GIT только в том случае,
если у вас уже имеется каталог документов под управлением GIT (в частности,
существует файл
\family typewriter
.git/index
\family default
).
Это означает,
что вы должны самостоятельно его подготовить.
\end_layout
\begin_layout Standard
Затем вам потребуется в интерактивном режиме предоставить начальное описание документа.
Не забывайте,
что зарегистрированный файл еще не зафиксирован.
\end_layout
\begin_layout Standard
Выполняемая GIT-команда:
\family typewriter
git add
\begin_inset Quotes qld
\end_inset
<имя-файла>
\begin_inset Quotes qld
\end_inset
\end_layout
\begin_layout Standard
Подробности см.
в выводе команды
\family typewriter
man git
\family default
.
\end_layout
\begin_layout Subsubsection
\family sans
Фиксация изменений
\end_layout
\begin_layout Standard
Когда вы закончите редактировать файл,
вы должны зафиксировать изменения.
Во время этого вам будет предложено оформить описание изменений.
После этого изменения будут зафиксированы.
\end_layout
\begin_layout Standard
GIT-команда:
\family typewriter
git commit -q -m"<описание>" <имя-файла>
\end_layout
\begin_layout Subsubsection
\family sans
Откат к версии из репозитория
\end_layout
\begin_layout Standard
Это приведет к отмене всех изменений,
внесенных в документ с момента последней фиксации.
Перед отменой изменений вы получите соответствующее предупреждение.
\end_layout
\begin_layout Standard
GIT-команда:
\family typewriter
git checkout -q
\begin_inset Quotes qld
\end_inset
<имя-файла>
\begin_inset Quotes qld
\end_inset
\end_layout
\begin_layout Subsubsection
\family sans
Переименование
\end_layout
\begin_layout Standard
Текущий документ переименовывается,
включая историю версий.
Требуется чистый документ без каких-либо изменений с момента последней фиксации.
Вам будет предложено ввести имя файла и описание операции переименования.
После этого документ переименовывается как локально,
так и в репозитории.
Если родительские каталоги нового и старого файлов различаются,
все относительные пути включаемых файлов корректируются (как в
\family sans
Файл\SpecialChar menuseparator
Сохранить как…
\family default
).
В итоге,
документ перезагружается с новым именем.
\end_layout
\begin_layout Labeling
\labelwidthstring 00.00.0000
GIT-команды:
\begin_inset space ~
\end_inset
\begin_inset Newline newline
\end_inset
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
git mv
\family typewriter
\begin_inset Quotes qld
\end_inset
<имя-файла>
\begin_inset Quotes qld
\end_inset
\begin_inset Quotes qld
\end_inset
<новое-имя-файла>
\begin_inset Quotes qld
\end_inset
\end_layout
\end_inset
\begin_inset Newline newline
\end_inset
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
git commit
\end_layout
\end_inset
\end_layout
\begin_layout Subsubsection
\family sans
Просмотр истории
\end_layout
\begin_layout Standard
Будет показана полная история документа.
Вывод команды
\family typewriter
git log
\begin_inset Quotes qld
\end_inset
<имя-файла>
\begin_inset Quotes qld
\end_inset
\family default
отобразит ее в браузере.
\end_layout
\begin_layout Subsubsection
Информация о версии
\end_layout
\begin_layout Standard
\SpecialChar LyX
поддерживает номер хэша GIT последней фиксации файла,
ее сокращенную форму,
имя автора,
дату и время.
Все это извлекается из
\family typewriter
git log -n 1 --pretty=format:%H%n%h%n%an%n%ai
\family default
.
Информация о версии дерева получается с помощью команды
\family typewriter
git describe --abbrev --dirty --long
\family default
.
См.
\begin_inset CommandInset ref
LatexCommand ref
reference "subsec:VCS-Revision-Information"
\end_inset
о других деталях.
\end_layout
\begin_layout Subsection
Дальнейшая настройка
\end_layout
\begin_layout Standard
Используя функцию
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
vc-command
\end_layout
\end_inset
опытные пользователи \SpecialChar LyX
могут создавать свои собственные команды для управления версиями.
\end_layout
\begin_layout Standard
В качестве примера можно увидеть,
как две команды TortoiseSVN могут быть интегрированы напрямую:
\end_layout
\begin_layout Description
Фиксация:
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
vc-command DR "." "TortoiseProc /command:commit /path:$$p"
\end_layout
\end_inset
\end_layout
\begin_layout Description
Откат:
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
vc-command DR "." "TortoiseProc /command:revert /path:$$p"
\end_layout
\end_inset
\end_layout
\begin_layout Subsection
Управление версиями и сравнение документов
\end_layout
\begin_layout Standard
Одним из типичных способов использования управления версиями является проверка изменений между версиями документа,
обычно путем создания файлов различий.
Хотя это работает для обычных текстовых файлов,
в случае файлов \SpecialChar LyX
,
которые имеют более сложную структуру,
полезность такого способа весьма сомнительна.
В \SpecialChar LyX
обеспечена привязка к функции сравнения документов
\family typewriter
vc-compare
\family default
.
Есть два способа вызвать эту функцию —
либо путем ее прямого вызова (подробности см.
в руководстве
\shape italic
Функции \SpecialChar LyX
\shape default
),
либо с помощью кнопки
\begin_inset Info
type "icon"
arg "vc-compare"
\end_inset
на панели инструментов.
Можно сравнить две выбранные версии документа или просто сравнить текущую версию отредактированного текста со старыми его версиями (где '
\begin_inset Flex Noun
status collapsed
\begin_layout Plain Layout
0
\end_layout
\end_inset
' версий назад означает сравнение отредактированного файла с последней зафиксированной версией).
\end_layout
\begin_layout Standard
Эта возможность поддерживается для SVN и RCS,
хотя из-за более сложной схемы управления версиями RCS существует ограничение —
при обращении к версиям в диалоговом окне числа всегда указывают на последний номер в номере версии RCS,
то есть «35» в «1.2.35».
В настоящее время не поддерживается адресация версий GIT,
можно просто сравнить отредактированный документ с его версией
\family typewriter
X
\family default
изменений назад,
где
\family typewriter
X
\family default
адресуется как
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
HEAD~X
\end_layout
\end_inset
.
\end_layout
\begin_layout Section
Грамотное программирование
\end_layout
\begin_layout Subsection
Введение
\end_layout
\begin_layout Standard
Основная цель этой документации —
показать,
как использовать \SpecialChar LyX
для грамотного программирования,
где предполагается,
что вы знакомы с этой техникой программирования и знаете,
что означают «запутывание (tangling)» и «сплетение (weaving)».
Если это не так,
перейдите по ссылкам в следующих разделах.
Там имеется много хорошей документации,
охватывающей старую историю разработки и советы по последним инструментам.
\end_layout
\begin_layout Standard
Также предполагается,
что вы знакомы с \SpecialChar LyX
до такой степени,
что вам не надо будет прилагать особых усилий для изменения настроек \SpecialChar LyX
или файла ресурсов X.
Если же вы на это еще не способны,
обратитесь к другой документации \SpecialChar LyX
,
чтобы удовлетворить ваши конкретные потребности.
\end_layout
\begin_layout Subsection
Грамотное программирование
\end_layout
\begin_layout Standard
Из ответов на вопросы по грамотному программированию:
\end_layout
\begin_layout Quotation
Грамотное программирование —
это сочетание документации и исходного кода,
предназначенное для чтения людьми.
Фактически,
грамотные программы должны доставлять удовольствие и даже привлекать!
В общем,
грамотные программы объединяют исходный код и документацию в одном файле.
Затем,
с помощью инструментария грамотного программирования,
можно проводить грамматический разбор такого файла для создания,
либо удобочитаемой документации,
либо исходного кода,
готового к компиляции.
WEB-стиль грамотного программирования был создан Д.
\begin_inset space \thinspace{}
\end_inset
Э.
Кнутом в ходе разработки программы \SpecialChar TeX
.
\end_layout
\begin_layout Standard
Содержимое другого отрывка:
\end_layout
\begin_layout Quotation
\emph on
Чем грамотное программирование отличается от подробного комментирования?
\end_layout
\begin_layout Quotation
Есть три отличительных характеристики.
В порядке важности они следующие:
\end_layout
\begin_deeper
\begin_layout Itemize
гибкий порядок разработки;
\end_layout
\begin_layout Itemize
автоматическая поддержка навигации;
\end_layout
\begin_layout Itemize
отформатированная документация,
особенно схемы и математические формулы.
\end_layout
\end_deeper
\begin_layout Standard
Теперь,
если ваше любопытство пробудилось,
пройдитесь по ссылкам.
\end_layout
\begin_layout Subsubsection
Ссылки
\end_layout
\begin_layout Standard
Полную версию обсуждений вопросов по грамотному программированию можно найти в
\begin_inset Flex URL
status open
\begin_layout Plain Layout
http://www.literateprogramming.com/lpfaq.pdf
\end_layout
\end_inset
\end_layout
\begin_layout Standard
В этом же источнике приведен список,
содержащий 23 разнообразных инструмента для грамотного программирования.
Некоторые из них являются специализированными или «адаптированными» для определенных языков программирования,
а другие имеют общий характер.
\family sans
Noweb
\family default
,
изложенный далее,
был выбран по нескольким причинам:
\end_layout
\begin_layout Itemize
Он может генерировать документацию в \SpecialChar LaTeX
и HTML.
\end_layout
\begin_layout Itemize
Имеет открытую архитектуру,
т.
\begin_inset space \thinspace{}
\end_inset
е.
можно легко подключить новые фильтры
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
\shape italic
Фильтры
\shape default
—
это программы,
которые читают заданный поток данных и выводят управляемый поток данных.
Таким образом,
WEB-файл (состоящий из грамотного кода) можно превратить в файл,
содержащий только программный код C или код \SpecialChar LaTeX
.
\end_layout
\end_inset
и выполнить специальную обработку,
которая может понадобиться.
\end_layout
\begin_layout Itemize
Уже имеется хороший выбор фильтров (HTML —
один из них).
\end_layout
\begin_layout Itemize
Он является свободно распространяемым.
\end_layout
\begin_layout Standard
Веб-страницу Noweb можно найти по адресу
\begin_inset Flex URL
status collapsed
\begin_layout Plain Layout
https://www.cs.tufts.edu/~nr/noweb/
\end_layout
\end_inset
\end_layout
\begin_layout Standard
Отсюда вы можете перейти по другим интересным ссылкам и даже к некоторым примерам грамотного программирования.
\end_layout
\begin_layout Subsection
\SpecialChar LyX
и грамотное программирование с Noweb
\end_layout
\begin_layout Standard
Поддержка \SpecialChar LyX
для грамотного программирования обеспечивается с помощью универсального механизма конвертеров.
Эта поддержка предоставляется способом,
не зависящим от Noweb,
т.
\begin_inset space \thinspace{}
\end_inset
е.
вы сможете использовать эту новую возможность \SpecialChar LyX
с другими инструментами грамотного программирования по вашему выбору,
просто проводя изменения в настройках \SpecialChar LyX
.
\end_layout
\begin_layout Subsubsection
Генерация документов и кода (сплетение и запутывание)
\end_layout
\begin_layout Paragraph
Использование модуля Noweb
\end_layout
\begin_layout Standard
Если Noweb установлен в \SpecialChar LyX
,
то каждый раз,
когда вы открываете новый документ,
после того,
как выбрали его класс,
используйте меню
\family sans
Документ\SpecialChar menuseparator
Настройки\SpecialChar menuseparator
Модули
\family default
для добавления модуля
\family sans
Noweb
\family default
из общего списка модулей.
\end_layout
\begin_layout Paragraph
Набор кода
\end_layout
\begin_layout Standard
\SpecialChar LyX
позволяет писать код со специальной вставкой под названием
\family sans
Фрагмент
\family default
.
Noweb разделяет фрагменты следующим образом:
\end_layout
\begin_layout LyX-Code
<<Мой код>>=
\end_layout
\begin_layout LyX-Code
код
\end_layout
\begin_layout LyX-Code
еще код
\end_layout
\begin_layout LyX-Code
еще больше кода
\end_layout
\begin_layout LyX-Code
@
\end_layout
\begin_layout Standard
Проблема в том,
что все,
что написано между
\family typewriter
<<
\family default
и
\family typewriter
@
\family default
,
следует понимать буквально,
т.е.
следует запретить \SpecialChar LyX
каким-либо образом интерпретировать написанное.
Это также обрабатывается средством
\family sans
Фрагмент
\family default
,
который работает как обычная текстовая вставка,
но имеет свойство свободного интервала.
\end_layout
\begin_layout Standard
В качестве особого примечания,
вы также можете использовать конструкцию Noweb «
\family typewriter
%def
\family default
» в своих фрагментах,
чтобы добавлять элементы в перекрестную ссылку идентификатора Noweb:
\end_layout
\begin_layout LyX-Code
<<Мой фрагмент>>=
\end_layout
\begin_layout LyX-Code
def some_function(args):
\end_layout
\begin_layout LyX-Code
"Это строка документации для этой функции."
\end_layout
\begin_layout LyX-Code
print "Мои аргументы:
",
args
\end_layout
\begin_layout LyX-Code
@ %def some_function
\end_layout
\begin_layout Standard
Пример такого использования и результирующий вывод перекрестных ссылок можно найти в грамотной программе на языке Python в
\family typewriter
.../Resources/examples/listerrors.lyx
\family default
,
которая должна прояснить все это.
\end_layout
\begin_layout Paragraph
Создание документации
\end_layout
\begin_layout Standard
Как распечатать уже сформированный документ?
Ответ прост:
вы выбираете
\family sans
Документ\SpecialChar menuseparator
Просмотреть\SpecialChar menuseparator
DVI
\family default
и т.
\begin_inset space \thinspace{}
\end_inset
п.,
как и для обычного документа.
Никакой специальной процедуры не требуется.
\end_layout
\begin_layout Standard
Чтобы помочь вам сориентироваться,
объясним,
что происходит внутри \SpecialChar LyX
:
\end_layout
\begin_layout Enumerate
При выборе меню
\family sans
Документ\SpecialChar menuseparator
Обновить\SpecialChar menuseparator
DVI
\family default
создается файл \SpecialChar LaTeX
.
\end_layout
\begin_deeper
\begin_layout Standard
Если документ относится к любому
\begin_inset Quotes rld
\end_inset
грамотному
\begin_inset Quotes rrd
\end_inset
классу,
сгенерированному файлу будет присвоено имя с расширением,
определяемым «грамотным» форматом (определенным на панели настроек),
в противном случае файл будет иметь обычное расширение
\family typewriter
.tex
\family default
.
\end_layout
\end_deeper
\begin_layout Enumerate
Обратите внимание,
что пока единственное различие заключается в имени файла,
при этом \SpecialChar LyX
не требует специальной обработки.
Подразумевается,
что вы отформатировали код с помощью вставки
\family sans
Фрагмент
\family default
,
которая сама произведет необходимые действия.
\end_layout
\begin_layout Enumerate
Если документ относится к
\begin_inset Quotes rld
\end_inset
грамотному
\begin_inset Quotes rrd
\end_inset
классу,
\SpecialChar LyX
будет использовать внутренний преобразователь
\begin_inset Quotes rld
\end_inset
\SpecialChar LyX
в
\family sans
Noweb
\family default
\begin_inset Quotes rrd
\end_inset
,
а затем преобразователь
\begin_inset Quotes rld
\end_inset
\family sans
Noweb
\family default
в \SpecialChar LaTeX
\begin_inset Quotes rrd
\end_inset
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Конвертеры определяются в меню
\family sans
Инструменты\SpecialChar menuseparator
Настройки
\family default
на вкладке
\family sans
Конверторы
\family default
.
См.
\shape italic
Руководство по настройке
\shape default
,
раздел
\shape italic
Ковертеры
\shape default
,
для получения общей информации о преобразованиях форматов.
\end_layout
\end_inset
для создания файла \SpecialChar LaTeX
.
\end_layout
\begin_deeper
\begin_layout Standard
В противном случае этот шаг пропускается.
\end_layout
\end_deeper
\begin_layout Enumerate
Наконец,
вызывается \SpecialChar LaTeX
,
и обычная последующая обработка продолжается,
как для обычного документа.
\end_layout
\begin_layout Standard
Независимость от конкретного «грамотного инструментария» достигается путем простого изменения команд,
выполняемых различными конвертерами.
\end_layout
\begin_layout Paragraph
Генерирование кода
\end_layout
\begin_layout Standard
Когда выбрана опция меню сборки или нажата соответствующая кнопка на панели инструментов,
\SpecialChar LaTeX
-файл создается так же,
как и в вышеприведенном шаге 1.
Затем \SpecialChar LyX
вызывает конвертер
\family sans
Noweb\SpecialChar menuseparator
\shape italic
Программа
\family default
\shape default
.
Этот конвертер не устанавливается по умолчанию и должен быть определен пользователем,
хотя формат для
\family sans
\shape italic
Программа
\family default
\shape default
имеется.
Этот конвертер (как и любой другой) должен состоять из двух частей:
\end_layout
\begin_layout Enumerate
Собственно программа-конвертер.
Эта программа выполняет преобразование из одного формата в другой (в данном случае из формата
\family sans
Noweb
\family default
в псевдо-формат
\family sans
\shape italic
Программа
\family default
\shape default
).
\end_layout
\begin_layout Enumerate
Парсер журнала ошибок.
У этой части конвертера единственная цель —
переписывать сообщения об ошибках в формате,
понятном \SpecialChar LyX
.
Это позволяет \SpecialChar LyX
размещать блоки ошибок в нужных местах файлового буфера.
\end_layout
\begin_layout Standard
Первая часть,
настройка «Конвертер»,
должна быть задана как
\end_layout
\begin_layout LyX-Code
\family typewriter
build-script $$i
\family default
$$r
\end_layout
\begin_layout Standard
Это,
по существу,
означает,
что \SpecialChar LyX
вызовет
\family typewriter
build-script
\family default
(программу или сценарий) с именем файла
\family sans
Noweb
\family default
(обычно это файл во временном каталоге \SpecialChar LyX
) и путем к каталогу исходного файла \SpecialChar LyX
.
\end_layout
\begin_layout Standard
Это реализация
\family typewriter
build-script
\family default
,
которую вы можете поместить в каталог на своем пути:
\end_layout
\begin_layout LyX-Code
#!/bin/sh
\end_layout
\begin_layout LyX-Code
#
\end_layout
\begin_layout LyX-Code
notangle -Rbuild-script $1 |
\end_layout
\begin_layout LyX-Code
env NOWEB_SOURCE=$1 NOWEB_OUTPUT_DIR=$2 sh
\end_layout
\begin_layout Standard
Следующая часть настройки конвертера —
это «Флаги»,
которые нужно установить в
\end_layout
\begin_layout LyX-Code
\family typewriter
parselog=$$s/scripts/listerrors
\end_layout
\begin_layout Standard
Это позволит прогнать любые ошибки,
которые генерируются процессом
\family typewriter
build-script
\family default
через программу
\family typewriter
listerrors
\family default
.
\end_layout
\begin_layout Standard
Сборка обычно происходит во временном каталоге \SpecialChar LyX
,
поэтому файлы,
созданные преобразованием,
будут находиться именно в этом каталоге.
\SpecialChar LyX
скопирует то,
что он считает «основным» файлом,
но преобразование
\family sans
Noweb\SpecialChar menuseparator
\shape italic
Программа
\family default
\shape default
может создать несколько файлов,
и поэтому большая часть из них затем будет удалена при закрытии \SpecialChar LyX
.
Вот почему необходима переменная среды
\family typewriter
NOWEB_OUTPUT_DIR
\family default
,
чтобы блок
\family typewriter
build-script
\family default
мог разместить сгенерированные файлы в этом месте.
\end_layout
\begin_layout Paragraph
Инструкции по сборке в документе
\end_layout
\begin_layout Standard
Последней частью интеграции \SpecialChar LyX
и
\family sans
Noweb
\family default
является блок
\family typewriter
build-script
\family default
.
Как правило,
инструкции по созданию вашей программы должны быть встроены в отдельный блок.
Специфический для noweb
\family typewriter
build-script
\family default
использует команду
\family typewriter
notangle
\family default
для поиска этого фрагмента (называемого
\family typewriter
build-script
\family default
) и пропускает его содержимое через
\family typewriter
sh
\family default
.
\end_layout
\begin_layout Standard
Обычно такой фрагмент выглядит примерно так:
\end_layout
\begin_layout LyX-Code
<>=
\end_layout
\begin_layout LyX-Code
#!/bin/sh
\begin_inset Newline newline
\end_inset
if [ -z "${NOWEB_SOURCE}" ]
\begin_inset Newline newline
\end_inset
then
\end_layout
\begin_layout LyX-Code
NOWEB_SOURCE=myfile.nw
\begin_inset Newline newline
\end_inset
fi
\begin_inset Newline newline
\end_inset
[...
код для извлечения файлов ...
\begin_inset Newline newline
\end_inset
...
используйте здесь NOWEB_OUTPUT_DIR ...]
\begin_inset Newline newline
\end_inset
[...
код для компилирования файлов ...]
\begin_inset Newline newline
\end_inset
@
\end_layout
\begin_layout Standard
Обратитесь к
\family typewriter
LIBDIR/examples/listerrors.lyx
\family default
или к
\family typewriter
LIBDIR/examples/Literate.lyx
\family default
,
которые реализуют две версии программы
\family typewriter
listerrors
\family default
для иллюстрации того,
как все эти части работают вместе,
или к
\family typewriter
LIBDIR/examples/noweb2lyx.lyx
\family default
.
Интересно,
что эти файлы демонстрируют независимость от языка поддержки грамотного программирования \SpecialChar LyX
,
поскольку они написаны на Python,
C и Perl,
соответственно.
\end_layout
\begin_layout Subsubsection
Конфигурация \SpecialChar LyX
\end_layout
\begin_layout Standard
Вся поддержка грамотного программирования настраивается с помощью меню
\family sans
Инструменты\SpecialChar menuseparator
Настройки
\family default
на вкладке
\family sans
Обработка файлов
\family default
.
Важные части:
\end_layout
\begin_layout Description
\series medium
формат
\series default
\begin_inset space ~
\end_inset
\series medium
NoWeb
\series default
Настраивается на вкладке
\family sans
Форматы файлов
\family default
,
здесь настраиваются элементы,
специфичные для
\family sans
Noweb
\family default
.
Имя графического интерфейса пользователя установлено на
\family sans
NoWeb
\family default
,
расширение файла установлено на
\family sans
nw
\family default
.
Это указывает \SpecialChar LyX
создать файл с расширением
\family typewriter
.nw
\family default
на первом этапе процесса преобразования.
\end_layout
\begin_layout Description
\series medium
формат
\series default
\begin_inset space ~
\end_inset
\series medium
Программа
\series default
Это пустой формат,
единственное назначение которого —
быть конечной точкой преобразования (что затем позволяет нам установить для него конвертер).
\end_layout
\begin_layout Description
\series medium
NoWeb->\SpecialChar LaTeX
\series default
Этот конвертер выполняет «вязку» грамотного документа.
Для
\family sans
Noweb
\family default
он установлен на
\begin_inset Quotes eld
\end_inset
\family typewriter
noweave -delay -index $$i > $$o
\family default
\begin_inset Quotes erd
\end_inset
\end_layout
\begin_layout Description
\series medium
NoWeb->Программа
\series default
Выполняется «шаг запутывания».
Как указано выше,
\family sans
Конвертер
\family default
установлен в значение
\family typewriter
build-script $$i $$r
\family default
,
а Флаги —
в значение
\begin_inset Newline newline
\end_inset
\family typewriter
parselog=$$s/scripts/listerrors
\family default
.
\end_layout
\begin_layout Subsubsection
Расширения отладки
\end_layout
\begin_layout Standard
На сервере \SpecialChar LyX
также реализована новая функция —
«server-goto-file-row»,
которая будет использоваться с ddd/gdb или другим отладчиком.
\end_layout
\begin_layout Standard
При отладке кода с помощью ddd/gdb можно вызвать текстовый редактор в текущей позиции выполнения нажатием соответствующих клавиш.
Для ddd,
по умолчанию,
это
\family sans
Shift+Ctrl+V
\family default
.
Вы можете определить вызов командной строки редактора в ddd,
открыв диалоговое окно
\family sans
Правка\SpecialChar menuseparator
Настройки\SpecialChar menuseparator
Помощь
\family default
и изменив запись
\family sans
Редактирование исходных текстов
\family default
.
\end_layout
\begin_layout Standard
Например,
это может быть:
\end_layout
\begin_layout LyX-Code
echo "LYXCMD:monitor:server-goto-file-row:
\end_layout
\begin_layout LyX-Code
@FILE@ @LINE@" >~/.lyxpipe.in
\end_layout
\begin_layout Standard
При этом всякий раз,
когда вы используете ddd и находите в программе точку,
которую хотите отредактировать,
вы просто нажимаете
\family sans
Shift+Ctrl+V
\family default
(в окне ddd),
и ddd пересылает эту информацию в \SpecialChar LyX
через сервер \SpecialChar LyX
,
а затем окно \SpecialChar LyX
покажет тот же файл с курсором в той позиции,
на которую указывал ddd.
\end_layout
\begin_layout Standard
Однако обратите внимание,
что вы должны включить сервер \SpecialChar LyX
,
чтобы эта функция заработала (по умолчанию она отключена).
В разделе
\begin_inset space ~
\end_inset
\begin_inset CommandInset ref
LatexCommand ref
reference "sec:Starting-the-Server"
\end_inset
объясняется,
как это сделать.
\end_layout
\begin_layout Subsubsection
Расширения панели инструментов
\end_layout
\begin_layout Standard
Пусть на панель инструментов \SpecialChar LyX
нужно добавить несколько новых кнопок.
Четыре из них —
ярлыки для стилей макета:
\family sans
Обычный
\family default
,
\family sans
Раздел
\family default
,
\family sans
LaTeX
\family default
и
\family sans
Код LyX
\family default
,
одна для пользовательского кода —
\family sans
Фрагмент
\family default
,
еще одна —
для быстрого перехода к пункту
\family sans
Программа сборки
\family default
в меню
\family sans
Файл
\family default
,
и две кнопки для использования формата DVI —
\family sans
Документ\SpecialChar menuseparator
Обновить (другие форматы)\SpecialChar menuseparator
DVI
\family default
и
\family sans
Документ\SpecialChar menuseparator
Просмотреть (другие форматы)\SpecialChar menuseparator
DVI
\family default
.
\end_layout
\begin_layout Standard
\SpecialChar LyX
имеет ряд кнопок,
доступных для настройки панели инструментов.
Вот как выглядит фрагмент расширения панели документов этими кнопками:
\end_layout
\begin_layout LyX-Code
Toolbar
\end_layout
\begin_layout LyX-Code
Layouts
\end_layout
\begin_layout LyX-Code
Icon "layout Обычный"
\end_layout
\begin_layout LyX-Code
Icon "layout Раздел"
\end_layout
\begin_layout LyX-Code
Icon "layout \SpecialChar LaTeX
"
\end_layout
\begin_layout LyX-Code
Icon "layout Код \SpecialChar LyX
"
\end_layout
\begin_layout LyX-Code
Icon "flex.insert Фрагмент"
\end_layout
\begin_layout LyX-Code
Separator
\end_layout
\begin_layout LyX-Code
Icon "buffer-view"
\end_layout
\begin_layout LyX-Code
Icon "buffer-typeset"
\end_layout
\begin_layout LyX-Code
Icon "build-program"
\end_layout
\begin_layout LyX-Code
Separator
\end_layout
\begin_layout LyX-Code
.
\end_layout
\begin_layout LyX-Code
.
\end_layout
\begin_layout LyX-Code
.
\end_layout
\begin_layout LyX-Code
End
\end_layout
\begin_layout Subsection
\SpecialChar LyX
и knitr/Sweave
\end_layout
\begin_layout Standard
Поддержка
\family sans
knitr
\family default
и
\family sans
Sweave
\family default
описана в файле примера
\family typewriter
knitr.lyx
\family default
и в руководстве по
\family sans
Sweave
\family default
(в меню
\family sans
Помощь\SpecialChar menuseparator
Специальные руководства
\family default
).
\end_layout
\begin_layout Chapter
Особые возможности
\end_layout
\begin_layout Standard
С \SpecialChar LyX
можно делать все,
что и с \SpecialChar LaTeX
.
Однако \SpecialChar LyX
не может напрямую поддерживать все функции \SpecialChar LaTeX
.
Но вы всегда можете использовать
\family sans
Код TeX
\family default
.
В этой главе приведены некоторые возможности,
которые вы,
возможно,
захотите использовать.
Для других специальных действий,
которые вы можете применять к рисункам,
таблицам,
плавающим объектам,
блокам и заметкам,
обратитесь к руководству
\shape italic
Встроенные объекты
\shape default
.
\end_layout
\begin_layout Section
Множественные текстовые колонки
\end_layout
\begin_layout Standard
Эта возможность не зависит от параметра
\family sans
Двухколоночный документ
\family default
в настройках документа,
в разделе
\family sans
Макет текста
\family default
.
Если вы хотите иметь 2 колонки для всего документа,
рекомендуется использовать именно параметр
\family sans
Двухколоночный документ
\family default
.
Во всех остальных случаях используйте описанные здесь действия.
\end_layout
\begin_layout Standard
Чтобы использовать несколько текстовых колонок в документе,
необходимо загрузить модуль
\family sans
Многоколоночность
\family default
(в меню
\family sans
Документ\SpecialChar menuseparator
Настройки\SpecialChar menuseparator
Модули
\family default
) и у вас должен быть установлен \SpecialChar LaTeX
-пакет
\series bold
multicol
\series default
.
\end_layout
\begin_layout Standard
Сноски из нескольких колонок будут размещены внизу страницы,
а не под каждой колонке.
В разных колонках можно использовать все,
с тем ограничением,
что для плавающих объектов нужно использовать параметр
\family sans
Занимать все столбцы
\family default
.
\end_layout
\begin_layout Subsection
Основы
\end_layout
\begin_layout Standard
Если требуется,
чтобы в тексте было 2 колонки,
организуйте вставку из нескольких колонок через меню
\family sans
Вставка\SpecialChar menuseparator
Пользовательская вставка\SpecialChar menuseparator
Многоколоночность
\family default
туда,
где должны начинаться колонки.
Занесите весь текст в две колонки на этой вставке.
\end_layout
\begin_layout Standard
Пример:
\end_layout
\begin_layout Standard
\noindent
\begin_inset Flex Multiple Columns
status open
\begin_layout Plain Layout
\noindent
\series bold
\size small
\lang english
The Adventure of the Empty House
\series default
\begin_inset Newline newline
\end_inset
by Sir Arthur Conan Doyle
\end_layout
\begin_layout Plain Layout
\size small
\lang english
It was in the spring of the year 1894 that all London was interested,
and the fashionable world dismayed,
by the murder of the Honourable Ronald Adair under most unusual and inexplicable circumstances.
The public has already learned those particulars of the crime which came out in the police investigation,
but a good deal was suppressed upon that occasion,
since the case for the prosecution was so overwhelmingly strong that it was not necessary to bring forward all the facts.
Only now,
at the end of nearly ten years,
am I allowed to supply those missing links which make up the whole of that remarkable chain.
The crime was of interest in itself,
but that interest was as nothing to me compared to the inconceivable sequel,
which afforded me the greatest shock and surprise of any event in my adventurous life.
Even now,
after this long interval,
I find myself thrilling as I think of it,
and feeling once more that sudden flood of joy,
amazement,
and incredulity which utterly submerged my mind.
Let me say to that public,
which has shown some interest in those glimpses which I have occasionally given them of the thoughts and actions of a very remarkable man,
that they are not to blame me if I have not shared my knowledge with them,
for I should have considered it my first duty to do so,
had I not been barred by a positive prohibition from his own lips,
which was only withdrawn upon the third of last month.
\end_layout
\end_inset
\end_layout
\begin_layout Standard
Чтобы получить 3 или более колонок,
установите курсор во вставку с несколькими колонками и используйте меню
\family sans
Вставка\SpecialChar menuseparator
Количество колонок
\family default
.
Нужное количество колонок будет записано во вставке.
\begin_inset Newline newline
\end_inset
Пример с 3
\begin_inset space ~
\end_inset
колонками:
\end_layout
\begin_layout Standard
\begin_inset Flex Multiple Columns
status open
\begin_layout Plain Layout
\size footnotesize
\begin_inset Argument 1
status open
\begin_layout Plain Layout
3
\end_layout
\end_inset
\lang english
It can be imagined that my close intimacy with Sherlock Holmes had interested me deeply in crime,
and that after his disappearance I never failed to read with care the various problems which came before the public.
And I even attempted,
more than once,
for my own private satisfaction,
to employ his methods in their solution,
though with indifferent success.
There was none,
however,
which appealed to me like this tragedy of Ronald Adair.
As I read the evidence at the inquest,
which led up to a verdict of willful murder against some person or persons unknown,
I realized more clearly than I had ever done the loss which the community had sustained by the death of Sherlock Holmes.
There were points about this strange business which would,
I was sure,
have specially appealed to him,
and the efforts of the police would have been supplemented,
or more probably anticipated,
by the trained observation and the alert mind of the first criminal agent in Europe.
All day,
as I drove upon my round,
I turned over the case in my mind and found no explanation which appeared to me to be adequate.
At the risk of telling a twice-told tale,
I will recapitulate the facts as they were known to the public at the conclusion of the inquest.
\end_layout
\end_inset
\end_layout
\begin_layout Standard
Можно иметь до 10 колонок,
но следует учитывать степень удобства при чтении такого фрагмента документа.
\end_layout
\begin_layout Standard
\begin_inset Newpage newpage
\end_inset
\end_layout
\begin_layout Subsection
Колонки внутри колонок
\end_layout
\begin_layout Standard
Также можно иметь колонки внутри колонок:
\end_layout
\begin_layout Standard
\begin_inset Flex Multiple Columns
status open
\begin_layout Plain Layout
\size footnotesize
\lang english
The Honourable Ronald Adair was the second son of the Earl of Maynooth,
at that time governor of one of the Australian colonies.
Adair's mother had returned from Australia to undergo the operation for cataract,
and she,
her son Ronald,
and her daughter Hilda were living together at 427 Park Lane.
\end_layout
\begin_layout Plain Layout
\begin_inset Flex Multiple Columns
status open
\begin_layout Plain Layout
\size footnotesize
\lang english
The youth moved in the best society
\begin_inset space ~
\end_inset
– had,
so far as was known,
no enemies and no particular vices.
He had been engaged to Miss Edith Woodley,
of Carstairs,
but the engagement had been broken off by mutual consent some months before,
and there was no sign that it had left any very profound feeling behind it.
For the rest {sic} the man's life moved in a narrow and conventional circle,
for his habits were quiet and his nature unemotional.
Yet it was upon this easy-going young aristocrat that death came,
in most strange and unexpected form,
between the hours of ten and eleven-twenty on the night of March 30,
1894.
\end_layout
\end_inset
\end_layout
\begin_layout Plain Layout
\size footnotesize
\lang english
Ronald Adair was fond of cards
\begin_inset space ~
\end_inset
– playing continually,
but never for such stakes as would hurt him.
He was a member of the Baldwin,
the Cavendish,
and the Bagatelle card clubs.
It was shown that,
after dinner on the day of his death,
he had played a rubber of whist at the latter club.
He had also played there in the afternoon.
\size default
\size footnotesize
The evidence of those who had played with him
\begin_inset space ~
\end_inset
– Mr.
Murray,
Sir John Hardy,
and Colonel Moran
\begin_inset space ~
\end_inset
– showed that the game was whist,
and that there was a fairly equal fall of the cards.
Adair might have lost five pounds,
but not more.
His fortune was a considerable one,
and such a loss could not in any way affect him.
He had played nearly every day at one club or other,
but he was a cautious player,
and usually rose a winner.
It came out in evidence that,
in partnership with Colonel Moran,
he had actually won as much as four hundred and twenty pounds in a sitting,
some weeks before,
from Godfrey Milner and Lord Balmoral.
So much for his recent history as it came out at the inquest.
\end_layout
\end_inset
\end_layout
\begin_layout Subsection
Дополнительные примеры
\end_layout
\begin_layout Standard
Примеры в этом разделе демонстрируют некоторые дополнительные особенности организации мульти-колонок.
\end_layout
\begin_layout Standard
Дополнительные возможности использования нескольких колонок см.
в
\begin_inset CommandInset href
LatexCommand href
name "документации"
target "http://mirror.ctan.org/macros/latex/required/tools/multicol.pdf"
literal "false"
\end_inset
\SpecialChar LaTeX
-пакета
\series bold
multicol
\series default
.
\end_layout
\begin_layout Subsubsection
Введение
\end_layout
\begin_layout Standard
Чтобы добавить текст введения для нескольких колонок,
установите курсор во вставку с многоколоночностью и используйте меню
\family sans
Вставка\SpecialChar menuseparator
Введение
\family default
.
Введите текст введения во вставке.
\begin_inset Newline newline
\end_inset
Пример с некоторым текстом введения:
\end_layout
\begin_layout Standard
\begin_inset VSpace bigskip
\end_inset
\end_layout
\begin_layout Standard
\begin_inset Flex Multiple Columns
status open
\begin_layout Plain Layout
\begin_inset Argument 2
status open
\begin_layout Plain Layout
\lang english
And the story continues and continues and continues and continues\SpecialChar ldots
\end_layout
\end_inset
\size small
\lang english
On the evening of the crime,
he returned from the club exactly at ten.
His mother and sister were out spending the evening with a relation.
The servant deposed that she heard him enter the front room on the second floor,
generally used as his sitting-room.
She had lit a fire there,
and as it smoked she had opened the window.
No sound was heard from the room until eleven-twenty,
the hour of the return of Lady Maynooth and her daughter.
Desiring to say good-night,
she attempted to enter her son's room.
The door was locked on the inside,
and no answer could be got to their cries and knocking.
Help was obtained,
and the door forced.
The unfortunate young man was found lying near the table.
His head had been horribly mutilated by an expanding revolver bullet,
but no weapon of any sort was to be found in the room.
\end_layout
\end_inset
\end_layout
\begin_layout Standard
Вы также можете использовать заголовок раздела в качестве введения,
если используете команду раздела как
\family sans
Код TeX
\family default
.
Например,
команда
\end_layout
\begin_layout LyX-Code
\backslash
subsection{Заголовок}
\end_layout
\begin_layout Standard
создает подраздел.
В этом примере,
введение —
это заголовок подраздела:
\end_layout
\begin_layout Standard
\begin_inset Flex Multiple Columns
status open
\begin_layout Plain Layout
\begin_inset Argument 2
status open
\begin_layout Plain Layout
\begin_inset ERT
status collapsed
\begin_layout Plain Layout
\backslash
subsubsection{
\end_layout
\end_inset
Этот заголовок подраздела —
введение
\begin_inset ERT
status collapsed
\begin_layout Plain Layout
}
\end_layout
\end_inset
\end_layout
\end_inset
\size small
\lang english
A minute examination of the circumstances served only to make the case more complex.
In the first place,
no reason could be given why the young man should have fastened the door upon the inside.
There was the possibility that the murderer had done this,
and had afterwards escaped by the window.
The drop was at least twenty feet,
however,
and a bed of crocuses in full bloom lay beneath.
Neither the flowers nor the earth showed any sign of having been disturbed,
nor were there any marks upon the narrow strip of grass which separated the house from the road.
Apparently,
therefore,
it was the young man himself who had fastened the door.
But how did he come by his death?
No one could have climbed up to the window without leaving traces.
Suppose a man had fired through the window,
he would indeed be a remarkable shot who could with a revolver inflict so deadly a wound.
Again,
Park Lane is a frequented thoroughfare;
there is a cab stand within a hundred yards of the house.
No one had heard a shot.
\end_layout
\end_inset
\end_layout
\begin_layout Standard
Если вертикальное пространство меньше,
чем 6 строк текста,
оставшихся на странице в начале мульти-колонок,
разрыв страницы будет вставлен перед этими колонками.
В зависимости от количества строк текста введения вы можете изменить размер этого пространства.
Это делается путем установки курсора во вставку из нескольких колонок за введением (если таковое имеется) и используя меню
\family sans
Вставка\SpecialChar menuseparator
Пробел перед разрывом страницы
\family default
.
Вставьте во вставку требуемую величину промежутка,
например,
«5cm».
\begin_inset Newline newline
\end_inset
В следующем примере вертикальное расстояние установлено на 7 текстовых строк с помощью
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
7
\backslash
baselineskip
\end_layout
\end_inset
(где команда
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
baselineskip
\end_layout
\end_inset
должна быть вставлена как \SpecialChar TeX
-код):
\end_layout
\begin_layout Standard
\begin_inset Flex Multiple Columns
status open
\begin_layout Plain Layout
\begin_inset Argument 3
status open
\begin_layout Plain Layout
7
\begin_inset ERT
status collapsed
\begin_layout Plain Layout
\backslash
baselineskip
\end_layout
\end_inset
\end_layout
\end_inset
\size small
\lang english
On the evening of the crime,
he returned from the club exactly at ten.
His mother and sister were out spending the evening with a relation.
The servant deposed that she heard him enter the front room on the second floor,
generally used as his sitting-room.
She had lit a fire there,
and as it smoked she had opened the window.
No sound was heard from the room until eleven-twenty,
the hour of the return of Lady Maynooth and her daughter.
Desiring to say good-night,
she attempted to enter her son's room.
The door was locked on the inside,
and no answer could be got to their cries and knocking.
Help was obtained,
and the door forced.
The unfortunate young man was found lying near the table.
His head had been horribly mutilated by an expanding revolver bullet,
but no weapon of any sort was to be found in the room.
\end_layout
\end_inset
\end_layout
\begin_layout Subsubsection
Окружающее пространство
\end_layout
\begin_layout Standard
Размер пространства до и после нескольких колонок можно изменить с помощью
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
multicolsep
\end_layout
\end_inset
.
Например,
команда
\end_layout
\begin_layout LyX-Code
\backslash
setlength{
\backslash
multicolsep}{3cm}
\end_layout
\begin_layout Standard
в \SpecialChar TeX
-коде меняет значение на 3
\begin_inset space \thinspace{}
\end_inset
см.
Изменение необходимо сделать до начала колонок.
Предустановленное значение —
13
\begin_inset space \thinspace{}
\end_inset
pt.
\end_layout
\begin_layout Standard
Для этого примера
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
multicolsep
\end_layout
\end_inset
устанавливается в 2.5
\begin_inset space \thinspace{}
\end_inset
cm:
\end_layout
\begin_layout Standard
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
setlength{
\backslash
multicolsep}{2.5cm}
\end_layout
\end_inset
\end_layout
\begin_layout Standard
\begin_inset Flex Multiple Columns
status open
\begin_layout Plain Layout
\size small
\lang english
All day I turned these facts over in my mind,
endeavouring to hit upon some theory which could reconcile them all,
and to find that line of least resistance which my poor friend had declared to be the starting-point of every investigation.
I confess that I made little progress.
In the evening I strolled across the Park,
and found myself about six o'clock at the Oxford Street end of Park Lane.
A group of loafers upon the pavements,
all staring up at a particular window,
directed me to the house which I had come to see.
A tall,
thin man with coloured glasses,
whom I strongly suspected of being a plain-clothes detective,
was pointing out some theory of his own,
while the others crowded round to listen to what he said.
I got as near him as I could,
but his observations seemed to me to be absurd,
so I withdrew again in some disgust.
As I did so I struck against an elderly,
deformed man,
who had been behind me,
and I knocked down several books which he was carrying.
\end_layout
\end_inset
\end_layout
\begin_layout Standard
\begin_inset Note Greyedout
status open
\begin_layout Plain Layout
\series bold
Примечание.
\series default
Значения,
устанавливаемые с помощью
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
setlength
\end_layout
\end_inset
,
будут использоваться для всех последующих мульти-колонок,
пока не будут изменены снова.
\end_layout
\end_inset
\end_layout
\begin_layout Standard
\begin_inset ERT
status collapsed
\begin_layout Plain Layout
\backslash
setlength{
\backslash
multicolsep}{13pt}
\end_layout
\end_inset
\begin_inset Note Note
status collapsed
\begin_layout Plain Layout
возврат к значению по умолчанию
\end_layout
\end_inset
\end_layout
\begin_layout Standard
\begin_inset Newpage newpage
\end_inset
\end_layout
\begin_layout Subsubsection
Разрывы колонок
\end_layout
\begin_layout Standard
Разрыв колонки можно принудительно выполнить,
вставив команду
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
columnbreak{}
\end_layout
\end_inset
в \SpecialChar TeX
-коде в ту позицию в тексте,
где колонка должна быть разорвана.
Обратите внимание,
что в большинстве случаев это приводит к появлению пробелов в тексте.
\begin_inset Newline newline
\end_inset
Пример:
\end_layout
\begin_layout Standard
\begin_inset Flex Multiple Columns
status open
\begin_layout Plain Layout
\size small
\lang english
\begin_inset Quotes eld
\end_inset
You're surprised to see me,
sir,
\begin_inset Quotes erd
\end_inset
said he,
in a strange,
croaking voice.
\end_layout
\begin_layout Plain Layout
\size small
\lang english
I acknowledged that I was.
\end_layout
\begin_layout Plain Layout
\size small
\lang english
\begin_inset Quotes eld
\end_inset
Well,
I've a conscience,
sir,
and when I chanced to see you go into this house,
as I came hobbling after you,
I thought to myself,
I'll just step in and see that kind gentleman,
and tell him that if I was a bit gruff in my manner there was not any harm meant,
and that I am much obliged to him for picking up my books.
\begin_inset Quotes erd
\end_inset
\end_layout
\begin_layout Plain Layout
\size small
\lang english
\begin_inset Quotes eld
\end_inset
You make too much of a trifle,
\begin_inset Quotes erd
\end_inset
said I.
\begin_inset Quotes eld
\end_inset
May I ask how you knew who I was?
\begin_inset Quotes erd
\end_inset
AFTER THIS SENTENCE THE COLUMN BREAK IS FORCED.
\begin_inset ERT
status collapsed
\begin_layout Plain Layout
\backslash
columnbreak{}
\end_layout
\end_inset
\end_layout
\begin_layout Plain Layout
\size small
\lang english
\begin_inset Quotes eld
\end_inset
Well,
sir,
if it isn't too great a liberty,
I am a neighbour of yours,
for you'll find my little bookshop at the corner of Church Street,
and very happy to see you,
I am sure.
Maybe you collect yourself,
sir.
Here's
\noun on
British
\begin_inset space ~
\end_inset
Birds
\noun default
,
and
\noun on
Catullus
\noun default
,
and
\noun on
The Holy War
\noun default
\begin_inset space ~
\end_inset
– a bargain,
every one of them.
With five volumes you could just fill that gap on that second shelf.
It looks untidy,
does it not,
sir?
\begin_inset Quotes erd
\end_inset
\end_layout
\end_inset
\end_layout
\begin_layout Subsubsection
Разделение колонок
\end_layout
\begin_layout Standard
Ширина колонок рассчитывается автоматически,
но вы можете изменить расстояние между ними.
Это делается с помощью команды
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
columnsep
\end_layout
\end_inset
.
Ее предопределенное значение —
10
\begin_inset space \thinspace{}
\end_inset
pt.
Пример установки значения для
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
columnsep
\end_layout
\end_inset
:
\end_layout
\begin_layout Standard
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
setlength{
\backslash
columnsep}{3cm}
\end_layout
\end_inset
\end_layout
\begin_layout Standard
\begin_inset Flex Multiple Columns
status open
\begin_layout Plain Layout
\size small
\lang english
My observations of No.
\begin_inset space \space{}
\end_inset
427 Park Lane did little to clear up the problem in which I was interested.
The house was separated from the street by a low wall and railing,
the whole not more than five feet high.
It was perfectly easy,
therefore,
for anyone to get into the garden,
but the window was entirely inaccessible,
since there was no water pipe or anything which could help the most active man to climb it.
More puzzled than ever,
I retraced my steps to Kensington.
I had not been in my study five minutes when the maid entered to say that a person desired to see me.
To my astonishment it was none other than my strange old book collector,
his sharp,
wizened face peering out from a frame of white hair,
and his precious volumes,
a dozen of them at least,
wedged under his right arm.
\end_layout
\end_inset
\end_layout
\begin_layout Standard
\begin_inset ERT
status collapsed
\begin_layout Plain Layout
\backslash
setlength{
\backslash
columnsep}{10pt}
\end_layout
\end_inset
\begin_inset Note Note
status collapsed
\begin_layout Plain Layout
go back to the default
\end_layout
\end_inset
\end_layout
\begin_layout Subsubsection
Вертикальные линии
\end_layout
\begin_layout Standard
Между столбцами помещается линия толщиной,
задаваемой
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
columnseprule
\end_layout
\end_inset
.
Если толщина устанавливается в 0
\begin_inset space \thinspace{}
\end_inset
pt (это значение по умолчанию),
линия не проводится.
В следующем примере ширина разделительной линии составляет 2
\begin_inset space \thinspace{}
\end_inset
pt:
\end_layout
\begin_layout Standard
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
setlength{
\backslash
columnseprule}{2pt}
\end_layout
\end_inset
\end_layout
\begin_layout Standard
\begin_inset Flex Multiple Columns
status open
\begin_layout Plain Layout
\size small
\lang english
\begin_inset Quotes eld
\end_inset
You're surprised to see me,
sir,
\begin_inset Quotes erd
\end_inset
said he,
in a strange,
croaking voice.
\end_layout
\begin_layout Plain Layout
\size small
\lang english
I acknowledged that I was.
\end_layout
\begin_layout Plain Layout
\size small
\lang english
\begin_inset Quotes eld
\end_inset
Well,
I've a conscience,
sir,
and when I chanced to see you go into this house,
as I came hobbling after you,
I thought to myself,
I'll just step in and see that kind gentleman,
and tell him that if I was a bit gruff in my manner there was not any harm meant,
and that I am much obliged to him for picking up my books.
\begin_inset Quotes erd
\end_inset
\end_layout
\begin_layout Plain Layout
\size small
\lang english
\begin_inset Quotes eld
\end_inset
You make too much of a trifle,
\begin_inset Quotes erd
\end_inset
said I.
\begin_inset Quotes eld
\end_inset
May I ask how you knew who I was?
\begin_inset Quotes erd
\end_inset
\end_layout
\begin_layout Plain Layout
\size small
\lang english
\begin_inset Quotes eld
\end_inset
Well,
sir,
if it isn't too great a liberty,
I am a neighbour of yours,
for you'll find my little bookshop at the corner of Church Street,
and very happy to see you,
I am sure.
Maybe you collect yourself,
sir.
Here's
\noun on
British
\begin_inset space ~
\end_inset
Birds
\noun default
,
and
\noun on
Catullus
\noun default
,
and
\noun on
The Holy War
\noun default
\begin_inset space ~
\end_inset
– a bargain,
every one of them.
With five volumes you could just fill that gap on that second shelf.
It looks untidy,
does it not,
sir?
\begin_inset Quotes erd
\end_inset
\end_layout
\end_inset
\end_layout
\begin_layout Standard
\begin_inset VSpace defskip
\end_inset
\end_layout
\begin_layout Standard
Линию можно вывести в цвете,
переопределив
\begin_inset Flex Code
status collapsed
\begin_layout Plain Layout
\backslash
columnseprulecolor
\end_layout
\end_inset
.
Это делается путем вставки команды
\end_layout
\begin_layout LyX-Code
\backslash
renewcommand{
\backslash
columnseprulecolor}{
\backslash
color{red}}
\end_layout
\begin_layout Standard
как \SpecialChar TeX
-кода перед вставкой мульти-колонок,
для получения дополнительной информации о предварительно определенных и само-определенных цветах см.
руководство
\shape italic
Встроенные объекты
\shape default
,
раздел
\shape italic
Цветные таблицы
\shape default
.
Чтобы вернуться к цвету по умолчанию,
вставьте команду
\end_layout
\begin_layout LyX-Code
\backslash
renewcommand{
\backslash
columnseprulecolor}{
\backslash
normalcolor}
\end_layout
\begin_layout Standard
Пример с линией голубого цвета и расстоянием между колонками в 1
\begin_inset space \thinspace{}
\end_inset
см:
\end_layout
\begin_layout Standard
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
setlength{
\backslash
columnsep}{1cm}
\end_layout
\begin_layout Plain Layout
\backslash
renewcommand{
\backslash
columnseprulecolor}{
\backslash
color{cyan}}
\end_layout
\end_inset
\end_layout
\begin_layout Standard
\begin_inset Flex Multiple Columns
status open
\begin_layout Plain Layout
\size small
\lang english
\begin_inset Quotes eld
\end_inset
You're surprised to see me,
sir,
\begin_inset Quotes erd
\end_inset
said he,
in a strange,
croaking voice.
\end_layout
\begin_layout Plain Layout
\size small
\lang english
I acknowledged that I was.
\end_layout
\begin_layout Plain Layout
\size small
\lang english
\begin_inset Quotes eld
\end_inset
Well,
I've a conscience,
sir,
and when I chanced to see you go into this house,
as I came hobbling after you,
I thought to myself,
I'll just step in and see that kind gentleman,
and tell him that if I was a bit gruff in my manner there was not any harm meant,
and that I am much obliged to him for picking up my books.
\begin_inset Quotes erd
\end_inset
\end_layout
\begin_layout Plain Layout
\size small
\lang english
\begin_inset Quotes eld
\end_inset
You make too much of a trifle,
\begin_inset Quotes erd
\end_inset
said I.
\begin_inset Quotes eld
\end_inset
May I ask how you knew who I was?
\begin_inset Quotes erd
\end_inset
\end_layout
\begin_layout Plain Layout
\size small
\lang english
\begin_inset Quotes eld
\end_inset
Well,
sir,
if it isn't too great a liberty,
I am a neighbour of yours,
for you'll find my little bookshop at the corner of Church Street,
and very happy to see you,
I am sure.
Maybe you collect yourself,
sir.
Here's
\noun on
British
\begin_inset space ~
\end_inset
Birds
\noun default
,
and
\noun on
Catullus
\noun default
,
and
\noun on
The Holy War
\noun default
\begin_inset space ~
\end_inset
– a bargain,
every one of them.
With five volumes you could just fill that gap on that second shelf.
It looks untidy,
does it not,
sir?
\begin_inset Quotes erd
\end_inset
\end_layout
\end_inset
\end_layout
\begin_layout Standard
\begin_inset ERT
status collapsed
\begin_layout Plain Layout
\backslash
setlength{
\backslash
columnseprule}{0pt}
\end_layout
\begin_layout Plain Layout
\backslash
renewcommand{
\backslash
columnseprulecolor}{
\backslash
normalcolor}
\end_layout
\end_inset
\begin_inset Note Note
status collapsed
\begin_layout Plain Layout
восстановление значения по умолчанию
\end_layout
\end_inset
\end_layout
\begin_layout Section
Нестандартные формы абзацев
\end_layout
\begin_layout Standard
\noindent
\SpecialChar LaTeX
,
как и любой другой текстовый процессор,
по умолчанию использует прямоугольные абзацы.
Для особых случаев,
таких как,
например,
плакаты,
пригласительные билеты или стихи,
вы можете изменить форму абзаца по своему выбору.
Это можно сделать с помощью \SpecialChar LaTeX
-пакета
\series bold
shapepar
\series default
,
используя в настройках документа модуля
\family sans
Пользовательские формы абзаца
\family default
.
\end_layout
\begin_layout Subsection
Предопределенные формы
\end_layout
\begin_layout Standard
\series bold
shapepar
\series default
предоставляет следующие формы:
\end_layout
\begin_layout Standard
\begin_inset Tabular
\begin_inset Text
\begin_layout Plain Layout
\series bold
\size small
Название
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
\series bold
Описание
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
\series bold
\size small
Аннотация
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
\size small
CDlabel
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
\size small
Круг с круглым отверстием в центре (размером с CD/DVD)
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
\size small
Не масштабируется,
убедитесь,
что текста не слишком много
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
\size small
Circle
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
\size small
Круг
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
\size small
Хрупкий,
расчет может потерпеть неудачу
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
\size small
Diamond
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
\size small
Ромбовидный (символизирующий «ромб»)
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
\size small
-
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
\size small
Heart
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
\size small
Форма сердца
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
\size small
-
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
\size small
Hexagon
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
\size small
Шестиугольник
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
\size small
-
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
\size small
Nut
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
\size small
Гайка для болта (шестигранник с круглым отверстием)
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
\size small
-
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
\size small
Square
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
\size small
Квадрат
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
\size small
-
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
\size small
Star
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
\size small
Пятиконечная звезда
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
\size small
-
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
\size small
Candle
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
\size small
Горящая свеча
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
\size small
-
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
\size small
Drop down/up
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
\size small
Капля,
направленная вниз/вверх
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
\size small
Хрупкий,
расчет может потерпеть неудачу
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
\size small
\SpecialChar TeX
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
\size small
Логотип \SpecialChar TeX
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
\size small
-
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
\size small
Triangle up/down/
\begin_inset Newline newline
\end_inset
left/right
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
\size small
Треугольники в разной ориентации
\end_layout
\end_inset
|
\begin_inset Text
\begin_layout Plain Layout
\size small
-
\end_layout
\end_inset
|
\end_inset
\end_layout
\begin_layout Standard
Чтобы использовать форму для абзаца,
просто выберите ее в раскрывающемся списке \SpecialChar LyX
для окружений на панели инструментов.
\end_layout
\begin_layout Standard
\begin_inset Newpage newpage
\end_inset
\end_layout
\begin_layout Standard
Пример абзаца в форме гайки:
\end_layout
\begin_layout Standard
\begin_inset VSpace bigskip
\end_inset
\end_layout
\begin_layout Nut
\lang latin
Lorem ipsum dolor sit amet,
consetetur sadipscing elitr,
sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat,
sed diam voluptua.
At vero eos et accusam et justo duo dolores et ea rebum.
Stet clita kasd gubergren,
no sea takimata sanctus est Lorem ipsum dolor sit amet.
Lorem ipsum dolor sit amet,
consetetur sadipscing elitr,
sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat,
sed diam voluptua.
\end_layout
\begin_layout Standard
\begin_inset VSpace bigskip
\end_inset
\end_layout
\begin_layout Standard
\begin_inset Note Greyedout
status open
\begin_layout Plain Layout
Примечание.
Абзацы
\series bold
shapepar
\series default
не могут разрываться между страницами.
\end_layout
\end_inset
\end_layout
\begin_layout Standard
\begin_inset VSpace bigskip
\end_inset
\end_layout
\begin_layout Standard
Пакет
\series bold
shapepar
\series default
\begin_inset Quotes rld
\end_inset
заботится
\begin_inset Quotes rrd
\end_inset
о том,
чтобы форма всегда сохранялась,
независимо от того,
сколько текста находится в абзаце.
Поэтому размер абзаца изменяется вместе с объемом содержащегося в нем текста.
Это может привести к тому,
что размер абзаца превысит поля страницы.
Чтобы продемонстрировать масштабирование размера,
приведем предыдущий пример абзаца,
но с большим объемом текста:
\end_layout
\begin_layout Standard
\begin_inset Newpage newpage
\end_inset
\end_layout
\begin_layout Nut
\lang latin
Lorem ipsum dolor sit amet,
consetetur sadipscing elitr,
sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat,
sed diam voluptua.
At vero eos et accusam et justo duo dolores et ea rebum.
Stet clita kasd gubergren,
no sea takimata sanctus est Lorem ipsum dolor sit amet.
Lorem ipsum dolor sit amet,
consetetur sadipscing elitr,
sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat,
sed diam voluptua.
Lorem ipsum dolor sit amet,
consetetur sadipscing elitr,
sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat,
sed diam voluptua.
At vero eos et accusam et justo duo dolores et ea rebum.
Stet clita kasd gubergren,
no sea takimata sanctus est Lorem ipsum dolor sit amet.
Lorem ipsum dolor sit amet,
consetetur sadipscing elitr,
sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat,
sed diam voluptua.
\end_layout
\begin_layout Standard
\begin_inset VSpace bigskip
\end_inset
\end_layout
\begin_layout Standard
Исключение составляет форма
\family sans
Этикетка CD
\family default
.
Ее нельзя масштабировать,
потому что она должна соответствовать размеру CD/DVD.
Поэтому объем текста,
который вписывается в форму,
ограничен.
Формы капли и круга являются
\begin_inset Quotes rld
\end_inset
хрупкими
\begin_inset Quotes rrd
\end_inset
,
а это означает,
что расчет их размера может не выполниться,
в зависимости от объема текста.
Тогда вы получите ошибку \SpecialChar LaTeX
«Арифметическое переполнение».
В этом случае можно попробовать удалить или добавить текст;
если ничего не получается,
попробуйте использовать другую форму.
\end_layout
\begin_layout Standard
\begin_inset VSpace bigskip
\end_inset
\end_layout
\begin_layout Standard
Для фигур с наконечниками вы,
возможно,
увидите,
что процедура расстановки переносов в \SpecialChar LaTeX
не работает для фрагмента текста,
расположенного в наконечнике.
Поэтому,
в этих ситуациях необходимо добавить точки переноса самостоятельно (
\family sans
\begin_inset Info
type "shortcut"
arg "specialchar-insert hyphenation"
\end_inset
\family default
).
\end_layout
\begin_layout Standard
\begin_inset VSpace bigskip
\end_inset
\end_layout
\begin_layout Standard
Абзацы
\series bold
shapepar
\series default
либо всегда центрируются,
либо размещаются на странице так,
чтобы их левая граница касалась левого поля страницы.
Поэтому вы не можете использовать диалоговое окно абзаца для выравнивания таких абзацев.
Решение —
поместить абзац в мини-страницу или в parbox и выровнять блок.
Проблема здесь в том,
чтобы подобрать правильную ширину блока.
Поскольку,
если он слишком широкий и вы центрируете блок,
абзац не центрируется,
потому что он
\begin_inset Quotes rld
\end_inset
прилипает
\begin_inset Quotes rrd
\end_inset
к левой стороне блока.
Так что вам,
возможно,
придется немного поэкспериментировать с шириной,
пока не добьетесь приемлемого результата.
Приведем пример двух абзацев в форме сердца,
первый не выровнен,
второй выровнен по правому краю:
\end_layout
\begin_layout Heart
\noindent
\lang latin
Lo\SpecialChar softhyphen
rem ipsum dolor sit amet,
consetetur sadipscing elitr,
sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat,
sed diam voluptua.
At vero eos et accusam et justo duo dolores et ea rebum.
Stet clita kasd gubergren,
no sea takimata sanctus est Lorem ipsum dolor sit amet.
\end_layout
\begin_layout Standard
\begin_inset VSpace bigskip
\end_inset
\end_layout
\begin_layout Standard
\noindent
\align right
\begin_inset Box Frameless
position "t"
hor_pos "c"
has_inner_box 1
inner_pos "t"
use_parbox 1
use_makebox 0
width "42col%"
special "none"
height "1in"
height_special "totalheight"
thickness "0.4pt"
separation "3pt"
shadowsize "4pt"
framecolor "black"
backgroundcolor "none"
status open
\begin_layout Heart
\noindent
\lang latin
Lo\SpecialChar softhyphen
rem ipsum dolor sit amet,
consetetur sadipscing elitr,
sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat,
sed diam voluptua.
At vero eos et accusam et justo duo dolores et ea rebum.
Stet clita kasd gubergren,
no sea takimata sanctus est Lorem ipsum dolor sit amet.
\end_layout
\end_inset
\end_layout
\begin_layout Subsection
Пользовательские формы
\end_layout
\begin_layout Standard
Вы можете определить любую форму,
какую пожелаете.
Выполнение этого вручную —
весьма кропотливая работа,
потому что необходимо задать каждую координату (для точек,
где меняется направление границы формы).
Но имеется способ позволить компьютеру проделать эту работу:
\end_layout
\begin_layout Enumerate
Установите программу
\begin_inset CommandInset href
LatexCommand href
name "Jpgfdraw"
target "https://www.ctan.org/tex-archive/graphics/jpgfdraw"
literal "false"
\end_inset
.
\end_layout
\begin_layout Enumerate
В
\family sans
Jpgfdraw
\family default
перейдите в меню
\family sans
TeX/LaTeX\SpecialChar menuseparator
Settings\SpecialChar menuseparator
Set Normal Size
\family default
и выберите размер шрифта,
который вы используете в своем документе.
Например,
в данном документе используется размер 12
\begin_inset space \thinspace{}
\end_inset
pt.
\end_layout
\begin_layout Enumerate
Нарисуйте форму.
\end_layout
\begin_layout Enumerate
Используйте меню
\family sans
TeX/LaTeX\SpecialChar menuseparator
Shapepar
\family default
,
чтобы экспортировать форму в координаты.
В появившемся диалоговом окне используйте либо контур вашей формы для координат,
либо сам путь
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Для получения дополнительной информации см.
\begin_inset Newline newline
\end_inset
\begin_inset CommandInset href
LatexCommand href
target "http://www.dickimaw-books.com/apps/jpgfdraw/manual/shapepar.html"
literal "false"
\end_inset
\end_layout
\end_inset
.
\end_layout
\begin_layout Standard
Координаты записываются в файл \SpecialChar TeX
.
Чтобы использовать его для своего документа \SpecialChar LyX
\end_layout
\begin_layout Enumerate
Поместите курсор перед первым символом вашего абзаца (или в новый пустой).
\end_layout
\begin_layout Enumerate
Откройте в \SpecialChar LyX
меню
\family sans
Вставка\SpecialChar menuseparator
Файл\SpecialChar menuseparator
Дочерний документ
\family default
,
выберите файл с координатами и используйте
\family sans
Включить
\family default
из списка
\family sans
Тип включения
\family default
.
\end_layout
\begin_layout Standard
\begin_inset VSpace defskip
\end_inset
\end_layout
\begin_layout Standard
\begin_inset Note Greyedout
status open
\begin_layout Plain Layout
\series bold
Примечание.
\series default
Измененная форма применяется только к текущему абзацу;
все возвращается в простой формат для следующего абзаца.
Поэтому файл определения формы должен быть введен в каждый абзац с требуемой формой.
\end_layout
\end_inset
\end_layout
\begin_layout Standard
\begin_inset VSpace bigskip
\end_inset
\end_layout
\begin_layout Standard
Пример:
\end_layout
\begin_layout Standard
\begin_inset VSpace bigskip
\end_inset
\end_layout
\begin_layout Standard
\begin_inset CommandInset include
LatexCommand input
filename "../SpecialParagraphShape.tex"
literal "true"
\end_inset
\lang latin
Lorem ipsum dolor sit amet,
consetetur sadipscing elitr,
sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat,
sed diam voluptua.
At vero eos et accusam et justo duo dolores et ea rebum.
Stet clita kasd gubergren,
no sea takimata sanctus est Lorem ipsum dolor sit amet.
Lorem ipsum dolor sit amet,
consetetur sadipscing elitr,
sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat,
sed diam voluptua.
\end_layout
\begin_layout Standard
\begin_inset VSpace bigskip
\end_inset
\end_layout
\begin_layout Standard
\series bold
Совет:
\series default
чтобы изобразить более сложные формы в
\family sans
Jpgfdraw
\family default
,
вы можете подготовить форму в любой программе по вашему выбору и импортировать полученное изображение в
\family sans
Jpgfdraw
\family default
.
Затем вам нужно будет только провести линию или сплайн по контуру изображения.
\end_layout
\begin_layout Standard
\begin_inset VSpace bigskip
\end_inset
\end_layout
\begin_layout Standard
Модуль
\family sans
Пользовательские формы абзаца
\family default
также предоставляет два окружения
\family typewriter
shapepar
\family default
и
\family typewriter
Shapepar
\family default
,
которые можно использовать для определения координат пользовательских форм
\begin_inset Foot
status collapsed
\begin_layout Plain Layout
Эти команды используются для всех описанных здесь форм.
\end_layout
\end_inset
.
Для получения информации об их использовании и о дополнительных возможностях настройки,
см.
\begin_inset CommandInset href
LatexCommand href
name "документацию"
target "https://www.ctan.org/tex-archive/macros/latex/contrib/shapepar/shapepar.pdf"
literal "false"
\end_inset
пакета
\series bold
shapepar
\series default
.
\end_layout
\end_body
\end_document