Hallo, Am Fri, 17 Aug 2012, Heinz W. Pahlke schrieb:
ich darf gerade ein mehrere Hundert Seiten dickes Buches in LaTeX setzen. Leider ist es von jemandem Korrektur gelesen worden, der sich mit typographischen Feinheiten nicht auskennt.
Das letzte Problem, für das ich keine handhabbare Methode gefunden habe, stellt die Darstellung der Zahlen dar. Statt mit schmalen Leerzeichen sind sie mit Punkten in Dreierblöcke gegliedert.
Zum einen gibt es Zahlen in der Form [0-9][-09].[0-9][0-9][-09]~DM, wobei sie teilweise bis in den Millionenbereich gehen.
#!/usr/bin/perl -w use strict; sub repl { local $_ = $_[0]; s/\./\\,/g; return "$_"; } while(<DATA>) { s/((?:\d{1,3}\.?)+)~DM/repl($1) . "\\,DM"/eg; print; } __DATA__ abc 12.212.335~DM efg abc 3.345~DM efg abc 12.212.335~DM efg abc 8~DM efg abc 4.312.123.345~DM efg
Dann gibt es Zahlen in der Form [0-9][-09].[0-9][0-9][-09], also ohne eindeutige Fortsetzung.
Dummerweise können aber auch Aktenzeichen in der Form [0-9][-09].[0-9][0-9][-09] vorkommen. In diesen dürfen die Punkte selbstverständlich nicht durch schmale Leerzeichen der Form \, ersetzt werden.
Da dürfte wohl vorher wohl ein "Aktenzeichen" o.ä. vorkommen, doof nur, wenn dazwischen ein Zeilenumbruch ist.
Die erste Form mit dem ~DM sollte nicht allzu schwer sein, aber für die zweite habe ich nur die Idee, alle Fundstellen in eine Datei ausgeben zu lassen, um zu schauen, ob es da Gemeinsamkeiten gibt oder ich die Korrekturen von Hand vornehmen kann.
pcregrep '\s(?:\d{1,3}\.?)+\s' Im emacs (RE ggfs. kürzen) zum AZ suchen: \([0-9]\{1,3\}\)\.\([0-9]\{1,3\}\)\.\([0-9]\{1,3\}\)\.\([0-9]\{1,3\}\) HTH, -dnh -- Point? What point? This is asr, we don't need any points around here... -- Stuart Lamble -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org