Команди для природних мов – ЧАСТИНА 6

Зазвичай імя файлу, що передається цим командам, пишеться в кінці командного рядка: наприклад, latex імяфайлу . Проте в деяких випадках імя файлу має бути вставлено в команду це може знадобитися, наприклад, коли вам потрібно надати імя файлу як аргумент команді, чий висновок направляється іншій програмі Ви можете вказати, в яке місце слід підставити імя файлу, за допомогою знака * в командному рядку Наприклад,

(setq  tex-dvi-print-command &quotdvips  -f * | lpr&quot)

Термінальний висновок TEX, що включає всі повідомлення про помилки, зявляється в буфері з імям * tex-shell *. Якщо TEX отримав помилку, ви можете переключитися в цей буфер і подати йому якийсь введення (це працює як в режимі Shell, див Розділ 3022

[Інтерактивна оболонка], с 324) Без перемикання в цей буфер, ви можете прокрутити його за допомогою Cc Cl так, що остання строчка в ньому стане видимою

Наберіть Cc Ck (tex-kill-job), щоб знищити процес TEX, якщо ви розумієте, що його висновок вже даремний Використання Cc Cb або Cc Cr також знищує будь працюючий процес TEX

Ви також можете пропустити довільну область через підпорядкований TEX, набравши Cc Cr (tex-region) Однак, це ненадійно, тому що більшість вхідних файлів TEX містять на початку команди, що встановлюють якісь параметри і визначають

макроси, без яких подальша частина файлу не відформатуй правильно Для того,

щоб вирішити цю проблему, Cc Cr дозволяє вам позначити частину файлу як содер-

жащую важливі команди вона вставляється перед заданої областю як частина введення TEX

Позначена частина файлу називається заголовком

Щоб позначити межі заголовка в режимі Plain TEX, ви вставляєте в файл дві спеціальні рядки Вставте % ** start of header перед заголовком і % * end of header після нього Обидві мають зявитися повністю на одному рядку, але перед ними або після

них допускається інший текст Рядки, що містять ці фрази, включаються в заголовок Якщо % ** start of header чи не зявиться в межах перших 100 рядків буфера, Cc Cr припускає, що заголовка немає

У режимі LaTEX заголовок починається з команди \ documentstyle і закінчується командою \ begin {document}. LaTEX вимагає, щоб ви використовували ці команди в будь-якому випадку, так що для визначення заголовка не потрібно робити нічого особливого

Команди (tex-buffer) і (tex-region) роблять свою роботу в тимчасовому каталозі, і їм недоступні допоміжні файли, потрібні TEX для перехресних посилань ці команди в загальному випадку не підходять для обробки остаточної копії, в якій всі

перехресні посилання повинні бути правильними

Коли вам потрібні допоміжні файли для перехресних посилань, використовуйте Cc Cf (tex-file), яка запускає TEX для файлу поточного буфера в каталозі цього файлу Перед запуском TEX вона пропонує зберегти всі змінені буфери У загальному випадку,

ви повинні використовувати (tex-file) двічі, щоб отримати правильні перехресні

посилання

Значення змінної tex-start-options-string задає ключі для запуску TEX Значення за замовчуванням велить TEX працювати в невпинному режимі Щоб запустити TEX інтерактивно, встановіть цю змінну рівний “.

Великі документи TEX часто розбивають на декілька файлів – один головний плюс подфайли Запуск TEX для подфайла як правило не спрацює ви повинні запускати його для головного файлу Щоб зробити tex-file корисною при редагуванні подфайла,

ви можете встановити змінну tex-main-file рівний імені головного файлу Тоді

tex-file запустить TEX для цього файлу

Найбільш зручний спосіб використання tex-main-file – вказати її в переліку локаль-

них змінних в кожному з подфайлов Див Розділ 3125 [Змінні файлу], с 351

З LaTEX-файлами ви можете використовувати BibTEX, щоб обробити допоміжні файли для файлу поточного буфера BibTEX знаходить бібліографічні цитати в базі даних і готує процитовані посилання для розділу бібліграфіі Коман-

да Cc TAB (tex-bibtex-file) запускає команду оболонки (tex-bibtex-command), щоб отримати . bbl-файл для файлу поточного буфера Взагалі кажучи, вам потрібно спочатку зробити Cc Cf (tex-file), щоб отримати . aux-файл, потім зробити Cc TAB (texbibtex-file) і після цього повторити Cc Cf (tex-file) ще раз, щоб згенерувати правильні перехресні посилання

При вході в будь-який різновид режиму TEX запускаємо пастки text-mode-hook і tex-mode-hook Потім запускається plain-tex-mode-hook або latex-mode-hook, що підходить Для SliTEX-файлів запускається пастка slitex-mode-hook При старті оболонки

TEX запускається tex-shell-hook Див Розділ 3123 [Пастки], с 349

2110  Режим Nroff

Режим Nroff – це режим, схожий на режим Text, але модифікований для управ-

ня командами nroff, присутніми в тексті Викличте Mx nroff-mode, щоб увійти

в цей режим Він відрізняється від режиму Text лише кількома можливостями Всі рядки команд nroff вважаються роздільником абзаців, так що заповнення ніколи не спотворить команди nroff Сторінки розділяються командами . bp. Коментарі починаються з зворотної косої межі і подвійних лапок Також передбачені три спеціальні команди, яких немає в режимі Text:

Mn Перейти на початок наступного рядка, яка не є командою nroff

(Forward-text-line) Аргумент служить лічильником повторів

Mp Схожа на Mn, але зрушує вгору (backward-text-line)

M- Надрукувати в луна-області число текстових рядків (рядків, які не є командами nroff) у поточній області (count-text-lines)

Інша властивість режиму Nroff – це те, що ви можете включати режим Electric Nroff Це другорядний режим, який ви можете включати або виключати за допомогою Mx electric-nroff-mode (див Розділ 311 [Другорядні режими], с 341) Якщо цей режим включений, то кожен раз, коли ви набираєте hRETi  для закінчення рядка, яка містить команду nroff, що відкриває деякий вид групи, в наступний рядок автоматично вставляється відповідна закриває групу команда nroff Наприклад, якщо ви перебуваєте на початку рядка і наберете (B hRETi, То в новий рядок, наступну за точкою, буде вставлена ​​відповідна команда .) B.

Якщо з режимом Nroff ви використовуєте другорядний режим Outline (див Розділ 218 [Режим Outline], с 190), рядками заголовків будуть рядки виду . H з наступним числом (рівнем заголовка)

Вхід в режим Nroff запускає пастку text-mode-hook, а потім пастку nroff-modehook (див Розділ 3123 [Пастки], с 349)

2111  Редагування форматованого тексту

Режим Enriched – Це другорядний режим для редагування файлів, які містять форматований текст у стилі WYSIWYG, як у текстовому процесорі На даний момент форматований текст в режимі Enriched може задавати шрифти, кольори, підкреслення, поля і типи заповнення і вирівнювання У майбутньому ми плануємо реалізувати також і інші можливості для форматування

Режим Enriched – це другорядний режим (див Розділ 311 [Другорядні режими], с 341) Як правило він використовується разом з режимом Text (див Розділ 217 [Режим Text], с 190) Однак, ви можете також використовувати його і з іншими основними режимами, такими як режим Outline і режим Paragraph-Indent Text

Потенційно Emacs може зберігати файли з форматованим текстом в багатьох форматах На поточний момент реалізований тільки один формат:text/enriched, Який визначається протоколом MIME Див розділ Format Conversion в the Emacs Lisp Reference Manual, Для отримання подробиць про те, як Emacs розпізнає і пребразует формати файлів

Дистрибутив Emacs містить файл з форматованим текстом, який може служити прикладом Він називається etc / enricheddoc. Цей файл містить зразки, що ілюструють всі можливості, описані в цьому розділі У ньому також є перелік ідей для майбутніх поліпшень

21111  Запит на редагування форматованого тексту

Коли ви звертаєтеся до файлу, який був збережений у форматі text / enriched, Emacs автоматично перетворює інформацію про форматування з цього файлу у внутрішній формат Emacs (властивості тексту) і включає режим Enriched

Щоб створити новий файл з форматованим текстом, зверніться спочатку до неіснуючого файлу, а перед тим як почати редагування наберіть Mx enriched-mode Ця команда включає режим Enriched Робіть це до того, як ви почнете вставляти текст, щоб вставлений текст напевно оброблявся правильно

У більш загальному вигляді, команда enriched-mode включає режим Enriched, якщо він був вимкнений, і вимикає його, якщо він був включений Запущена з числовим аргументом, ця команда включає режим Enriched, якщо аргумент позитивний, і вимикає в іншому випадку

Коли ви зберігаєте буфер при задіяному режимі Enriched, Emacs автоматично перетворює текст до формату text / enriched під час запису в файл Коли ви знову зверніться до цього файлу, Emacs автоматично розпізнає формат, перетворює текст назад і знову включить режим Enriched

Зазвичай після звернення до файлу в форматі text / enriched, Emacs перезаполнять кожен абзац так, щоб він вміщався за заданим правому полю Ви можете вимкнути це перезаполненіе, щоб заощадити час, встановивши змінну enriched-fill-aftervisiting в значення nil або ask

Однак, при зверненні до файлу, записаному у форматі Enriched, немає потреби в пере-

заповненні, оскільки Emacs зберігає установки правого поля разом з текстом

Роблячи додавання до enriched-translations, ви можете вносити позначки для збереження додаткових властивостей тексту, які Emacs зазвичай не зберігає Зауважте, що стандарт text / enriched вимагає, щоб імена всіх нестандартних позначок починалися з

‘X-, наприклад x-read-only. Це дозволяє бути впевненим у тому, що вони не будуть конфліктувати зі стандартними позначками, доданими пізніше

21112  Жорсткі та гнучкі переклади рядків

Emacs розрізняє в форматованому тексті два різних види перекладів рядків: жорсткі

і гнучкі

Жорсткі переклади рядків використовуються для розділення абзаців, або пунктів переліку, або скрізь, де рядок повинна завжди розриватися незалежно від полів Команди hRET(Newline) і Co (open-line) вставляють жорсткі переклади рядків

Гнучкі переклади рядків застосовуються для того, щоб умістити текст в межі полів Всі команди заповнення, включаючи Auto Fill, вставляють гнучкі переклади рядків, і вони видаляють завжди тільки гнучкі переклади рядків

Хоча жорсткі і гнучкі переклади рядків виглядають однаково, важливо памятати про їх розходженні Не використовуйте hRETi, Щоб розірвати рядок у середині заповненого абзацу, або інакше ви отримаєте жорсткі переклади рядків, які послужать барєром подальшого заповнення Замість цього дозвольте розбивати рядки режиму Auto Fill, щоб при зміні тексту або полів Emacs міг правильно перенаповнений рядка Див Розділ 2151 [Auto Fill], с 185

З іншого боку, в таблицях і переліках, де рядки повинні завжди залишатися такими, як ви їх набрали, ви можете використовувати для завершення рядків hRETi Для таких рядків ви також можете встановити стиль вирівнювання в unfilled Див Розділ 21117 [Формат Вирівнювання], с 202

21113  Редагування інформації про формат

Є два способи змінити інформацію про формат для файлу з форматованим текстом: командами клавіатури або за допомогою миші

Найпростіший спосіб додати властивості до вашого документа – скористатися меню

Text Properties Ви можете потрапити в це меню двома шляхами: з меню Edit в смужці

меню або за допомогою C-mouse-2 (притисніть клавішу hCTRLi  і натисніть середню кнопку миші)

Більшість пунктів з меню Text Properties ведуть до інших підменю Підменю опи-

сани в наступних розділах Деякі пункти запускають команди безпосередньо:

Remove Properties

Видаляє з області всі властивості тексту, з якими працює меню Text Properties (facemenu-remove-props)

Remove All

Видаляє всі властивості тексту з області (facemenu-remove-all)

List Properties

Перераховує всі властивості тексту для знаку після крапки (list-textproperties-at)

Display Faces

Показує перелік всіх визначених накреслень

Display Colors

Показує перелік всіх певних кольорів

21114  Накреслення в форматованому тексті

У підменю Faces перераховані різні накреслення Emacs, включаючи bold, italic і underline Вибір одного з них додає це накреслення до області Див Розділ 1713 [Начертания], с 155 Ви також можете задати накреслення за допомогою таких команд клавіатури:

Mg d Каже, що область чи наступний вставлений знак повинні зявитися в накресленні default (facemenu-set-default)

Mg b Каже, що область чи наступний вставлений знак повинні зявитися в накресленні bold (facemenu-set-bold)

Mg i Каже, що область чи наступний вставлений знак повинні зявитися в накресленні italic (facemenu-set-italic)

Mg l Каже, що область чи наступний вставлений знак повинні зявитися в накресленні bold-italic (facemenu-set-bold-italic)

Mg u Каже, що область чи наступний вставлений знак повинні зявитися в накресленні underline (facemenu-set-underline)

M-g o накреслення hRETi

Каже, що область чи наступний вставлений знак повинні зявитися в заданому накресленні (facemenu-set-face)

Якщо ви використовуєте ці команди з префіксним аргументом – або, в режимі Transient Mark, якщо область не активна – то вони задають накреслення для наступного самовставляющегося введення Див Розділ 82 [Transient Mark], с 64 Це відноситься як до команд клавіатури, так і до команд меню

Режим Enriched визначає два додаткових накреслення: fixed і excerpt Вони відповідають кодам, використовуваним в форматі файлів text / enriched

Накреслення excerpt призначено для цитат Воно збігається з накресленням italic,

якщо ви його не перенастроїли (див Розділ 31223 [Налаштування накреслень], с 347)

Накреслення fixed означає Використовувати для цієї частини тексту равношірінний шрифт. В даний час Emacs підтримує тільки равношірінние шрифти отже, позначка fixed поки не так необхідна Однак, в майбутніх версіях Emacs

ми плануємо реалізувати підтримку шрифтів змінної ширини, та інші системи, здатні відображати формат text / enriched, можуть не використовувати за замовчуванням равношірінний шрифт Тому якщо ви хочете, щоб якась частина тексту зявлялася саме з равношірінним шрифтом, вам следут задати для цієї частини накреслення fixed

Накреслення fixed зазвичай визначено так, що для нього використовується інший шрифт, що відрізняється від шрифта Однак, на різних системах встановлено різні шрифти, тому вам може знадобитися налаштувати це

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

21115  Кольори в форматованому тексті

Ви можете вказати кольору букв і фону для фрагментів тексту Є меню для завдання кольору тексту і меню для завдання кольору фону Обидва меню квітів перераховують всі кольори, які ви використовували в режимі Enriched в поточному сеансі Emacs

Якщо ви задаєте колір з префіксним аргументом – або, в режимі Transient Mark, якщо область не активна – то цей колір застосовується для самовставляемого введення Див Розділ 82 [Transient Mark], с 64 В іншому випадку ця команда відноситься до області

Обидва меню кольорів містять додатковий пункт: Other. Ви можете використовувати цей пункт для завдання кольору, який не перераховано до меню імя кольору зчитується в мінібуфер Щоб переглянути перелік доступних кольорів та їх імена, використовуйте пункт Display Colors в меню Text Properties (див Розділ 21113 [Редагування формату], с 199)

Будь-який колір, заданий таким способом або згаданий в ліченому файлі з форматованим текстом, додається в обидва меню квітів і зберігається там протягом усього сеансу Emacs

Для завдання квітів немає привязок ключів, але ви можете вказувати їх за допомогою розширених команд Mx facemenu-set-foreground і Mx facemenu-set-background Обидві ці команди зчитують імя кольору в мінібуфер

21116  Відступи в форматованому тексті

При редагуванні форматованого тексту ви можете задати різні величини відступу для правого або лівого краю цілого абзацу або його частини Зазначені вам поля автоматично враховуються команди Emacs для заповнення (див Розділ 215 [Заповнення], с 185) і розриву рядків

Підменю Indentation надає зручний інтерфейс для вказівки цих властивостей Воно містить чотири пункти:

Indent  More

Збільшує відступ області на 4 шпальти (increase-left-margin) У режимі Enriched ця команда також доступна на Cx hTABi якщо ви надасте числовий аргумент, то він каже, скільки стовпців потрібно додати до поля (негативний аргумент зменшує число стовпців)

Indent  Less

Видаляє 4 стовпця відступу з області

Indent  Right  More

Звужує область, роблячи з правого краю відступ в 4 шпальти

Indent  Right  Less

Видаляє 4 стовпця відступу з правого краю

Ви можете використовувати ці команди кілька разів для збільшення або зменшення величини відступу

Найбільш частий спосіб застосування цих команд – змінювати відступ цілого абзацу Однак це не єдина їх застосування Ви можете поміняти розміри полів у будь-якій точці нові значення проявляються в Наприкінці цього рядка (для правого поля) або на початку наступної (для лівого поля)

Це дозволяє форматувати абзаци з висячими відступами, що означає, що відступ першого рядка менше відступу наступних рядків Щоб встановити висячий відступ, збільште відступ області, що починається після першого слова абзацу і триваючою до його кінця

Відступ у першому рядку абзацу робиться простіше Встановіть поле для всього абзацу там, де ви хотіли б бачити його для тіла абзацу, а потім збільште відступ першого рядка, додавши пробіли або знаки табуляції

Іноді в результаті редагування заповнення абзацу збивається – частини абзацу можуть вийти за ліві чи праві поля Коли таке відбувається, скористайтеся Mq (fillparagraph), щоб перенаповнений цей абзац

Кількість стовпців, які додають або видаляють з відступу ці команди, задається змінною standard-indent Її значення дорівнює за замовчуванням чотирьом Загальне праве поле, яке приймається за замовчуванням для режиму Enriched, контролюється змінної fillcolumn, як звичайно

Префікс заповнення, якщо він заданий, діє спільно з зазначеним відступом абзацу: Cx не включає пропуск із зазначеного відступу в нове значення префікса заповнення, а команди заповнення шукають префікс заповнення в кожному рядку після відступу Див Розділ 2153 [Префікс заповнення], с 187

21117  Вирівнювання в форматованому тексті

При редагуванні форматованого тексту ви можете задавати різні стилі вирівнювання абзаців Зазначений вами стиль автоматично враховується командами Emacs для заповнення

Підменю Justification надає зручний інтерфейс для вказівки стилю вирівню-

вання Воно містить пять пунктів:

Flush Left

Це найбільш поширений стиль вирівнювання (принаймні для англійської мови) Рядки вирівнюються по лівому полю, але залишаються нерівними з правого краю

Flush Right

Це вирівнює кожен рядок по правому полю Якщо необхідно, ліворуч додаються прогалини і знаки табуляції, щоб праві кінці рядків шикувалися в лінію

Full Це вирівнює текст по обох кінцях рядків Вирівняний таким чином текст виглядає красиво в друкованій книзі, де всі прогалини можна налаштувати однаково, але виглядає не так добре з равношірінним шрифтом на екрані Можливо, майбутні версії Emacs дозволять налаштовувати ширину прогалин в рядку, щоб досягти елегантного вирівнювання

Center Це центрує кожен рядок між поточними полями

None Це вимикає заповнення повністю Кожен рядок буде залишатися такою, як ви її написали функції заповнення та автоматичного заповнення не матимуть ефекту в тексті з такою установкою Ви все ж можете робити відступ зліва У незаповнених областях всі переклади рядків вважаються жорсткими (див Розділ 21112 [Жорсткі та гнучкі переклади рядків], с 199)

У режимі Enriched ви також можете задавати стиль вирівнювання з клавіатури, ис-

пользуя префіксний знак M-j:

M-j c

MS Центрує область (set-justification-center)

Mj u Робить область невирівняного (set-justification-none)

Mj l Вирівнює область зліва (set-justification-left)

Mj r Вирівнює область праворуч (set-justification-right)

Mj f Вирівнює область повністю (set-justification-full)

Стилі вирівнювання застосовуються до цілих абзаців Всі команди для зміни вирівнювання діють на абзац, що містить точку, або, якщо область активна, на всі абзаци, пересічні з областю

Стиль вирівнювання за замовчуванням задається змінною default-justification Її значенням має бути один із символів left, right, full, center або none

21118  Встановлення інших властивостей тексту

Меню Other Properties дозволяє вам додавати або видаляти три інших корисних властивості тексту: read-only, invisible і intangible Властивість intangible забороняє рух точки всередині цього тексту, властивість тексту invisible робить текст невидимим, а властивість read-only забороняє зміна тексту

Для додавання кожного з цих особливих властивостей до області є пункт меню Останній пункт меню, Remove Special, видаляє всі ці особливі властивості з тексту області

На даний момент властивості invisible і intangible не зберігаються у форматі text / enriched Властивість read-only зберігається, але воно не входить в стандарт формату text / enriched, тому інші редактори можуть його ігнорувати

21119  Примусове включення режиму Enriched

Зазвичай Emacs знає, коли ви редагуєте форматований текст, оскільки він розпізнає спеціальні позначки, використані у файлі, до якого ви звернулися Однак, бувають ситуації, в яких ви повинні вжити особливих заходів, щоб перетворити вміст файлу або включити режим Enriched:

Коли ви звертаєтеся до файлу, який був створений якимось іншим редактором, Emacs може не розпізнати цей файл як отфоратірованний в text / enriched У такому випадку, коли ви звертаєтеся до файлу, ви побачите команди форматування, а не форматований текст Наберіть Mx format-decode-buffer, щоб перевести їх

Коли ви вставляєте файл в буфер, а не звертаєтеся до нього Emacs робить необхідні перетворення вставляється тексту, але не включає режим Enriched Якщо ви хочете зробити це, введіть Mx enriched-mode

Команда format-decode-buffer переводить текст з різних форматів у внутрішній формат Emacs Вона просить вас вказати формат, з якого робити перетворення однак, як правило ви можете просто натиснути hRETi, Що велить Emacs припустити формат самому

Якщо ви хочете переглянути на текст в text / enriched-файлі буквально, як послідовність знаків, а не як форматований текст, скористайтеся командою Mx find-file-literally Вона звертається до файлу, як і find-file, але не виробляє перетворення формату Вона також пригнічує перетворення кодів знаків (див Розділ 187 [Системи кодування], с 165) і автоматичну розпакування (див Розділ 1411 [Стислі файли], с 133) Щоб вимкнути перетворення формату, але дозволити переклад кодів знаків та / або автоматичну розпакування, якщо вона потрібна, використовуйте format-find-file з підходящими аргументами

Джерело: Річард Столмен, Керівництво по GNU Emacs

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*