
Я слишком долго искал ответ на этот вопрос. Я пробовал разные команды и пакеты переносов, но они, похоже, не работают.
Проблема в том, что я пишу текст на финском, а LaTeX генерирует в нем много переносов. В финском языке много длинных слов, так что можете себе представить, как будет выглядеть текст в худшем случае. Можно ли отключить переносы и использовать переменные размеры пробелов для автоматического заполнения остального контента? Word, похоже, способен на это.
Я могу как-то жить с переносами, но не могу не задаться вопросом, должно ли быть простое решение для такой проблемы. В настоящее время я использую следующие пакеты:
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[finnish]{babel}
\usepackage{array}
\usepackage{hyperref}
EDIT: Я внесу ясность: я не против, если сгенерированные пробелы будут иметь большие различия между собой. Я просто хочу найти способ заменить дефисы переменным размером пробела без внесения серьезных изменений в текст.
решение1
Избежать переносов несложно, если вы готовы смириться с очень плохим набором текста.
В этом примере я использую формат из двух столбцов, чтобы подчеркнуть эффект:
\documentclass[12pt,twocolumn]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[finnish]{babel}
\begin{document}
Helsinki on Suomen pääkaupunki ja Uudenmaan maakuntakeskus.
Se sijaitsee Suomenlahden pohjoisrannalla Uudenmaan maakunnan
keskiosassa. Helsingin naapurikunnat ovat lännessä Espoo,
pohjoisessa Vantaa ja idässä Sipoo. Kaupungissa on 642\,045
asukasta. Helsingin keskustaajama ulottuu usean naapurikunnan
alueelle. Laajemmalla Helsingin seudun metropolialueella on
1\,456\,619 asukasta.
\hyphenpenalty=10000 \spaceskip=0.3em plus 4em minus 0.2em
Helsinki on Suomen pääkaupunki ja Uudenmaan maakuntakeskus.
Se sijaitsee Suomenlahden pohjoisrannalla Uudenmaan maakunnan
keskiosassa. Helsingin naapurikunnat ovat lännessä Espoo,
pohjoisessa Vantaa ja idässä Sipoo. Kaupungissa on 642\,045
asukasta. Helsingin keskustaajama ulottuu usean naapurikunnan
alueelle. Laajemmalla Helsingin seudun metropolialueella on
1\,456\,619 asukasta.
\end{document}
То же самое в формате одной колонки.
Не понимаю, почему вы не хотите использовать переносы: это распространенный типографский прием на протяжении столетий.
решение2
TeX имеет множество параметров, которые можно использовать для управления относительной желательностью растяжения пробелов и переносов. LaTeX имеет конфигурации по умолчанию, \fussy
и \sloppy
. Возможно, вас устроит настройка \sloppy
, которая позволяет больше растягивать пробелы, но в примере ниже показаны еще две «еще более небрежные» настройки, которые увеличивают штраф за переносы.
\documentclass{article}
\def\test{%
It's Supercalifragilisticexpialidocious!
Even though the sound of it
Is something quite atrocious
It's Supercalifragilisticexpialidocious!
Even though the sound of it
Is something quite atrocious
It's Supercalifragilisticexpialidocious!
Even though the sound of it
Is something quite atrocious
It's Supercalifragilisticexpialidocious!
Even though the sound of it
Is something quite atrocious
It's Supercalifragilisticexpialidocious!
Even though the sound of it
Is something quite atrocious
It's Supercalifragilisticexpialidocious!
Even though the sound of it
Is something quite atrocious
It's Supercalifragilisticexpialidocious!
Even though the sound of it
Is something quite atrocious
It's Supercalifragilisticexpialidocious!
Even though the sound of it
Is something quite atrocious
It's Supercalifragilisticexpialidocious!
Even though the sound of it
Is something quite atrocious
}
\begin{document}
{\test}
{\sloppy
\test
}
{\sloppy\hyphenpenalty=1000 \emergencystretch10em
\test}
{\sloppy\hyphenpenalty=10000 \emergencystretch\textwidth
\test}
\end{document}