changeset 15:616f0379a3a0

Skripte
author Klaus Thoden <kthoden@mpiwg-berlin.mpg.de>
date Thu, 02 May 2013 11:50:41 +0200
parents c3c84bdd1fdd
children 6fa5e8c4e0dd
files .hgignore DESpecs/skripte/create_overview_text.pl DESpecs/skripte/wie_man_alle_Versionen_der_DESpecs_erstellt.txt
diffstat 3 files changed, 119 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/.hgignore	Thu May 02 11:38:23 2013 +0200
+++ b/.hgignore	Thu May 02 11:50:41 2013 +0200
@@ -1,4 +1,6 @@
 DS_Store
 
 syntax: regexp
-^\.project$
\ No newline at end of file
+^\.project$
+
+/DESpecs/.*\.pdf$
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/DESpecs/skripte/create_overview_text.pl	Thu May 02 11:50:41 2013 +0200
@@ -0,0 +1,107 @@
+#!/usr/bin/perl -w
+use strict;
+use warnings;
+
+#
+# create_overview_text.pl
+#
+# Wolfgang Schmidle, 2008-10-04
+#
+
+
+my @datei;
+
+while (<>)
+{
+	push @datei, $_;
+}
+
+
+# Bestimme die neuen Dateinamen:
+# Aus "dateiname.tex" wird "dateiname_overview.tex".
+# Wenn der alte Dateiname nicht auf ".tex" endet, wird einfach "_neu.tex" angehängt.
+
+$_ = $ARGV;
+/^(.+?)(\.TEX|\.tex)?$/;
+my $neuerDateiname = "$1_overview.tex";
+
+
+my @neueDatei;
+
+my $sollweg = 0;
+my $leerzeile = 0;
+
+my $unwichtig = ' mainruleLessImportant clarification note ';
+$unwichtig .= ' example exampleTest sampleImage smallSampleImage ';
+$unwichtig .= ' crossref exception ';
+$unwichtig .= ' tabelle liste ';
+
+foreach (@datei)
+{
+	next if (/^%/ && !(/%!TEX/)); # remove comment lines, keep the header lines,
+	s/\.tex/_overview.tex/;       # but add _overview to the reference
+	
+	next if /^\\vspace/;
+	next if /^\\tocspace/;
+
+	# remove all unwanted enviromnents, e.g. clarification
+	if (/\\begin\{(.+?)\}/)
+	{
+		if ($unwichtig =~ / $1 /) { $sollweg = 1; }
+	}		
+	unless ($sollweg)
+	{
+		if (/^ *$/) { $leerzeile++; } else { $leerzeile = 0; }
+		push @neueDatei, $_ unless $leerzeile > 1;
+	}
+	if (/\\end\{(.+?)\}/)
+	{
+		if ($unwichtig =~ / $1 /) { $sollweg = 0; }
+	}
+}
+
+for my $i (0..$#neueDatei-2)
+{
+	my $offset = 2;
+	$_ = $neueDatei[$i+1];
+	if (/\\label/) { $offset++; }
+	
+	$_ = $neueDatei[$i];
+	if (/\\section/)
+	{
+		$_ = $neueDatei[$i+$offset];
+		if (/^ *$/ || /\\section/)
+		{
+			$neueDatei[$i] =~ s/\{(.+?)\}/\{($1)\}/;
+		}
+	} 
+	else 
+	{
+		if (/\\subsection/)
+		{
+			$_ = $neueDatei[$i+$offset];
+			if (/^ *$/ || /\\section/ || /\\subsection/)
+			{
+				$neueDatei[$i] =~ s/\{(.+?)\}/\{($1)\}/;
+			}
+		} 
+		else 
+		{
+			if (/\\subsubsection/)
+			{
+				$_ = $neueDatei[$i+$offset];
+				if (/^ *$/ || /\\section/ || /\\subsection/ || /\\subsubsection/)
+				{
+					$neueDatei[$i] =~ s/\{(.+?)\}/\{($1)\}/;
+				}
+			}
+		}
+	}
+}
+
+# Schreibe das Ergebnis in die Datei $neuerDateiname im gleichen Verzeichnis wie die alte Datei. 
+# Eine bereits vorhandene Datei mit gleichem Namen wird ohne Warnung überschrieben.
+
+open (NEUEDATEI, ">$neuerDateiname");
+print NEUEDATEI @neueDatei;
+close (NEUEDATEI);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/DESpecs/skripte/wie_man_alle_Versionen_der_DESpecs_erstellt.txt	Thu May 02 11:50:41 2013 +0200
@@ -0,0 +1,9 @@
+1_1_with_appendix: mit Zeile \input{DESpecs_1_1_appendix_part2} in DESpecs
+
+1_1: ohne diese Zeile
+
+1_1_appendix: manuell Kopie von 1_1_with_appendix erstellen, alle Seiten vor Appendix C löschen
+
+1_1_overview: Kopie von DESpecs_1_1_appendix_part1 mit Zusatz _overview, dort manuell das erste \newpage löschen (das kann sich in späteren Versionen wieder ändern!) 
+
+--> Nur die letzten drei Versionen hochladen!