Цитаты и примеры -- это фрагменты текста, состоящие из одного или более полных абзацев, которые выделяются среди остального текста и обрабатываются особо. Обычно для них делается отступ.
В Texinfo вы всегда начинаете цитату или пример, написав @-команду в
начале отдельной строки, и завершаете написанием команды @end
также в начале отдельной строки. Скажем, вы начинаете пример, записывая
с новой строки команду @example, и завершаете написанием команды
@end example на отдельной строке так же в ее начале.
Вот команды для цитат и примеров, рассмотренные подробнее в следующих разделах:
@quotation
@example
@smallexample
@example,
только в TeX эта команда набирает текст более мелким шрифтом для
формата @smallbook, меньшего, чем формат 8.5 на 11
дюймов.
@lisp
@example, но специально для иллюстрации кода на Лиспе.
Текст печатается равноширинным шрифтом и смещается вправо, но не
заполняется.
@smalllisp
@lisp, что и @smallexample для
@example.
@display
@smalldisplay
@display, что и @smallexample для
@example.
@format
@display (текст не заполняется, шрифт не изменяется), но
отступ не делается.
@smallformat
@format, что и @smallexample для
@example.
Внутри перечисленных конструкций можно использовать команду
@exdent для отмены смещения строки вправо.
Команды @flushleft и @flushright служат для выравнивания
незаполненного текста по левому или правому полю.
После перечисленных конструкций можно использовать команду
@noindent для предотвращения смещения вправо последующего
текста как нового абзаца.
Для выделения примера или цитаты вы можете использовать с одной из
вышеперечисленных конструкций команду @cartouche, которая
нарисует вокруг них рамку с закругленными углами. See section Рисование рамок вокруг примеров.
@quotationТекст цитаты обрабатывается как обычно за следующими исключениями:
Это пример текста, написанного между командами
@quotationи@end quotation. Команда@quotationчаще всего применяется для обозначения того, что данный фрагмент текста взят из другого (настоящего или гипотетического) печатного произведения.
Пишите команду @quotation на отдельной строке. Эта строка
исчезнет при выводе. Отмечайте конец цитаты строкой, начинающейся
командой @end quotation и не содержащей ничего больше. Строка
@end quotation также не выводится. Таким образом, такой
текст:
@quotation Это нечто. @end quotation
дает при выводе
Это нечто.
@example
Команда @example применяется для обозначения примера, не
являющегося частью текущего текста, например компьютерного вывода и
ввода.
Это пример текста, записанного между командой@exampleи командой@end example. В этом тексте сделаны отступы, но не сделано заполнение. В печатном руководстве этот фрагмент текста набран равноширинным шрифтом, и существенно наличие дополнительных пробелов и пустых строк. В Info-файле аналогичный результат достигается смещением каждой строки на пять позиций вправо.
Пишите команду @example в начале отдельной строки. Отмечайте
конец примера командой @end example также записанной в начале
отдельной строки.
Например,
@example mv foo bar @end example
дает
mv foo bar
Строки, содержащие @example и @end example, не
выводятся. Чтобы вывод смотрелся хорошо, вы должны поместить пустую
строку перед командой @example и другую после @end
example. Заметьте, что все пустые строки внутри блока @example
появятся при выводе.
Внимание: Не используйте символы табуляции внутри текста примера (и вообще в Texinfo-файлах)! TeX воспринимает символы табуляции как один пробел, и это не похоже на табуляцию. Это проблема TeX. (Если необходимо, вы можете использовать M-x untabify в Emacs для превращения всех символов табуляции в области в пробелы.)
Примеры часто находятся, говоря логически, "в середине" абзаца, и
текст, следующий после примера, не должен смещаться вправо. Команда
@noindent предотвращает отступ во фрагменте текста, как в новом
абзаце.
(Для примеров, включенных в предложение, а не отделенных от
предшествующего и последующего текста, применяется команда
@code. See section @code{пример-кода}.)
@noindent
Пример или другое включение может разбить абзац на сегменты. Обычно
форматирующие программы делают в тексте, следующем после примера,
отступ, как в начале нового абзаца. Однако вы можете предотвратить это,
написав перед этим текстом команду @noindent в начале отдельной
строки.
Например:
@example
Это пример
@end example
@noindent
В этой строке нет отступа. Как вы видите, начало этой строки
смещено до предела влево, как и в следующей строке. (Весь пример
целиком заключен между @code{@@display} и @code{@@end display}.)
дает при выводе
Это примерВ этой строке нет отступа. Как вы видите, начало этой строки смещено до предела влево, как и в следующей строке. (Весь пример целиком заключен между@displayи@end display.)
При точной настройке числа пустых строк в выводе Info, помните, что
строка, содержащая @noindent, не производит пустую строку, как и
строка @end example.
В исходном Texinfo-файле этого руководства перед каждой строкой,
говорящей `дает', написана строка с командой @noindent.
Не пишите фигурные скобки после команды @noindent; они не
обязательны, так как @noindent используется вне абзаца
(see section Синтаксис @-команд).
@lisp
Для примеров на Лиспе используется команда @lisp. Она является
синонимом команды @example.
Это пример текста, написанного между командами@lispи@end lisp.
Используйте команду @lisp вместо @example, чтобы
сохранить информацию о природе примера. Это полезно, например, если вы
пишите функцию, вычисляющую весь Лисп-код в Texinfo-файле. После этого
вы можете использовать Texinfo-файл в качестве библиотеки
Лиспа.(7)
Отмечайте конец блока @lisp командой @end lisp,
записанной на отдельной строке.
@small...
Кроме обычных команд @example и @lisp в Texinfo
определены "маленькие" команды в стиле примера. Это команды
@smalldisplay, @smallexample, @smallformat и
@smalllisp. Все они разработаны для использования вместе с
командой @smallbook, заставляющей TeX выводить печатную книгу
в формате 7 на 9.25 дюймов, а не в обычном формате 8.5 на 11.
В TeX, команды @small... набирают текст для маленького
формата @smallbook более мелким шрифтом, чем для формата 8.5 на
11 дюймов. Следовательно, многие примеры, содержащие длинные строки,
умещаются на более узкой странице формата @smallbook без
необходимости укорочения. Обе команды набирают текст шрифтом обычного
размера, когда вы форматируете для формата размером 8.5 на 11 дюймов; на
самом деле, в этой ситуации команды @small... определены
эквивалентными соответствующим командам без small.
В Info команды @small... эквивалентны соответствующим
командам без small.
Помечайте конец блока @small... парной командой @end
small.... Например, пишите для @smallexample парную ей
@end smallexample.
Вот пример тектса, написанный маленьким шрифтом, используемым командами
@smallexample и @smalllisp:
Команды @small... облегчают подготовку руководств меньшего
формата, избавляя вас от необходимости ручного редактирования примеров
таким образом, чтобы они умещались на более узких страницах.
Обычно печатный документ смотрится лучше, если вы используете в главе
только одну из команд, к примеру, или @example, или
@smallexample. Как можно реже используйте оба формата
вперемежку.
See section Печать "маленьких" книг, для получения подробной
информации о команде @smallbook.
@display и @smalldisplay
Команда @display начинает текст, подобный примеру. Она похожа
на команду @example, только команда @display не
использует в печатном руководстве равноширинный шрифт. На самом деле,
она не задает никакого шрифта, то есть текст выводится тем же шрифтом,
каким бы он выводился без команды @display.
Это пример текста, написанного между командами@displayи@end display. Команда@displayделает в тексте отступы, но не заполняет его.
Texinfo также предоставляет команду @smalldisplay, которая
похожа на @display но использует в формате @smallbook
меньший шрифт. See section Команды блоков @small....
@format и @smallformat
Команда @format похожа на команду @example за
исключением того, что @format не сужает поля.
Это пример текста,
написанного между командами
@format и @end format.
Как вы видите
из этого примера, команда
@format не заполняет текст.
Texinfo также предоставляет команду @smallformat, которая похожа
на @format, но использует в формате @smallbook меньший
шрифт. See section Команды блоков @small....
@exdent: Отмена отступа в строке
Команда @exdent убирает все отступы, которые могут появиться в
строке. Эта команда пишется в начале строки и действует только на
текст, следующий за ней на той же строке. Не заключайте текст в
фигурные скобки. В печатном руководстве текст на строке @exdent
выводится романским шрифтом.
@exdent обычно применяется в примерах. Таким образом,
@example Эта строка написана после команды @@example. @exdent В этой строке отменен отступ. Эта строка написана после строки с отмененным отступом. @@end example идет на следующей строке.
дает
Эта строка написана после команды @example. В этой строке отменен отступ. Эта строка написана после строки с отмененным отступом. @end example идет на следующей строке.
На практике команда @exdent применяется редко. Обычно отступ отменяется
завершением примера и возвратом к обычной ширине страницы.
@flushleft и @flushright
Команды @flushleft и @flushright выравнивают концы строк по
левому и правому краю страницы, но не заполняют текст. Эти команды пишутся на
отдельных строках, без фигурных скобок. Действие команд @flushleft и
@flushright прекращается командами @end flushleft и @end
flushright, написанными на отдельных строках.
Например,
@flushleft Этот текст прижат влево. @end flushleft
дает
Этот текст прижат влево.
@flushright создает тип отступов, часто используемый для обратного
адреса в письмах. Например,
@flushright
Вот пример текста, прижатого
вправо. Команда @code{@flushright}
смещает каждую строку к правому краю, но
оставляет левые концы неровными.
@end flushright
дает
Вот пример текста, прижатого
вправо. Команда @flushright
смещает каждую строку к правому краю, но
оставляет левые концы неровными.
Команда @cartouche рисует в печатном руководстве рамку с
закругленными углами вокруг своего содержимого. Вы можете использовать
эту команду для большего выделения примера или цитаты. Например, вы
можете написать руководство, в котором какой-нибудь тип примеров
окружается рамкой для заострения внимания читателя.
@cartouche влияет только на печатное руководство; она не играет
роли в других выходных форматах.
Например,
@example @cartouche % pwd /usr/local/share/emacs @end cartouche @end example
заключает пример из двух строк в рамку с закругленными углами в печатном руководстве.
В печатном руководстве этот пример выглядит следующим образом:
% pwd /usr/local/lib/emacs/info
Go to the first, previous, next, last section, table of contents.