LINUX.ORG.RU

LaTeX - равномерно распределенный текстовый блок по центру

 ,


1

1

День добрый. Даже не знаю как сделать запрос в поисковике.

Необходимо сделать текстовый блок «по центру» но максимально приблизить его к прямоугольнику.

Если, например, текст занимает 2 строки, то максимально уравновесить длину первой и второй строки. То есть что бы не было так, что первая строка длинная а на второй несколько букв.

Можно ли это реализовать в latex? Если да, то как это сделать?

Заранее спасибо!


Могу просто подкинуть вариант, не знаю как правильно. С расположением текста можешь использовать geometry, оно позволяет задавать размер полей. Я делал так:

\usepackage{geometry}
\geometry {
  a4paper,
  top = 15mm,
  left=25mm,
  right=15mm,
  bottom = 25mm
}

И еще взгляни тут https://www.overleaf.com/learn/latex/Text_alignment

snake266 ★★
()

Параметр, отвечающий за возможную короткую строку в конце абзаца, называется \parfillskip. Если его выставить в ноль, то TeX заполнит последнюю строку до конца. Пример:

\documentclass{article}

\usepackage{lipsum}

\begin{document}
\centering
\parbox{0.6\textwidth}{\lipsum[1]}

\bigskip
\parbox{0.6\textwidth}{\parfillskip=0pt \lipsum[1]}
\end{document}
TeopeTuK ★★★★★
()
Ответ на: комментарий от TeopeTuK

Спасибо за ответ, но это прямоугольный блок. Я имел виду следующе. Если вставить текст по центру то может получиться следующее:

Другое программное обеспечение используемое разработчиками док.

А хочется красивее центрировать (но не руками,

rasem
() автор топика
Ответ на: комментарий от TeopeTuK

Спасибо за ответ, но это прямоугольный блок. Я имел виду следующе. Если вставить текст по центру то может получиться следующее:

  Другое программное обеспечение используемое разработчиками
                                              док.

А хочется красивее центрировать (но не руками):

                Другое программное обеспечение
               используемое разработчиками док.

rasem
() автор топика
Ответ на: комментарий от rasem

Цитирую тебя: «Необходимо сделать текстовый блок «по центру» но максимально приблизить его к прямоугольнику.». Прямоугольник ближе всего к прямоугольнику, насколько я могу судить.

Если тебе трудно сформулировать, что именно нужно, то приведи пример кода, в котором будет неудачный вариант по умолчанию и желаемый вариант, сделанный вручную. Тогда кто-нибудь сможет помочь.

TeopeTuK ★★★★★
()

Тебе это постоянно нужно делать чтоли? Пока ты писал вопрос уже бы руками подобрал место переноса на вторую строку.

no-such-file ★★★★★
()
Ответ на: комментарий от no-such-file

Да, делать приходится много и регулярно.

Это что то типа бланков. Приходится скриптом выгружать в word, там править руками висячие строки и затем дальше обрабатывать другим скриптом.

На картинке (см. по ссылке ниже) показал что нужно исправлять и как должно выглядеть в идеале.

Картинка с примером

С латехом тесно работать стал недавно, и решил, может в нем можно это реализовать. То есть я шаблон скриптом обрабатываю и генерирую tex --> pdf ну и далее не разрывая процесс и не вмешиваясь.

Подскажите, это вообще возможно?

А то может быть я ищу черную кошку в темной комнате ;)

rasem
() автор топика
Ответ на: комментарий от rasem

Приходится скриптом выгружать в word

Нафига выгружать в ворд, если руками можно поправить исходный текст? Или даже не руками, а скриптом.

Сложность в том, что тебе нужно именно в 2 строки. Можно определить бокс и вписывать текст в него, но тогда не обязательно получится 2 строки. В общем, тебе нужно абзац выровнять по центру и воткнуть в середине абзаца принудительный перенос. Если у тебя создание документа автоматизировано, т.е. ты получаешь откуда-то параметры и вставляешь в готовый шаблон, то там же можно добавить деление названия на 2 строки.

no-such-file ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.