groff
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Groff] A TeX like paragraph formatter: I managed it; try it !!!


From: Thomas Baruchel
Subject: [Groff] A TeX like paragraph formatter: I managed it; try it !!!
Date: Sun, 13 May 2001 23:34:44 +0200
User-agent: Mutt/1.2.5i

Brest, le dimanche 13 mai

All in compatible mode !!!
Just use \*~ instead of \<space>
Don't use \~ (not compatible)
Compile it; it will show two versions of the same paragraph
(the standard one and MINE)
It is a demo with a Descartes paragraph ;-)
====================================================================
.cp \" ### DEBUG
.po 72p \" ### DEBUG
.nr ^n 9999  \" Infinity spape
.nr ^a 21c   \" Maximum width of a word
.nr ^s 12    \" Normal space size defined with .ss
.nr ^v 4     \" Verbose level
.nr ^i 12p   \" First line indentation
.nr ^p 12    \" Point size of characters
.nr ^l 451p  \" Line length
.nr ^B 4500u \" maximum non-ugly space size ### mettre davantage après déboguage
.nr ^k 10    \" very ugly line factor
.\"
.\"
.\"
.de ^1
.if \\n(^v .tm Processing paragraph declared at line \\n(.c
.ss \\n(^s
.ps \\n(^p
.nr /0 \\w' '
.ds ~ \\h'\\n(/0u'
.na
.di ^x
.ss \\n(^n
.ll \\n(^au
.in 0u
.ti \\n(^iu
..
.de ^2
.br
.di
.rm ~
.ss \\n(^s
.ll \\n(^lu
.in 0u
.ti 0u
.nr /0 0
.nr ^z 0 \" forcer l'écriture de ^R (tableau des valeurs de .ss +1)
.nr ^b 0 \" badness
.nr ^K 0 \" best badness
.nr ^T 0 \" best badness line
\\.de ^R \" registers array
\\..
.di ^y
.dt \\n(.du+1u ^S
.nr ^W -1
.nr ^D 0
.it 1 ^L
.^x
.it
.dt
.br
.if \\n(^v>2 \{\
.  tm | standard disposition has \\n(^D justified lines
.  tm | standard disposition has a badness of \\n(^b
.\}
.di
.if \\n(^D<2 .nr ^b 0 \" forcer l'impression d'un paragraphe d'une ligne just.
.ie \\n(^b \{\
.  \" améliorer
.  nr ^K \\n(^b
.  ^F 1 \\n(^D
.  nr ^z \\n(^T \" donne à ^z le numéro de la ligne à affecter
.  di ^y
.  ss \\n(^s
.  ad b
.  dt \\n(.du+1u ^S
.  nr ^W -1
.  nr ^D 0
.  if \\n(^z=1 \{\
.    ^R 1
.    ss \\n(^w
.  \}
.  it 1 ^L
.  ^x
.  it
.  dt
.  br
.  di
.  ^y
.  if \\n(^v=1 .if \\n(^b .tm | badness is \\n(^b
.  if \\n(^v=2 .if \\n(^b=0 .tm | the badness has been removed
.br \" ###
.sp 8p \" ###
Standard disposition would be :\" ###
.br \" ###
.^x \" ###
.\}
.el \{\
.  ad b
.  ^x
.\}
.rr /0
.rr /1
.rr /2
.rr /3
.rr ^D
.rr ^K
.rm ^R
.rm ^T
.rr ^W
.rr ^b
.rr ^z
.rm ^y
.rm ^x
..
.de ^F
.nr ^z \\$1 \" ligne à altérer avec .ss
.nr /3 \\$1+1
.nr ^b 0
.di ^y
.ss \\n(^s
.dt \\n(.du+1u ^S
.nr ^W -1
.nr ^D 0
.if \\$1=1 \{\
.  ^R 1
.  ss \\n(^w
.\}
.it 1 ^L
.^x
.it
.dt
.br
.di
.if \\n(^b<\\n(^K \{\
.  nr ^K \\n(^b
.  nr ^T \\$1
.  if \\n(^v>2 .tm | found a disposition with a badness of \\n(^b
.\}
.if \\n(/3<\\$2 .^F \\n(/3 \\$2
..
.de ^L
.nr ^W +1
.nr /1 \\n(/0 \" this line and the next one allow detection of hyphenation in
.nr /0 \\n(.k \" the diversion macro ^S
.it 1 ^L
..
.de ^S
.nr ^D +1
.ie \\n(^z=(\\n(^D+1) \{\
.  ^R \\n(^z \" met dans ^w la valeur de .ss qui fait tout basculer
.  ss \\n(^w
.  rr ^w
.\}
.el .ss \\n(^s
.nr /2 \\n(.n+\\w' '-\\n(/1 \" /2 > 0 if last line is hyphenated
.nr ^W -1
.if \\n(/2 .nr ^W +1
.\" determine size of space if paragraph was printed in .ad b mode
.ie \\n(^W \{\
.  \" one space or more
.  nr ^Z (\\n(.l-\\n(.n+(\\n(^W*\\w' '))/\\n(^W
.  if \\n(^Z>\\n(^B .nr ^b +\\n(^Z-\\n(^B
.  nr /2 \\n(^Z*\\n(^s/\\w' '+1
.  \"tm | ### DEBUG : Line \\n(^D has \\n(^W stretchable spaces (width = \\n(^Z)
.\}
.el \{\
.  \" one word, no space
.  nr ^b +(\\n(.l-\\n(.n)*\\n(^k
.  if \\n(.l-\\n(.n .tm Line \\n(^D is very ugly (only one word)
.  nr /2 \\n(^s
.\}
.if !\\n(^z \{\
.am ^R \" usage: .^R 4 will put in ^w the .ss value which will be bigger
\\.if \\\\$1=\\n(^D \\.nr ^w \\n(/2
\\..
.\}
.nr ^W 0
.dt \\n(.du+1u ^S
.if \\n(^K .if \\n(^b>\\n(^K .dt \" ### make quicker ???
.rr ^Z
..
.\"
.\"
.\"
.br
.^1
On peut ce me semble, avec meilleure raison distinguer l'amour, par l'estime 
qu'on fait de ce qu'on aime à comparaison de soi-même. Car lorsqu'on estime 
l'objet de son amour moins que soi, on n'a pour lui qu'une simple affection\|; 
lorsqu'on l'estime à l'égal de soi, cela se nomme amitié et lorsqu'on l'estime 
davantage, la passion qu'on a peut être nommée dévotion. Ainsi on peut avoir de 
l'affection pour une fleur, pour un oiseau, pour un cheval\|; mais, à moins que 
d'avoir l'esprit fort déréglé, on ne peut avoir de l'amitié que pour des 
hommes. Et ils sont tellement l'objet de cette passion, qu'il n'y a point 
d'homme si imparfait qu'on ne puisse avoir pour lui une amitié très parfaite, 
lorsqu'on pense qu'on en est aimé et qu'on a l'âme véritablement noble et 
généreuse\|\|: suivant ce qui sera expliqué ci-après en l'art.\*~154 et\*~156. 
Pour ce qui est de la dévotion, son principal objet est sans doute la 
souveraine divinité, à laquelle on ne saurait manquer d'être dévot lorsqu'on la 
connaît comme il faut. Mais on peut aussi avoir de la dévotion pour son prince, 
pour son pays, pour sa ville, et même pour un homme particulier, lorsqu'on 
l'estime beaucoup plus que soi. Or, la différence qui est entre ces trois 
sortes d'amour paraît principalement par leurs effets\|\|: car, d'autant qu'en 
toutes on se considère comme joint et uni à la chose aimée, on est toujours 
prêt d'abandonner la moindre partie du tout qu'on compose avec elle, pour 
conserver l'autre. Ce qui fait qu'en la simple affection, l'on se préfère 
toujours à ce qu'on aime, et qu'au contraire en la dévotion l'on préfère 
tellement la chose aimée à soi-même qu'on ne craint pas de mourir pour la 
conserver. De quoi on a vu souvent des exemples en ceux qui se sont exposés à 
une mort certaine pour la défense de leur prince ou de leur ville, et même 
quelquefois pour des personnes particulières auxquelles ils s'étaient dévoués.
.^2

reply via email to

[Prev in Thread] Current Thread [Next in Thread]