НОУ ІНТУІТ, Лекція, Набір тексту

Буквальне відтворення (verbatim, verb)

Оточення verbatim призначене для буквального відтворення наявних у файлі символів (шрифтом типу машинки). Однієї лише команди \ttfamily для цього недостатньо, оскільки текст, що відтворюється, може містити, наприклад, команди TeX'а, і необхідно, щоб вони друкувались, а не виконувались.

Між \begin і \end можуть йти будь-які символи (зокрема символ "\" і непарні фігурні дужки), крім послідовності символів \end . Після цього треба написати \end в окремому рядку, нічого крім цього тексту, що не містить (для всіх інших LaTeX'івських оточень це не обов'язково). При цьому між "\end" і "" не повинно бути пропуску (також всупереч загальним правилам: зазвичай такий пропуск, як і взагалі пропуск після імені команди, що складається з букв, ні на що не впливає).

Короткі послідовності символів зручно набирати для буквального відтворення за допомогою \verb . Безпосередньо після \verb повинен стояти будь-який символ, що не є буквою або зірочкою, далі - текст, що відтворюється (укладається в один рядок), не містить того символу, який стояв безпосередньо після \verb , а потім - знову той символ, що стояв безпосередньо після \ verb. Після \verb не повинно бути пропуску. Приклад:

Описані оточення та команда зручні, коли треба імітувати машинописний текст, на моніторі комп'ютера, або набирати тексти комп'ютерних програм. У цьому посібнику \verb і verbatim широко використовувалися для набору LaTeX'івських та TeX'івських команд.

У команди \verb та оточення verbatim є варіанти "із зірочкою". Від своїх варіантів без зірочки вони відрізняються тим, що пробіл зображується знаком .

Команду \verb та оточенняverbatim не можна використовувати у виносках; якщо вам необхідно надрукувати у виносці щось на зразок \sqrt , то доведеться робити це вручну, за допомогою команди \symbol : \textttsqrt> або \textttsqrt> .

Якщо ви забудете "закриваючий символ" у команді \verb або зробите помилку в тексті \end , то в кращому випадку отримаєте безліч повідомлень про помилку, а в гіршому - завісіть комп'ютер.

Якщо ви відтворюєте в режимі verbatim текст, що тягнеться на багато сторінок (наприклад, комп'ютерну програму), то TeX'у може не вистачити пам'яті. Щоб уникнути такої неприємності, треба або розподілити текст по кількох оточеннях verbatim, або підключити стильовий пакетverbatim, після чого можна буде спокійно задавати скільки завгодно довгі оточення verbatim і verbatim* (тільки не забудьте про \end в кінці ). Крім того, при підключенні цього пакета стає доступною команда \verbatiminput , що дозволяє дослівно відтворити вміст довільного текстового файлу: саме якщо ви напишете '\verbatiminput', то це буде рівносильно тому, якби ви написали

Абзаци нестандартної форми

Нехай нам потрібно було створити абзац з "негативним" абзацним відступом, у якому всі рядки, крім першого, починаються на відстані одного сантиметра від полів. Цього можна досягти так:

інтуіт

Тут TeX'івський параметр \hangindent означає величину відступу від полів у всіх рядках абзацу, крім першої (за умовчанням значення цього параметра дорівнює нулю). Зверніть увагу, що ми розпочали абзац командою \noindent , щоб перший рядок не розпочався з абзацним відступом (див. розд. Придушення стандартного відступу).

Нехай тепер хочеться, щоб додатковий відступ, величина якого задана параметром \hangindent, Починався не з другого рядка, а, скажімо, з третього. Для цього потрібно встановити ще один TeX'івський параметр, що позначається \hangafter :

Значення параметра \hangafter — номер рядка, після якого починається додатковий відступ. За умовчанням значення hangafter дорівнює одиниці (як і було в нашому першому прикладі).

Можна також домогтися того, щоб додатковий відступ не починався після якогось рядка, а навпаки, був присутній лише в перших рядках абзацу. Для цього треба привласнити параметру \hangafter негативне значення: якщо величина \hangafter дорівнює , то додатковий відступ, рівний \hangindent , буде в рядках номер . Приклад:

інтуіт

Якщо значення параметра \hangindent негативне і дорівнює , то додатковий відступ розміром буде відраховуватися від правого, а не лівого поля (у яких саме рядках буде цей додатковий відступ, як і раніше, визначається значенням \hangafter ):

набір

Після кожної команди "завершити абзац" (іншими словами, після кожного порожнього рядка або команди \par відновлюються прийняті за замовчуванням значення параметрів \hangindent і \hangafter . Відзначимо ще, що не слід змінювати ці параметри всередині LaTeX'івських оточення на зразок itemize або quote : у таких оточеннях LaTeX встановлює ці параметри самостійно, і їхнє ручне переустановлення може призвести до непередбачуваних результатів.

інтуіт

Початок цього химерного абзацу виглядав у вихідному тексті так:

Сенс цього тексту наступний. Число , наступне безпосередньо після \parshape і знаку рівності, задає кількість рядків, що мають нестандартну довжину та/або відступ від лівого поля. Після цього числа, через пропуск (кінець рядка, як ми пам'ятаємо, - теж пропуск), перераховані відступи від лівогополя та довжини рядків: 0cm - відступ першого рядка від лівого поля, 6cm - його довжина, 0.1cm - відступ другого рядка від лівого поля, 5.8cm - його довжина, і т.д. Якщо написано, що \parshape дорівнює , то після цього слід довжини. Якщо реально в абзаці вийде менше рядків, то вказівки на довжину та відступ відсутніх рядків будуть проігноровані TeX'ом; якщо рядків виходить більше, ніж всі наступні рядки матимуть ті ж відступ і довжину, що задані для рядка номер . Зауважимо, нарешті, що абзац ми почали командою \noindent , щоб відступ самого першого рядка справді дорівнював нулю (якщо абзац починається без \noindent , то в першому рядку буде ще бути пробіл довжиною в \parindent ).

Після порожнього рядка або команди \par дія параметрів, заданих командою \parshape припиняється.

У абзацу, форма якого задана за допомогою \hangindent або \parshape , довжина та відступ рядка залежать, як ви могли помітити, від його номера. Якщо такий абзац містить виключну формулу, то TeX вважає, що ця формула займає три рядки, причому сама формула розташована в середній із цих трьох (реально формула може, зрозуміло, займати більше місця).

Щоб зробити виноску до якогось місця в тексті, достатньо використовувати команду \footnote з одним обов'язковим аргументом - текстом виноски. У стандартних класах LaTeX'а виноски 8 На зразок цієї. нумеруються поспіль протягом усієї лекції або навіть (у класі article) всього документа. У вихідному тексті попередній фрагмент виглядав так:

У розділі, присвяченому "лічильникам", ми розповімо про те, які можливості є для того, щоб помічати виноски по-іншому.

Якщо після слова, до якого робиться виноска, повинен стояти розділовий знак, то у вихідному тексті його треба поставити після закриття.фігурної дужки, що обмежує аргумент команди \footnote.

Текст виноски може складатися з кількох абзаців; у цьому випадку вони, як завжди, поділяються порожнім рядком.

На жаль, непросто змусити TeX автоматично нумерувати виноски так, щоб нумерація починалася заново на кожній сторінці. У LaTeX'і, зокрема, такої можливості не передбачено. Якщо ви готові пожертвувати автоматичною нумерацією виносок, можна скористатися командою \footnote з необов'язковим аргументом. Цей необов'язковий аргумент ставиться (у квадратних дужках) перед обов'язковим \footnote [2003] . Попередній фрагмент виглядав у вихідному тексті так:

При використанні команди \ footnote з необов'язковим аргументом автоматична нумерація виносок не збивається: попередня виноска мала номер \ arabic , потім ми створили штучно виноску номер 2003, а наступна виноска 9 Ось ця. матиме номер \ arabic footnote > .

У випадку, якщо ви хочете зробити виноску до тексту, що входить до "блоку" (наприклад, в аргумент команди \mbox ; в "Блоки і клей" ми розповімо про те, що таке блок у загальному випадку і якими командами блоки генеруються), команда \ footnote непридатна. Ось як треба ставити виноски в цьому випадку:

У цьому випадку вийде нормальна виноска, що нагадує нам, що в назві роману mboxfootnotetext фігурують три мушкетери, а не чотири. Якби ми просто написали \ footnote, то побачили б на печатці тільки номер, але не саму виноску. Зверніть також увагу на "backslash з пробілом" після команди \footnotemark: ми його поставили, щоб між словами "три" та "мушкетери" на друку був пробіл.

Якщо ви до того ж хочете вручну задати номер виноски до тексту, що входить до "блоку", то потрібно задати цей номер двічі: перший раз уяк необов'язковий аргумент команди \footnotemark (обов'язкових аргументів у цієї команди не передбачено), а вдруге - як необов'язковий аргумент команди \footnotetext (необов'язковий аргумент цієї команди повинен йтипередобов'язковим):