Я сочиняю простой текстовый документ (.txt) с выровненными по левому и правому краю абзацами. Я вручную добавляю пробелы, разбивая слова с дефисами, если необходимо, до тех пор, пока строки не станут одинаковой длины. Чтобы использовать пример из моего документа, такой абзац:
Эти призрачные шары имеют некоторые странные свойства, некоторые аккуратные, некоторые интересно, а другие просто показательны для ленивого дизайна. Они почти все вызвано тем же недостатком дизайна: игра воспринимает их слишком как обычные яйца.
будет выглядеть так:
Эти призрачные шары имеют некоторые странные свойства, некоторые аккуратные, некоторые интересные, а другие просто ленивый дизайн. Они почти все вызваны тот же недостаток дизайна: игра воспринимает их слишком обычные шары.
Как я могу это сделать?
Можно добавлять пробелы (не разбивая слова на строки), но мне нужно контролировать целевую ширину абзаца (в символах #). Пример выше оправдан до 53 символов в строке, но ширина строки в моем реальном документе варьируется от 60 до 79.
Также было бы здорово, если бы был текстовый редактор с такой функцией.
Я уже попробовал:
- OpenOffice и TeX : они просто используют форматирование, чтобы изменить способ отображения текста.
- Команда nano Justify не учитывается, потому что она не делает строки одинаковой ширины.
Я принял следующий ответ, потому что это был тот, который работал лучше всего для меня . Я нашел команды заполнения emacs самыми простыми в использовании среди ответов, и я ценю то, как они распознают даже отступы без пробелов (для таких вещей, как # и // комментарии). Однако все остальные ответы занимают свои собственные ниши, и я рекомендую другим, посетившим этот вопрос, взглянуть на них.
источник
Ответы:
Вы можете сделать это в Emacs, используя
fill-paragraph
илиfill-region
( заполнить документы ).Вам необходимо передать аргумент числового префикса. Столбец заполнения по умолчанию - 70.
Выберите текст для заполнения и сделайте
M-3 M-x fill-region
.Я установил столбец заполнения на 53 для вашего образца текста и получил:
источник
тебе нужно
par
например, чтобы получить его на Ubuntu, выполните:
для обоснования
text.txt
(при ширине 80 символов), экономя наnewtext.txt
:использовать par в vim или gvim:
затем выделите текст, который вы хотите отформатировать, и используйте
gq
команду.для получения дополнительной информации см.
man par
источник
par w80 j1
, нетpar 80j
. Изменить: илиpar jw80
fmt
это решение старой школыСо страницы руководства:
и
источник
fmt
не имеют нескольких из этих опций и не могут сделать полное обоснование.fmt
. Кроме того, как сказал Деннис, в моей системе на странице руководства нет такого текста, как вы упомянули, и не говорится, как это оправдать.Вот сценарий Perl,
paradj
который может выполнить полное выравнивание и перенос слов.Вот
diff
некоторые изменения, которые я сделал для поддержки добавления левого поля:Эта команда:
производит вывод очень близко к вашему примеру (лишние пробелы находятся в разных местах).
источник
Я использую Nano.
Переименуйте файл в более короткое имя (8.3). Откройте в Nano, затем Alt- Jдля обоснования всего документа. Alt- Oчтобы сохранить. Затем Alt- Xвыйти. Затем переименуйте файл обратно в исходное имя.
Может показаться громоздким , но это спасло меня много времени , в течение делает руководство Enter, Delete, Endчтобы ограничить столбцы 90. Нано дефолтов до 72. Я могу жить с этим.
источник
Вы можете попробовать
reformat
.Вы можете установить его в Debian / Ubuntu, запустив
sudo apt-get install reformat
.Используйте это так:
Выровненный текст будет записан в стандартный вывод.
источник