Грэтцер Г. Первые шаги в LaTeX'е (1185929), страница 18
Текст из файла (страница 18)
в равд. 6А.З. Ошибки второго н третьего вида будут, по-вндимому, выявляться ИТЕХ'ом сразу же в процессе обработки (мы уже видели несколько ошибок в математических формулах в равд. 2.2); некоторые нз ннх надо будет исправить до того, как ваша статья будет полностью обработана. Мы сейчас рассмотрим несколько примеров такого рода ошибок, насильственным образом исковеркав исходный файл предварительного образца ИТРАХ'овской статьи хпетвте.сех (в вашей днректорнн ноях: сам исходный файл представлен на сс. 76-81, а его обработанный вариант — на сс.
82 — 83), н исследуем появляющиеся прн этом сообщения об ошибках. 109 6.1 Сообщения !АТВХ'а об ошибках Когда ЬТВХ выдаст на экран подсказку т, вы можете либо попытаться продолжить обработку документа, нажав клавишу Ке!цгп, либо набрать х, чтобы немедленно остановить обработку. Относительно других возможностей см. равд. 6.4.1. Пример 1 В файле Апсгаге.сех в 21-й строке (вместо подсчета строк используйте функцию вашего текстового редактора «Ео !о 1!пе» или поиск некого текста) удалите закрываюшую фигурную скобку. Должно получиться 'тЬеЕАп(аЬзсгасе Когда вы обработаете получившийся файл Апегвге.сох, ИТВХ сообщит о возникшей проблеме: Еппавау агйзшепет (аьзсгасе Хп еЫа поев, ве ргоче сЬас еЬеге ех(зе 1вшрЬ 1ЕТС.
! РагайгарЬ епйеб Ьеуоге 1ЬеЕАп ваз сошр1еее. <со Ъе геаб аба1п> 1раг 1.26 (Аргумент бесконечной протяненностнУ (аЬвсгасс Хп еЫв поев, ее ргоче еЬае еЬеге ехйзе 1ешрЬ 'тЕТС. ! Абзац захончнлся до того, кзк завершился ~ЬвЕ(п. <прочтнтв емв раз> 1раг 1.26 ! Указанная в сообщении об ошибке строка 26 — это следующая строка после 1епб(аЬзегассг.
Из этого сообщения вы можете заключить, что с окружением аЬвегасс что-то не в порядке. Пример 2 Исправим ошибку в строке 21, а в строке 25 сделаем другую ошибку: заменим депо(аЬзегасе3 на депо(аЬвегасг и снова обработаем файл. Теперь ИТВХ информирует вас о другой ошибке: ! ЬаТеХ Еггог: 1ЬеЕ(п(аЬвегасМ оп Апрпе 1(пе 21 епбеб Ьу депо(аЬзегасу. Зве еЬе ЬатеХ швппа1 ог ЬаТеХ Сошрап(оп Тот ехр1апасАоп. Туре Н <геепгп> гог шшаеб(асе Ье1р.
1.25 1епб(аьзегасг Глава 6 Работа в ИТВХ'е [Ошибка ЬаТеХ'а: введенное в строке 21 ~Ье61п(аЬвсгасс) закакчиваетси 1епй(аЪвсгас). Раз>ксивник сн. в НаТеХ шезша1 или в путеводителе по НаТеХ'у. Наберите Н <геспгп> дюг скорой понокн. Вы можете продолжать обрабатывать статью, нажав йе!цгп: [6ТВХ сам выйдет из создавшейся ситуации. Пример 3 Не будем исправлять ошибку в 25-й строке, а превратим ее в комментарий, поставив слева знак процента: % '!епй(авеегас) В строке 66 сделаем еще одну ошибку.
Первоначально она была такой: 1аее[сев аае1вту1пН сопй1е1оп 1еехепр((3)). Еее 61ТЬееай Заменим ~Тьеса на ~теса: 1аее1сев вас1вту1пН сопй1ейоп Мехспр((Л)). Бее 31Тееай При обработке статьи в таком виде ИТВХ отрапортовал: ! Опйетйпей сопего1 ве<!попсе. <гесепе1у геай> 1теса 1.66 ...еехепр((л)). ьее 61тееа Ф [! Управллшнал последовательность не определена. <последнее прочтение> 1Тееа 1.66 ...сехепр((3)). Ъес 61Тееа $) При нажатии клавиши Ке!цгп вы получите такое сообщение: ! ЕаТеХ Еггог: 1Ье61п(аЬвегасе) оп 1прпе 1[не 21 вийей Ьу 1епй(йосвшепв). Нее еЬе ЬаТеХ шаппа1 ог ЬаТеХ Соврал[оп Тот ехр1апасйоп. Туре Н <геепгп> Тот 1шшей1асе Ье1р. 1.126 1епй(йоспшепе) 6. ! Сообщения ИТВХ'а об ошибках (! Оиибка ЬаТеХ'а: хве81п(аЬвегасет в строке 21 заквичиваетси 1епа(аосовепст. Си.
!.аТеХ иаппа1 кви Путеводитель по !.аТеХ'у длв разъяснений. Для скорой помощи капните Н <геспгп>. 1. 126 'хека(аосоиепсН Этн два сообщения легко понять: хтеса представляет собой опечатку в 1ТЬеса; во втором случае (АТЕХ пытался объединить в одно окружение 1Ьейхп(аЬвегасС) а(а в с) Теперь нужно убрать две внесенные ошибки (раскомментировать строку 25 и поставить букву «с» в конце слова «аьвсгасс»; добавить букву «ь», чтобы исправить опечатку в строке 66). Пример 4 Уберем закрывающую скобку в 38-й строке у команды 11аЬе1: 1Ьей1п(аег 1п1с1опт'х1аЬе1(О: Р» Это приведет к такому сообщению: Нопазау агйомепст (О:Р» Ьес $О Щ$, тот йх Мп 1$, Ье соир1есе а1всг1ЪйЕТС. ! РагайгарЬ епаеа Ъехоге 11аЬе1 ваз совр1есе.
<Со Ье геаа айа1п> 'храг 1. 49 (Аргуиеит бесконечной протяиевиостит (О:Р» Ьес $О (О$, гог $1 Мп 1$, Ье соир1есе а1вег1Ьп1ЕТС. ! Абзац звковчилсв до того, как завериилась коиаида 11аЬе1. <прочтите епе раз> храг 1.49! Строка 49 пустая, а за ней идет 1епа(ае11п1С1опт. Сообщение об ошибке легко понять: вы не можете начать новый абзац (храг) внутри ар!умента команды 11аЬе1. Верните то, что вы выбросили из строки 38. Глава 6 Работа в ВТВХ'е Пример 5 После строки 53: И 61е ~ивсе, О, 11аосв, а, хиосе, О, 114осв 1 6Ы вставьте пустую строку. В результате получите сообщение ! Наввапб Ф йпвегееб.
<йпвегсео сехс> Ф 1.64 с! Вставлек пропуиеиинй Э. <встввлвемнй текст> Ф 1 ° 64 1 Внутри окружения для выключной формулы не может быть пустых строк. ИТВХ обнаружил ошибку, но в сообщении об ошибке неправильно указал номер строки. Пример 6 добавьте Ф где-нибудь в строке 53 (такие ошибки часто случаются при копировании или склеивании нескольких формул): ~1ап61е 6~1йосв, О, 11босв, о, 114осв, О, 11йосв 1гап61е Это приведет к такому сообщению: ! 01вр1ау насЬ ввои14 епо в1СЬ 66. <Со Ье геао вбаап> 1ргосесс 1.63 ~1ап61е 611оосв , О, иаосв, а, 11йосв, О, паосе 1 61е с! Вмклнчиак натематическвл формула долина оквичиватьск 33. <прочтите еде раа> 1ргосесс 1.63 ~1ал61е Э~Ыоев , О, ~Ивсе, а, 11аосв, О, иаосв 1гвп61е) Внутри выключных формул не должно быть знаков 3.
Сообщения ИТВХ'а об ошибках не всегда так информативны, как нам бы хотелось, но, как правило, из предоставляемых сведений всегда прн желании можно получить истинную картину. Обычно в сообщении об ошибке по меньшей мере содержится номер строки (лнбо абзац, либо формула), где (6ТВХ понял, что имеется какая-то неполадка. Постарайтесь догадаться, какая структура (команда или окружение) привела к этой ошибке. Всегда помните, что ошибка может оказаться очень далеко от той строки, которую ЦЗ 8.2 Логический и явный дизайн указал ИТЕХ, но она всегда располагается в исходном файле на этой строке или на предыдущих.
Если возникли трудности с точной локализацией ошибки, создайте файл спггепе.аех с той же самой преамбулой, что и в рассматриваемом файле, но с пустым окружением йосвшепе. Затем копируйте абзацы, в которых по вашему представлению может содержаться ошибка, по одному в этот документ и следите за ошибками. Как только ваш новый документ будет обрабатываться правильно, копируйте этот абзац в ваш реальный документ и принимайтесь за следующий абзац.
В случае необходимости очень большие абзацы можно разбить на более мелкие. И наконец, часто делайте обработку своего файла в процессе его изготовления. При работе над английским оригиналом этой книги была допущена ошибка в подписи под рисунком на с. 18: была пропущена закрывающая фигурная скобка в команде 1сарг1оп. После обработки ИТЕХ выдал следующее сообщение об ошибке: ! Техв 11пе сопва1пв ап 1пча11о сЬагасеег. 1.1227 ...р1есе1у 1ггедпс1Ые "7 [! Текстовал строка содерллт неправильпуш литеру.
1.1227 ...р1еее1у 1ггейпс1Ые""7) где ссылка (1.1227) идет на текст на с. 29. Однако, если бы единственное, что надо было сделать перед тем, как обработать ИТЕХ'ом, это вставить рисунок, вы бы по крайней мере знали, где искать ошибку. Если вы делаете десятки исправлений, а затем обрабатываете файл, вы можете не знать, откуда начинать искать. 6.2 Логический и явный дизайн Цель настоящей книги научить вас правильно набирать ститьи для лоследующей обработки в Юф"в, а не научить правильно их писать. Полученная в результате обработки ИТЕХ'ом версия 1пегаге.еех (сс. 82 — 83) выглядит впечатляюще. Еще большее впечатление производит статья ввшрагв. сех (сс.
97-99). Чтобы получать так красиво оформленные статьи, нужно уяснить, что имеется два аспекта их дизайна: явный и логический. В качестве примера рассмотрим теорему из образца статьи в ИТЕХ'е 1пегаге.еех (обработанный вариант этой теоремы см. на с. 83). Вы говорите ИТЕХ'у, что вы хотите, чтобы теорема была оформлена при помощи окружения СЬеогеш: 1Ье81п(еЬеогеш111аье1(Т:Реу 1ев $0 (11$, $1 '51п 1$, Ье сошр1есе о1всг1Ьпв1че 1аввйсев ваейвТуйп8 сопо1е1оп 1еехепр((4)г.
Бег $1ТЬееа$ Ье а сошр1еее сопйгпепсе ге1ае1оп оп $~Р1"(е~ ( 0 (О ~ш1В 1 Мп 1 )$. 5 — 1454 1!4 Глава 6 Работа в ВТЕХ'е П сЬ еххвс $х «в 1$ ай $й «в О (1)$ вхсЬ $6 < 1 (х)$ висЬ сЬас, Хот а11 $6 11е9 с < 1 (1)$, 1ЬеЕ(п(ейпаейов) 11аЬ|1(Е:соп$1) 11ав$1е 116осв, 6, 11йосв, О, 11оосв 1хап$1е 1есуШг ~1ав$1е ~1йосв, с, ~1йосв, О, ~1йосв ~хав$1е 1ршой(1ТЬеса), 1ево(ейааС(ов) сЬеа $~ТЬеса = «оса$. Чева(СЬеотеш) Здесь мы прибегли к логическому дизайну теоремы, для чего поместили материал внутрь окружения сЬеохеш.