Schrift
[thread]4822[/thread]

Blocksatz: in Perl/TK?



<< >> 10 Einträge, 1 Seite
Alexfo85
 2004-08-22 21:58
#42536 #42536
User since
2004-08-18
20 Artikel
BenutzerIn
[default_avatar]
Hi

Gibts nee Art Blocksatz Funktion in Perl/TK?
Blocksatz => siehe Word... halt so, dass der Text immer schön gleichmäßig verteilt ist...

Habe es mit einer selbergeschriebenen Funktion probiert, die einfach die Leerzeichen zwischen den Wörtern gleichmäßig erweitert... so das alle auf die selbe Zeichenlänge kommen...
sieht aber immer noch nicht besonders schön aus... vielleicht gibts ja was das den Zeichenabstand automatisch verändert...

Grüße Alex\n\n

<!--EDIT|Alexfo85|1093198182-->
ptk
 2004-08-23 12:58
#42537 #42537
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
So eine Option ist mir nicht bekannt. Vielleicht gibt es bei der Tcl/Tk-Community (siehe http://wiki.tcl.tk oder die Newsgroup comp.lang.tcl) bereits eine Loesung fuer dieses Problem, und vielleicht kann diese Loesung leicht auf Perl uebertragen werden?

Was heisst eigentlich Blocksatz auf englisch? Die Vorschlaege, die http://dict.leo.org zurueckgibt, sehen irgendwie nicht richtig aus.
Alexfo85
 2004-08-23 16:33
#42538 #42538
User since
2004-08-18
20 Artikel
BenutzerIn
[default_avatar]
also laut kumpel nur "Justify".... die entsprechende Word funktion...

hab nix gefunden, ma selber posten...
Crian
 2004-08-23 17:39
#42539 #42539
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
justify hat aber imho nur linksbündig, rechtsbündig und zentriert, keinen Blocksatz
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
ptk
 2004-08-23 18:05
#42540 #42540
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
[quote=Alexfo85,23.08.2004, 14:33]also laut kumpel nur "Justify".... die entsprechende Word funktion...[/quote]
Hmmm, -justify => "justify" wuerde komisch als Option aussehen :-) Vielleicht wuerde es, wenn so ein Biest existieren wuerde, -justify => "both" heissen.

Brauchst du eigentlich eine Implementation, wo man auch eingeben kann, oder reicht eine reine Ausgabe aus? Letzteres koennte man mit moderaten Aufwand mit einem Tk::Canvas implementieren.
Crian
 2004-08-23 18:39
#42541 #42541
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Wenn sich jemand mit den Internas von Open Office und Tk::Text auskennen würde, könnte man die Blocksatzfunktionalität ja wahrscheinlich relativ einfach übertragen. Aber diese Kombination zu finden dürfte schwierig sein.
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
ptk
 2004-08-23 20:13
#42542 #42542
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Fuer gewisse Definition von "einfach". Ich halte das Aendern von C-Code nicht gerade fuer einfach. Der Blocksatz-Algorithmus hingegen duerfte nicht unbedingt "rocket science" sein. Als Konsolenimplementation koennte man das fuer das naechste RDW vorschlagen :-) Als Schmankerl koennte man zusaetzlich TeX::Hyphen verwenden, um Silbentrennung zu bekommen.
Crian
 2004-08-24 13:15
#42543 #42543
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Hast Recht.

Gute RDW Idee: Gegebener Text und gegebene Wunschbreite, Programm soll den Text formatiert ausgeben.

Das schreib ich mit in meine Ideendatei :-)

TeX::Hyphen aber nur optional, das stört sonst bei TeX- und HTML-Dateien...\n\n

<!--EDIT|Crian|1093339211-->
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
ptk
 2004-08-24 13:54
#42544 #42544
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
CPAN:TeX::Hyphen verwendet TeX nur fuer die Silbentrennungstabelle, kann aber auch auf nicht-TeX-Text angewandt werden. Man fuettert das Modul einfach mit einem Wort und TeX::Hyphen zeigt die moeglichen Trennpunkt an. Zum Beispiel:
Code: (dl )
1
2
perl -MTeX::Hyphen -le 'print TeX::Hyphen->new(style=>"german")->visualize("Urinstinkt")'
Urin-stinkt
Ups, hier muss man wahrscheinlich seine eigene Ausnahmentabelle verwenden :-)
Crian
 2004-08-24 15:52
#42545 #42545
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Ja, was ich meinte war, das in TeX-Dateien die Worte ungetrennt drinstehen sollten, da TeX sie selber trennt.
Und auf Webseiten sind getrennte Worte auch ein Graus. Deshalb sollte das auftrennen an Silben nur optional (mit Parameter) vom Programm vrgenommen werden, sonst taugt es nichts für meine LaTeX-Dateien, und es sollte ja auch gleich einen sinnvollen Zweck haben.

Allerdings schreibe ich die meist so, dass nach einem Satzende eh ein newline kommt.

jaja, der alte Ur-Instinkt ... =)\n\n

<!--EDIT|Crian|1093348446-->
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
<< >> 10 Einträge, 1 Seite



View all threads created 2004-08-22 21:58.