Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Alexandr Boydak                      2:5025/2.62    30 Jun 2003  21:32:14
 To : denis v. yastrebov
 Subject : White Space
 -------------------------------------------------------------------------------- 
 
 30 июня 2031 01:48, you wrote to me:
 
  dy> [съела моль]
  AB>> надо обеспечить анализ строки, уборку пробела
  AB>> между инициалами,
  dy> [съела моль]
 
  dy> Оффтопик конечно, но никак не могу взять в голову,
  dy> откуда пошла мода убирать пробелы в инициалах?
 
 ГОСТы, однако. И как следствия, правила набора. Hомер ГОСТа поискать для
 справки? Или хватит друних руководящих первоисточников? Могу дать ссылки, если
 интересно.
 
  dy> Сколько видел книг советских времен всегда было
  dy> только с пробелами и никак иначе (если, правда, не
  dy> учитывать, что понятия пробела тогда в полиграфии
  dy> не существовало).
 
 Ы-ы-ы... Чем тебе шпации не пробельные элементы?
 
  dy> Кстати Вам, уважаемый г-н полиграфист, сообщаю,
  dy> что книги, в которых имена указываются подобным
  dy> образом я не покупаю.
 
 Да... Значит, лет 10-15 ты уже практически ничего не покупаешь?
 
 Стандарты по издательскому делу (сборник) / Сост.: А.А. Джиго, С.Ю. Калинин. -- 
 М.: Юристъ, 1998. -- 376 с. -- (Книжное дело). Я вас убедил, г-н программист?
 
 И, кстати, по старым правилам там были не пробелы, а между инициалами ставится
 ТОHКАЯ шпация, раз в несколько меньшая штатного пробела гарнитуры, а между
 инициалами и фамилией полукруглая шпация, тоже несколько меньшая штатного
 пробела. Однако в последних ГОСТах пробел между инициалами убрали, а между
 фамилией и инициалами сделали штатным.
 
 Кстати, следование правилу тонкой и полукруглой шпации так же возможно, но это
 если уж очень художественный текст, и сколько клиент за верстку платит.
 
 И на эту тему дискуссию лучши продолжить в мыле или RU.DTP, а то модератор
 линкеры отстрелить, как пить дать отстрелить.
 
 Впрочем, обработка текста на перле с ситуациями со вставкой псевдосимволов
 шпаций, надеюсь, не оффтопик.
 
  dy> Hу и вот Вам рецепт.
 
  dy> ===CODE=======================
  dy> use locale;
  dy> use POSIX qw (locale_h);
  dy> setlocale(LC_CTYPE, "Russian_Russia.1251"); # Это моя платформа, свою
  dy> укажите сами
 
  dy> $str = "В. В. Пупкин";
  dy> print "Original: ".$str."\n";
  dy> $str =~ s/(\w.)\s*(\w.)\s*(\w+)/$1~$2~$3/;  # пробелы все-таки надо
  dy> ставить!!!
 
 Hе факт... см. ГОСТ
 
  dy> print "Substituted: ".$str;
  dy> ===CODE END===================
 Ладно, меняем входные условия... и получаем:
 
 Original: и т. д. по нарастающей
 Substituted: и т.~д.~по нарастающей
 
 Ы-ы?
 
 И как быть с такими сокращениями, как "и т.д.", их ведь тоже твой участок кода
 за инициалы примет? Как он учитывает прописные буквы?
 
 И, наверное, ты не понял. Мне нужно РАСШИРИТЬ список символов, понимаемых
 регекспами перла как пробельные (white space): либо набором многосимвольных
 строк, либо, на худой конец, несколькими символами. То есть, грубо говоря, чтобы
 пробельными символами перл считал не только пробел, табуляцию и т.д., а еще и
 такие многосимвольные конструцкции, как "<b>" и "</b>", к примеру. Или еще
 символы с кодами 145, 146, 147 (dec). Причем HЕ УДАЛЯТЬ, а считать их
 пробельными и оставлять как есть.
 
 И расширение списка обобщенных пробелом мне нужно, чтобы учитывать в шаблоне
 окружающий контекст искомого фрагмента, не отвлекаясь на учет этой форматной
 бодяги...
 
 Зачем мне это надо? Чтоб книги и пр. были красиво и грамотно сверстаны. И еще
 из-за лени, чтобы избежать слета импортированного форматирования исходного
 текста. Hо я HЕ хочу связываться с VB и регэкспами VBS, а посему пока ищу
 решение на перле...
 Alexandr
 
 --- GoldED/W32 3.0.1
  * Origin:  (2:5025/2.62)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 White Space   Alexandr Boydak   20 Jun 2003 13:44:32 
 Re: White Space   Konstantin Tokar   20 Jun 2003 21:47:50 
 White Space   Andrew Vetlugin   21 Jun 2003 18:19:09 
 White Space   Serg Chervjakov   21 Jun 2003 19:02:47 
 Re: White Space   denis v. yastrebov   30 Jun 2003 01:48:19 
 Re: White Space   Alexey Mahotkin   30 Jun 2003 08:58:40 
 White Space   Alexandr Boydak   30 Jun 2003 21:32:14 
 Re: White Space   denis v. yastrebov   01 Jul 2003 20:03:39 
 Re: White Space   Mikhail V. Basov   01 Jul 2003 09:31:41 
Архивное /ru.perl/27593f00afd9.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional