2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Tex/Latex. Соблюдение требований верстки
Сообщение26.12.2011, 21:06 


26/12/11
87
Здравствуйте.
Поскольку на вашем форуме довольно обширный раздел, посвященный LaTeX (а значит, есть опыт), надеюсь получить помощь.

Мне приходилось заниматься версткой текста (правда, художественного) объемом около 200 страниц. Не являясь профессиональным верстальщиком, но имея некоторое представление о типографских требованиях верстки, я старался (как мог) соблюсти хотя бы некоторые из этих требований.
В частности, помню, что особенно много времени заняла "борьба с последней строкой" - это когда последняя строка абзаца короче допустимой нормы. Устраняется вгонкой/выгонкой строк.
Также немало хлопот доставили переносы, которые недопустимы при переходе с нечетной страницы на четную. Эти моменты также приходилось выискивать и устранять индивидуально.
И третий момент, который припоминаю - однобуквенные предлоги в конце строки. Решалось с помощью неразрывных пробелов.

Известно, что Tex/LaTeX предназначен, прежде всего, для текстов научных, богатых формулами и т.п. Также известно, что данный инструмент соответствует, прежде всего, западным требованиям верстки. Тем не менее, если я не ошибаюсь, LaTeX используется и в российских издательствах.

Но ведь научные тексты состоят не только из формул. Есть и обычные абзацы и оформление страниц и т.д. А значит, требования верстки каким-то образом должны выполняться. По крайней мере, я на это надеюсь.
Все решения, которые я находил по вышеописанным моментам реализуются на уровне исходного текста документа, т. е. носят разовый характер.
Я с трудом себе представляю "борьбу с последней строкой" в каком-нибудь труде страниц на 500, когда надо вычитывать каждый абзац и проставлять инструкции \loseness или \parfillskip. То же самое касается переносов и однобуквенных пробелов.

Отсюда вытекает вопрос: Существуют ли в природе стили, классы, помогающие решить описанные проблемы не на уровне исходного текста, а на уровне преамбулы?
Ну или хотя бы с помощью макросов.
Или же при оформлении сложных научных текстов на таких мелочах не заостряют внимание?

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

 Профиль  
                  
 
 Re: Tex/Latex. Соблюдение требований верстки
Сообщение27.12.2011, 11:34 
Аватара пользователя


23/07/08
401
Новосибирск
Подавление висячих строк
Код:
\clubpenalty=10000
\widowpenalty=10000

Вопросы с переносами, однобуквенными предлогами и коридорами отслеживаются вручную. Микротипографика есть только для английского -- для русского её необходимо сделать. "Некрасивые абзацы" переписываю руками.

 Профиль  
                  
 
 Re: Tex/Latex. Соблюдение требований верстки
Сообщение27.12.2011, 14:39 


26/12/11
87
Спасибо за ответ. Я почему-то предполагал, что ответите именно Вы. :)
Evgueni в сообщении #520441 писал(а):
Подавление висячих строк
Про висячие строки я в курсе. С этим как раз проблем нет.

Если Вы не поняли, я имел в виду последнюю строку абзаца, которая не должна быть слишком короткой (короче абзацного отступа) и в меру длинной (если она короче предыдущей строки менее, чем на абзацный отступ, ее "дотягивают" до полной длины). Мне просто интересно, соблюдаются ли эти требования в тех случаях, когда издательство принимает тексты в LaTeX. И если соблюдаются, то неужели абзацы стругают по одному? Кошмар. Я на "борьбу с последней строкой" в простом (без формул, таблиц и рисунков) 200-страничном тексте потратил времени больше, чем на всю остальную верстку, а там много чего было. И что же другого способа нет? Жаль...

Evgueni в сообщении #520441 писал(а):
Микротипографика есть только для английского -- для русского её необходимо сделать.
Микротипографика - это что такое? Не совсем понимаю. Поясните, пожалуйста.
Ее необходимо сделать, т.е. TeXнически это возможно?
У меня была идея сотворить нечто для "борьбы с последней строкой". Примерно, так: Общее количество символов в абзаце делим на длину полной строки - получаем количество полных строк в абзаце с остатком. Вот этот остаток сверяем с необходимой нормой. В случае отклонений добавляем в конец абзаца добавляем \loseness либо \parfillskip. Но ничего у меня не вышло. Даже общее число символов абзаца получить не удалось. В дальнейшем прочитал где-то, что разбивка на строки и формирование абзацев намертво зашиты в ядре TeX и вмешаться достаточно сложно. Печально это все.

Evgueni в сообщении #520441 писал(а):
"Некрасивые абзацы" переписываю руками.
Вы - автор. Вам можно.
А я верстал чужой текст, переписывать его я не имею права. Хотя и заменил пару слов, неверно подобранных.

Наткнулся в интернетах на описание "борьбы с последней строкой" в InDesign. Там, в общем-то, тоже нету. Решается с помощью стороннего скрипта.

А вообще интересно, как все-таки издательства справляются с этими задачами? Ведь практически все издательские системы не соответствуют российским требованиям. Неужели пилят вручную?
Ну тогда и издательские системы ни к чему.

 Профиль  
                  
 
 Re: Tex/Latex. Соблюдение требований верстки
Сообщение27.12.2011, 23:04 


07/03/10
59
Для подавление переноса на другую страницу
Код:
\brokenpenalty=10000

Правда, это будет подавлять переносы на обеих страницах. Если принципиально нужно, чтобы подавлялись только на чётную страницу, тогда можно добавлять эту команду на каждую нечётную страницу (например, в заголовок страницы), а на каждой чётной сбрасывать значение обратно в значение по умолчанию.

Вот такой код не даст последней строчке быть слишком короткой:
Код:
\parfillskip=0pt plus .9\textwidth

Сделать, она не была слишком длинной можно так
Код:
\parfillskip=1.5\parindent plus .9\textwidth

но тогда она никогда не будет дотягиваться до конца. Но такие случаи можно и руками довести, их не должно быть слишком много.

Насчёт предлогов в конце строчки, мне кажется разумным, что это не вшито в код, это нужно делать с помощью неразрывных пробелов, и об это изначально должен был позаботиться автор. Правда, я думал, что это правило работает только для однобукенных предлогов, с которых начинается предложение.

 Профиль  
                  
 
 Re: Tex/Latex. Соблюдение требований верстки
Сообщение27.12.2011, 23:49 


26/12/11
87
Casaubon в сообщении #520793 писал(а):
Для подавление переноса на другую страницу
А вот это уже интересно. Испробуем.

Casaubon в сообщении #520793 писал(а):
Правда, это будет подавлять переносы на обеих страницах.

Это не страшно. Переносы с четной на нечетную допустимы потому, что перенос находится в пределах разворота (не требуется переворачивать страницу). Если же вообще запретить переносы в конце страницы, хуже не станет.

Casaubon в сообщении #520793 писал(а):
Вот такой код не даст последней строчке быть слишком короткой:
Casaubon в сообщении #520793 писал(а):
Сделать, она не была слишком длинной можно так
Не совсем понял. Это на уровне преамбулы или опять-таки в конце каждого абзаца? Тем не менее, попробую. Спасибо.

Casaubon в сообщении #520793 писал(а):
Насчёт предлогов в конце строчки, мне кажется разумным, что это не вшито в код
А я и не говорю, что это надо вшить в код. Я говорю об инструкциях в преамбуле, макросах, стилях и т.п.

Casaubon в сообщении #520793 писал(а):
это нужно делать с помощью неразрывных пробелов
Согласен. Другого способа я и не нашел. Просто опять-таки: задать параметр в преамбуле гораздо проще, чем перелопачивать весь текст в поисках однобуквенных предлогов, да еще в определенных местах.

Casaubon в сообщении #520793 писал(а):
и об это изначально должен был позаботиться автор
Эх, хорошо бы... Но тут уж не до жиру. Если автор набирает текст в Ворде, и в результате, скажем, тире стоят везде по-разному (где-то длинное, где-то короткое, а где-то и дефис - это уж как Ворд сработает) - приходится их находить и заменять, то что уж говорить о более тонких вещах, вроде однобуквенных пробелов в конце строки.

Casaubon в сообщении #520793 писал(а):
Правда, я думал, что это правило работает только для однобукенных предлогов, с которых начинается предложение.
Скорее всего, Вы все правильно думали. Я точно уже не вспомню, как было сформулировано правило. Помню лишь, что было много возни с этими предлогами.

Благодарю Вас. Непременно опробую Ваши советы.

 Профиль  
                  
 
 Re: Tex/Latex. Соблюдение требований верстки
Сообщение28.12.2011, 11:05 
Аватара пользователя


23/07/08
401
Новосибирск
fflatx в сообщении #520511 писал(а):
Мне просто интересно, соблюдаются ли эти требования в тех случаях, когда издательство принимает тексты в LaTeX.
Приёмки "текста в LaTeX" бывают двух типов

а) Берут текст и сами у себя всё перевёрстывают. Подладиться в этом случае практически невозможно, особенно если они используют свои шрифты.

б) В типографию отдаётся pdf -- ну тогда сам себе голова.

fflatx в сообщении #520511 писал(а):
И если соблюдаются, то неужели абзацы стругают по одному? Кошмар. Я на "борьбу с последней строкой" в простом (без формул, таблиц и рисунков) 200-страничном тексте потратил времени больше, чем на всю остальную верстку, а там много чего было. И что же другого способа нет? Жаль...
На написание вменяемого текста (неважно с формулами или без) уходит на порядки больше времени, чем на вёрстку. IMHO не особо принципиально.

fflatx в сообщении #520511 писал(а):
Микротипографика - это что такое?
Пакет mycrotype. Возможность разрядить текст без его переписывания.

fflatx в сообщении #520511 писал(а):
А вообще интересно, как все-таки издательства справляются с этими задачами? Ведь практически все издательские системы не соответствуют российским требованиям. Неужели пилят вручную?
Ну тогда и издательские системы ни к чему.
Пилят в ручную. Издательские системы позволяют автоматизировать, скажем 95% ручного труда, но автоматизировать всё -- даже цели такой не высказывается (разве что в рекламе).

P.S. Хотя конечно приятно, если компьютер всё сделает на себя по нажатию одной кнопки, но как быть, например с "коридорами"? Или если текст действительно размещается плохо в _любом_ случае?

P.S. Собственно я только за сборник рецептов, например, те же переносы знаков в строчных формулах предпочитаю делать руками, а не оставлять это на волю автоматики.

-- Ср дек 28, 2011 12:09:16 --

Casaubon в сообщении #520793 писал(а):
Насчёт предлогов в конце строчки, мне кажется разумным, что это не вшито в код, это нужно делать с помощью неразрывных пробелов, и об это изначально должен был позаботиться автор. Правда, я думал, что это правило работает только для однобукенных предлогов, с которых начинается предложение.
Вообще-то для всех. С трёхбуквенными предлогами, поэтому в любом случае руками разбираться приходится, так как не всегда удаётся их "не оторвать".

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group