summaryrefslogtreecommitdiff
path: root/Master/support/polish/gustprog/porzadki.pl
diff options
context:
space:
mode:
Diffstat (limited to 'Master/support/polish/gustprog/porzadki.pl')
-rwxr-xr-xMaster/support/polish/gustprog/porzadki.pl214
1 files changed, 0 insertions, 214 deletions
diff --git a/Master/support/polish/gustprog/porzadki.pl b/Master/support/polish/gustprog/porzadki.pl
deleted file mode 100755
index 793eede8a9d..00000000000
--- a/Master/support/polish/gustprog/porzadki.pl
+++ /dev/null
@@ -1,214 +0,0 @@
-#! /usr/bin/perl
-
-# Autor: Piotr Kłosowski <pklosows@press.umcs.lublin.pl> Wersja
-# pierwsza działaj±ca (0.1a): 1. lutego 1998 r.
-
-# Skrypt "porzadki" jest napisanym od nowa następc± awkowego skryptu
-# "normtext.awk" z lata 96 r., który z kolei był rozwinięciem pomysłów
-# Tomasza Przechlewskiego.
-
-# Filtr do robienia porz±dków w duchu TeX-a w plikach tekstowych
-# (przede wszystkim znaki przestankowe i wstawianie niełamliwych spacji)
-# Podstawowe zastosowanie to pomoc w konwersji tekstów napisanych w
-# różnych edytorach.
-
-# Główne założenia i ograniczenia:
-# - tekst jest podzielony na akapity pustymi wierszami,
-# - tekst jest w języku polskim (kodowanie iso-latin2),
-# - wnętrze akapitów z wyj±tkiem linijek zakończonych przez "\\" może ulegać
-# przeformatowaniu (próba usunięcia przeniesień wyrazów) (uwaga na ew.
-# znaki komentarza - "%"!)
-
-# ========================================================================
-# Stałe wykorzystywane w skrypcie
-
-$Odstep = "[\ \t~]";
-$NieOdstep = "[^\ \t~]";
-$Spojnik = "[aAiIoOuUwWzZ]";
-$Litera = "[a-zA-Z±ˇćĆęĘłŁńŃóÓ¶¦żŻĽ¬]";
-$NieLitera = "[^a-zA-Z±ˇćĆęĘłŁńŃóÓ¶¦żŻĽ¬]";
-$DuzaLitera = "[A-ZˇĆĘŁŃÓ¦Ż¬]";
-$MalaLitera = "[a-z±ćęłń󶿼]";
-$Cyfra = "[0-9]";
-$CyfraRzymska = "[IVXL]";
-
-$PominSrodowisko ="(tabular|array|tabbing|figure|equation|eqenarray|verbatim)";
-# ========================================================================
-sub PolaczWiersze {
-# usunięcie przeniesień
- s/($Litera)-$Odstep*\n$Odstep*($MalaLitera)/$1$2/g;
- s/($Litera)-$Odstep*\n$Odstep*-($Litera)/$1\\dywiz $2/g;
- s/\n$Odstep+\n/\\\\\ \\\\\ /g;
- tr/\n/\ /;
-};
-# ========================================================================
-sub PoprawAkapit {
- &PoprawNielamliwe;
- &PoprawPrzestankowe;
-};
-# ------------------------------------------------------------------------
-# Niełamliwe spacje
-sub PoprawNielamliwe {
- &NielamliweSpojniki;
- &NielamliweInicjaly;
- &NielamliweDaty;
- &NielamliweBibliograf;
- &NielamliweJednostki;
- &NielamliweTytuly;
- &NielamliweInne;
- &NielamliweWyliczenia;
-};
-# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
-# niełamliwe spacje przy słowach jednoliterowych (uwaga na cyfrę rzymsk± "I")
-sub NielamliweSpojniki {
- s/([\(,]|$Odstep+)($Spojnik)$Odstep+($Spojnik)$Odstep+/$1$2~$3~/g;
- s/([\(,]|$Odstep+)($Spojnik)$Odstep+/$1$2~/g;
-};
-# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
-# niełamliwe spacje przy inicjałach
-sub NielamliweInicjaly {
- s/($DuzaLitera)\.$Odstep*($DuzaLitera)\.$Odstep*($DuzaLitera$MalaLitera)/$1\.~$2\.~$3/g;
- s/($DuzaLitera)\.$Odstep*($DuzaLitera$MalaLitera)/$1\.~$2/g;
-};
-# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
-# niełamliwe spacje przy skrótach zwi±zanych z pisowni± daty
-sub NielamliweDaty {
- s/($Cyfra)$Odstep*(r|w)\./$1~$2\./g;
- s/($NieLitera)(r|w)\.$Odstep*($Cyfra)/$1$2\.~$3/g;
- s/($CyfraRzymska)$Odstep+w\./$1~w\./g;
-};
-# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
-# niełamliwe spacje przy skrótach występuj±cych w zapisie bibliograficznym
-sub NielamliweBibliograf {
- s/($NieLitera)([sStTzZ]|ss|SS|[vV]ol|[aA]rt)\.$Odstep*($Cyfra|$CyfraRzymska)/$1$2\.~$3/g;
-};
-# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
-# niełamliwe spacje między liczb± a skrótem jednostki miary
-$DuzoZer = "tys\\.|mln|mld";
-sub NielamliweJednostki {
- s/($Cyfra)$Odstep*($DuzoZer)/$1~$2/g;
- s/($Cyfra|$DuzoZer)$Odstep*([kdcm]?[glmsVAW])($NieLitera)/$1~$2$3/g;
- s/($Cyfra|$DuzoZer)$Odstep*(zł|gr|ha|t|mies|godz|min|sek)($NieLitera)/$1~$2$3$4/g;
-};
-# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
-# niełamliwe spacje po tytułach
-sub NielamliweTytuly {
- s/($NieLitera)(mgr|dr|prof\.|hab\.|bp|ks\.|o+\.|¶w\.|prez\.|przew\.|red\.|min\.|gen\.|płk|mjr|kpt\.)$Odstep+/$1$2~/g;
-}
-# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
-# niełamliwe spacje przy innych skrótach
-sub NielamliweInne {
- s/($NieLitera)([Tt]ab\.|[Tt]abl\.|[Rr]y[cs]\.|[Rr]ozdz\.|[Nn]r)$Odstep*($Cyfra)/$1$2~$3/g;
-};
-# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
-# niełamliwe półfirety przy wyliczeniach
-sub NielamliweWyliczenia {
- s/^-+$Odstep*/---\\enspace\ /;
- s/^($Cyfra+[\.\)\/])$Odstep+/$1\\enspace\ /;
- s/^($Litera[\.\)\/])[\ \t]+/$1\\enspace\ /;
-};
-# ------------------------------------------------------------------------
-# Znaki przestankowe
-sub PoprawPrzestankowe {
- &PrzestankowePolpauzy;
- &PrzestankowePauzy;
- &PrzestankoweDywizy;
- &PrzestankoweCudzyslowy;
- &PrzestankoweWielokropki;
- &PrzestankoweOdstepy;
- &PrzestankoweSymbole;
-};
-# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
-# półpauzy
-sub PrzestankowePolpauzy {
- s/($Cyfra)$Odstep*-$Odstep*($Cyfra)/$1--$2/g;
-};
-# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
-# pauzy
-sub PrzestankowePauzy {
- s/$Odstep+-$Odstep+/\ ---\ /g;
- s/$Odstep+---/~---/g;
-};
-# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
-# dywizy
-sub PrzestankoweDywizy {
- s/($Litera)-($Litera)/$1\\dywiz $2/g;
-};
-# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
-# cudzysłowy
-sub PrzestankoweCudzyslowy {
- s/^\"/,,/;
- s/($NieLitera)\"($Litera)/$1,,$2/g;
- s/($Odstep)\"($NieOdstep)/$1,,$2/g;
- s/\"$/''/;
- s/($Litera)\"($NieLitera)/$1''$2/g;
- s/($NieOdstep)\"($Odstep)/$1''$2/g;
- s/\\,,/\\\"/g;
-};
-# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
-# wielokropki
-sub PrzestankoweWielokropki {
- s/\.{5,}/\\dotfill\{\}/g;
- s/\.{3,4}/\\ldots{}/g;
-};
-# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
-# odstępy przy znakach przestankowych (uwaga: ryzykowne - dużo wyj±tków)
-sub PrzestankoweOdstepy {
- s/$Odstep*([\.;:!?\)\]])/$1/g;
- s/$Odstep*,([^,])/,$1/g;
- s/([\.!?;:\)\]])($Litera)/$1 $2/g;
- s/([^,]),($Litera)/$1, $2/g;
- s/([\(\[])$Odstep*/$1/g;
-# skróty - wyj±tki
- s/m\.\ +in\./m\.in\./g;
- s/p\.\ +n\.\ +e\./p\.n\.e\./g;
- s/l\.\ +c\./l\.c\./g;
- s/w\.\ +c\./w\.c\./g;
-# duże liczby
- 1 while (s/(.*\d\d)(\d\d\d)/$1\\,$2/ or s/(.*\d)(\d\d\d)\\,/$1\\,$2\\,/);
-};
-# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
-# uporz±dkowanie kolejno¶ci nawias klamrowy - znak przestankowy (!!!sprawa
-# zwi±zana z grupowaniem texem - nie do załatwienia w tym prostym programie)
-# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
-# symbole niematematyczne
-sub PrzestankoweSymbole {
- s/([^\\])([\$\%])/$1\\$2/g;
- s/([^\$\<])\<([^\$\<])/$1\$\<\$$2/g;
- s/([^\$\>])\>([^\$\>])/$1\$\>\$$2/g;
-}
-# ========================================================================
-# Zmiany w kształcie akapitu - usunięcie przeniesień i wcięć od marginesu
-# i przeformatowanie na szeroko¶ć <=70 zn (domy¶lna w AUCTeX-u)
-sub PrzeformatujAkapit {
- s/$Odstep*\\\\/\ \\\\/g;
- $IloscSlow = split;
- $DlugoscWiersza = length($_[0]);
- for ($i=1; $i<$IloscSlow; $i++) {
- $DlugoscWiersza += length($_[$i]) + 1;
- if (($DlugoscWiersza>70) || ($_[$i-1]=~/\\\\/)) {
- $_[$i-1] .= "\n";
- $DlugoscWiersza = length($_[$i]);
- };
- };
- $_ = join (" ", @_, "\n");
- s/$Odstep\\\\/\\\\/g;
- s/\n*\\\\\n\\\\\n/\n\n/g;
- s/\n$Odstep+/\n/g;
-};
-# ========================================================================
-# Główny program
-
-$/ = "";
-$\ = "\n";
-
-while (<>) {
- if (/\\begin{$PominSrodowisko}/../\\end{$PominSrodowisko}/) {
- next;
- };
- &PolaczWiersze;
- &PoprawAkapit;
- &PrzeformatujAkapit;
-} continue { print; };
-
-# Koniec skryptu "porzadki".