Автор Гілка: Форматування тексту, вирівнювання.  (Прочитано 1986 раз)

Відсутній tech

  • Письменник
  • *****
  • дописів: 586
  • Карма: +1/-0
  • Гигик
Десь ніби бачив рецепт щодо форматування тексту на зразок того як він сформатований у man.  Якщо замітили, там текст вирівняно з обох боків. Це досягається завдяки додатковим пробілам між словами що добавляються по необхідності. Якщо хтось знає як це зробити, підскажіть, будьласка.
Це можна зробити і за допомогою Perl, але лінька :)

Відсутній rtg

  • Новачок
  • *
  • дописів: 1
  • Карма: +0/-0
  • Що новенького?
Re: Форматування тексту, вирівнювання.
« Відповідей #1 : 2005-04-28 22:11:15 »
Perl, лінька?
$ perldoc perlpod
І з текстом буде все гаразд (POD - Plain Old Documentation format)
=head1 HELLO

I write something here

=head1 DESCRIPTION

 Шматок коду
 Наступний рядок

=cut


а потім... pod2html, pod2text, pod2man...

(але не-ASCII знаки - не працюють (щонайменше у мене))
« Змінено: 2005-04-28 22:13:20 від rtg »
The system is going down for system crash NOW!

Відсутній tech

  • Письменник
  • *****
  • дописів: 586
  • Карма: +1/-0
  • Гигик
Re: Форматування тексту, вирівнювання.
« Відповідей #2 : 2005-05-14 23:45:24 »
nroff -Tascii -mandoc file_EN.txt | less -isR
nroff -Tlatin1 -mandoc file_UA.txt | less -isR
sed 's/\\/\\\\/g' file_UA.txt | nroff -Tlatin1 -mandoc  > fmt_file_UA.txt
(Це я мав на увазі).
Дозволяє нам створювати власні сторінки man (спочатку варто зазирнути у man 7 man):
.TH BASH 1
.SH ЕКРАНУВАННЯ
\fIЕкранування\fP застосовується для того щоб позбавитись спеціального значення
деяких знаків або слів для оболонки. Екранування може бути застосоване для
позбавлення певної інтерпретації спеціальних знаків, для запобігання того щоб
зарезервовані слова сприймались як зарезервовані,  також щоб запобігти
розвернення параметрів.
.PP
Кожний із \fIметазнаків\fP у попередньому переліку під секцією \fBВИЗНАЧЕННЯ\fP
має спеціальне значення для оболонки і повинно бути екранованим для того щоб
 відображати саме себе.
.PP
Коли застосовуються засоби доповнення команд з історії, відповідний спеціальний
знак, звичайно \fB!\fP, повинен бути звільнено для того щоб запобігти вживанню
команд із \fIісторії\fP. Існує три механізми екранування: \fIзнак звільнення\fP,
одинарні лапки і подвійні лапки.
.PP
Не взятий в лапки обернений слеш (\\) є знаком запобігання. Він зберігає буквальне
значення знака що слідує за ним за винятком <нової лінії>.
<серйозний пропуск>
Рядок екранований оберненим слешом, якщо присутній, розшифровується як
наступне:
.TP
\fB\\a\fP      сигнал (дзвоник)
.TP
\fB\\b\fP      крок назад (із стиранням)
.TP
\fB\\e\fP      знак перемикача коду
.TP
\fB\\f\fP      зміна сторінки
.TP
\fB\\n\fP      нова лінія
.TP
\fB\\r\fP      повернення каретки
.TP
\fB\\t\fP      горизонтальна табуляція
.TP
\fB\\v\fP      
вертикальна табуляція
.TP
\fB\\\\\fP    
обернений слеш
.TP
\fB\\'\fP      
одинарна лапка
.TP
\fB\\nnn\fP    
восьми-бітовий знак чиє значення є значенням октету \fInnn\fP (одна до трьох цифр)
.TP
\fB\\xHH\fP    
восьми-бітовий знак чиє значення є значенням шістнадцяткового HH (одна або дві шістнадцяткових цифри)
.PP
І так далі...
« Змінено: 2005-05-15 13:02:07 від tech »