Mailing List CyrTeX-ru@vsu.ru Message #1500
From: Alexander Cherepanov <CyrTeX-ru@vsu.ru>
Subject: Re: \expandafter{пробел}
Date: Fri, 3 Jul 2009 02:35:26 +0400
To: Cyrillic TeX Users Group <CyrTeX-ru@vsu.ru>
Hello, neGODnick!
You wrote to "Cyrillic TeX Users Group" <CyrTeX-ru@vsu.ru> on Wed, 1 Jul 2009 08:45:33 +0400:

>> Если речь идет не о поведении \expandafter, а о том,
>> чтобы первое слово было жирным,
>> я предложу решение следующее:

> Чтобы автоматически сделать первое слово жирным --- один из возможных
> примеров. Но меня и в принципе интересует, как LaTeX научить
> автоматически распознавать что-либо. Вот первый попавшийся пример:
> сначала сделали текст просто так. Потом захотелось, например, чтобы
> первое слово в начале главы было оформлено буквицей. Расставлять
> \lettrine вручную? А что, компьютер сам вычислить и проставить всё не
> сможет? Ещё какие-то примеры вертелись в голове, но сейчас не вспомню.

Может и компьютер вычислить, но есть много разных случаев и, чем
больше случаев мы хотим учесть, тем это сложнее. А делать что-то с
первым словом абзаца или ставить буквицы вообще дело непростое.
Начиная с вопроса, что такое первое слово -- предлоги считаются?
И заканчивая тем, что вообще непонятно, что делать, если абзац
чересчур короткий для буквицы, если абзац начинается с курсивного
слова или с формулы или если попадётся itemize. Не говоря уж о том,
чтобы разобраться с этим автоматически.

> В случае с пробелом, как я понял, нужно было сделать его активным
> символом?

Не обязательно, Александр Гутман привёл Вам пример без активного
пробела. В данном случае, думаю, любое решение будет плохо, поскольку
задача такая.

>> Просто небольшое предостережение для всех пользователей latex'а: все
>> примеры с \everypar, приведённые в этом треде, плохо совместимы с
>> latex'ом. Например, на первом же \section'е всё закончится.
>> Использование низкоуровневых трюков в latex'е требует прочтения не
>> только texbook'а, но и исходников latex'а.

> А почему? Не могли бы Вы, если можно, разъяснить?

Ну, texbook'а мало, потому что latex в нём не описан. А latex устроен
довольно хитро и пытается многие вещи делать автоматически. И когда мы
хотим делать что-то сами автоматически, приходится встраиваться в
latex'овские механизмы. Проблема с \section'ом из-за того, что latex
пытается автоматически убирать абзацный отступ в первом абзаце раздела
и делает это, определяя и переопределяя \everypar.

>> В случае latex'а, по-моему, значительно проще и надёжнее решать эту
>> задачу, ставя \textbf вручную в каждом абзаце, чем пытаться что-то
>> автоматизировать.

Mikhael N. Saushkin wrote to "Cyrillic TeX Users Group" <CyrTeX-ru@vsu.ru> on Wed, 1 Jul 2009 13:03:18 +0500:

> По-моему, для такого рода оптимизаций проще написать внешний скрипт и
> скармливать ему исходник перед прогонкой в LaTeX'e

Это может упростить жизнь, но не решает вопросы с формулами,
окружениями и т.п.

Саша
--
Alexander Cherepanov
My mail is cherepan at mccme dot ru

Subscribe (FEED) Subscribe (DIGEST) Subscribe (INDEX) Unsubscribe Mail to Listmaster