osting: (default)
osting ([personal profile] osting) wrote2013-04-11 12:42 am
Entry tags:

Ох...

Очередной автор, доставшийся мне в электронном виде, не знает о существовании клавиши Tab (заменяя абзацный отступ кучей пробелов) и о возможности отформатировать текст по центру (используя вместо этого еще большую кучу пробелов). На сам текст я пока стараюсь не смотреть.

Люди, ведь правда, вы так не делаете?..

Upd: спасибо за идею с абзацным отступом в параметрах абзаца. :) Заодно убью дохренищу стилей, которые там разведены.
ext_613079: Default userpic (Бритый небритый)

[identity profile] shaplov.livejournal.com 2013-04-11 07:20 am (UTC)(link)
А превратить их в табуляцию (если 4-10 в начале строки) и в разметку центрирования (если более 10 в начале строки)?

[identity profile] pashap.livejournal.com 2013-04-11 07:28 am (UTC)(link)
Обычно если человек ставит пробелы для создания абзачного отступа - он их ставит не везде одно и тоже количество, а по-разному. Кроме того, сдвоенные пробелы попадаются внутри текста. Поэтому автозамена множественных пробелов на табы а) не полностью решает проблемы и б) приводит к нежелательным последствиям. Поэтому проще убить пробелы автозаменой и создать абзацный отступ во всем тексте.

А вот если пробелами создается центрирование - это совсем труба, потому что это значит, что там каждая строчка оканчивается знаком окончания абзаца. Хотя скорее всего в этом случае этот текст копировался из тупого текстового редактора - и там окончание абзаца вообще в каждой строке. Тогда работает серия автозамен:
1) два конца абзаца - на разрыв страницы;
2) конец абзаца - на пробел
3) разрыв страницы - на конец абзац.
А потом руками восстанавливать центрирование там, где надо.
ext_613079: Default userpic (Бритый небритый)

[identity profile] shaplov.livejournal.com 2013-04-11 07:57 am (UTC)(link)
Паш, ты мыслишь терминами замены из ворда...

Правило "заменить от пяти до десяти пробелов _в_начале_строки_ на табуляцию" решит проблему отбивки табуляциями в 98% случаев. остальные два -- таки руками. Только в ворде такое правило не напишешь... Потому что он убог, не смотря на свою монструозность.

Про центрирование -- я уже сказал, что надо смотреть на то как это сделано, и тогда предлагать конкретное решение. в 75% случаев возьмусь это сделать только заменами с регулярными выражениями (это как раз та технология которая при замене позволяет указать диапазон количества заменяемых символов, факт начала строки и много чего еще). В остальных случаях наверно решал бы написанием программы, обрабатывающий текст.

[identity profile] pashap.livejournal.com 2013-04-11 08:05 am (UTC)(link)
Правило "несколько раз заменить два пробела на один" решает проблему отбивки пробелами в 100% случаев. В чем проблема-то?

А вот процедура "заменить много пробелов на центрирование" - уже невозможна, потому что это нелокальная операция, действительно, без программы, обрабатывающий весь текст, такое автоматически не обработать.
ext_613079: Default userpic (Бритый небритый)

[identity profile] shaplov.livejournal.com 2013-04-11 08:17 am (UTC)(link)

Если центрирование сделано "как будто бы текст был набран в лексеконе", то последовательно применяем следующее кол-во замен на "языке" регулярных выражений.

1. Если строка отбита пробелами и начинается не с заглавной буквы и большого тире, то отбрасываем передние пробелы и берем все <center></center>
2. Если строка отбита более десяти пробелами, то пробелы удаляем, и берем все <center></center>
3. Если строка отбита 5-10 пробелами и содержит N-M символов (прикидываем сколько cимволов в одной полной лексиконной строке было у автора и берем запас) опять же удаляем и заменяем
4. По всему тексту выкусываем </center>[перевод строки]<center>

Далее уже руками.

Тебе или остинг освоить инструментарий регулярных выражений на таком уровне -- максимум пол дня. Скорее всего час-другой. Пользоваться этим можно всю оставшуюся жизнь.

[identity profile] pashap.livejournal.com 2013-04-11 08:21 am (UTC)(link)
Ты хочешь сказать, что в вордовом бейсике все описанное реально реализовать? Если да - то вариант, хотя лично у меня подобные проблемы со странно форматированными текстами возникают уже очень редко, это все было б актуально лет 10 назад, а сейчас - уже нет.
ext_613079: Default userpic (Бритый небритый)

[identity profile] shaplov.livejournal.com 2013-04-11 09:12 am (UTC)(link)
Про вордовый бейсик -- не знаю... Там может быть все что угодно... Я говорю про _нормальные_ инструменты для работы с текстом...

Я бы такое экспортировал бы в html витусовской утилитой catdoc, оно туда попало бы уже очищенное от стилей, потом в нормальном редакторе сделал бы все замены, и потом вернул бы назад в ворд...


Это ты в tex не экспортируешь ничего, видимо... У меня знакомый научные работы в tex переверстывает для публикации в зарубежных научных сборниках. Он такого нарассказывал...

[identity profile] pashap.livejournal.com 2013-04-11 09:17 am (UTC)(link)
Какие существуют нормальные инструменты работы с вордовым текстом - скажи мне, плиз?

В тех я вордовые тексты перевожу автоматическим конвертером, после этого достаточно чуть-чуть подправить сложные формулы и наложить нужный стиль - и все, текст готов.

>Я бы такое экспортировал бы в html витусовской утилитой catdoc, оно туда попало бы уже очищенное от стилей, потом в нормальном редакторе сделал бы все замены, и потом вернул бы назад в ворд...
И испортил бы в процессе все формулы, рисунки и таблицы.
ext_613079: Default userpic (Бритый небритый)

[identity profile] shaplov.livejournal.com 2013-04-11 09:23 am (UTC)(link)
Какие существуют нормальные инструменты работы с вордовым текстом - скажи мне, плиз?

http://wiki.openoffice.org/wiki/Documentation/How_Tos/Regular_Expressions_in_Writer

>Я бы такое экспортировал бы в html витусовской утилитой catdoc, оно туда попало бы уже очищенное от стилей, потом в нормальном редакторе сделал бы все замены, и потом вернул бы назад в ворд...

И испортил бы в процессе все формулы, рисунки и таблицы.

Да с таблицами и рисунками тяжелее...

[identity profile] pashap.livejournal.com 2013-04-11 09:37 am (UTC)(link)
Опасаюсь, что опенофисовские средства для винворда плохо подойдут - они вообще неполностью совместимы.
ext_613079: Default userpic (Бритый небритый)

[identity profile] shaplov.livejournal.com 2013-04-11 10:31 am (UTC)(link)
Эээ.. ты просил средства для работы с вордовским документом. Опен офис -- средство для работы с вордоским документом (в достаточно хорошем приближении)

[identity profile] pashap.livejournal.com 2013-04-11 01:49 pm (UTC)(link)
Имхо - в недостаточно хорошем.

[identity profile] osting.livejournal.com 2013-04-11 12:48 pm (UTC)(link)
Идея ясна, но скорее всего заломаюсь. Корректура у меня сейчас в основном бумажная, а такие штуки встречаются совсем редко. Но если нарвусь - да, вариант. Спасибо.

[identity profile] aywen.livejournal.com 2013-04-11 09:58 am (UTC)(link)
Когда-то у меня были макросы для ворда, делающие вот всё то, что Паша описал.

[identity profile] osting.livejournal.com 2013-04-11 12:35 pm (UTC)(link)
Вначале создать абзацный отступ, а потом убить пробелы автозаменой.

Центрирование было, по счастью, только в титульной странице и некоторых заголовках. Хотя... представила стихи, сверстанные именно таким образом. И некоторые древности тоже. Как подумаю, что сама их писала... :)

[identity profile] alexkuklin.livejournal.com 2013-04-11 07:28 am (UTC)(link)
можно.
но криво.
ext_613079: Default userpic (Бритый небритый)

[identity profile] shaplov.livejournal.com 2013-04-11 07:58 am (UTC)(link)
Там можно в качестве текста на замену указать табуляцию или перевод строки??

[identity profile] alexkuklin.livejournal.com 2013-04-11 08:02 am (UTC)(link)
да
^t, ^n кажется.
во: http://support.microsoft.com/kb/214204

[identity profile] pashap.livejournal.com 2013-04-11 08:02 am (UTC)(link)
Да. Я же выше примерно об этом и написал.