#!/usr/bin/perl -w
# $Id$
# Dieses Script (coldformix) wurde von Rdiger Beck erstellt
# Es ist freie Software
# Bei Fehlern wenden Sie sich bitte an mich.
# jeffbeck@web.de  oder  jeffbeck@gmx.de


# Bibliotheken
use strict;
use DBI;
use Getopt::Long;
Getopt::Long::Configure ("bundling");
use File::Find;
use coldformix;
# ==========================================================================

# Choose the Language: de, en
my $lang="de";
my $config="all";
my $version="x.x",

# Choose the Unit-System: si_symbol,
my $unit_system = "si_symbol";



my $show=0;

# ===========================================================================
# Optionen verarbeiten
# ==========================================================================
# Parsen der Optionen
my $testopt=GetOptions(
           "lang|l=s" => \$lang,
           "config=s" => \$config,
           "version=s" => \$version,
           "unit_system|u=s" => \$unit_system,
           "show|s" => \$show
          );


print "Language: $lang \n";
print "Unit_System: $unit_system \n";

# Prfen, ob Optionen erkannt wurden, sonst Abbruch
&coldformix::check_options($testopt);

# Einlesen der Konfigurationsdatei
{ package Config ; do "../coldformix-config/coldformix-${config}.conf"}
# Die in coldformix-******.conf als global (ohne my) deklarierten Variablen
# knnen nun mit $Config::Variablenname angesprochen werden

# This hash should be generated by querying the Database
# using the given language
#my %translations = qw(
#     Enthalpy    Enthalpie 
#     Pressure    Druck
#     Beck        Lehrer
#);
 
my %refrigerants = &coldformix::get_filename_refrigerants;

while (my ($key,$value) = each %refrigerants) {
print "Key: $key        Value-List:  }\n";
}


#print "Latexname: $refrigerants{r134a}{latex} \n";
############################################################
# ps-diag (logph)
############################################################
my $ps_dir="../coldformix-generated/$lang/eps";
my @ps_filelist=();

if ($config eq "all"){
opendir(DIR, $ps_dir) || die "Kann $ps_dir nicht ffnen: $!";
while (defined (my $file = readdir(DIR))) {
    # Eintrag verarbeiten
    if (not $file eq "." and
        not $file eq ".." and
        not $file eq "CVS" and
        not $file=~/~/) {
        push (@ps_filelist, $file);
       }
     }
} else {
    @ps_filelist=@Config::logph;
    print "\n Liste: @ps_filelist   \n\n";

}


@ps_filelist = sort @ps_filelist;

print "Post-Script-logph:  @ps_filelist \n";

############################################################
# drawings
############################################################
if (not -e "../coldformix-generated/$lang/drawings-eps") {
    system("install -d ../coldformix-generated/$lang/drawings-eps");
}

system("cp ../coldformix-source/drawings/*.eps ../coldformix-generated/$lang/drawings-eps");


############################################################
# latex-rtables
############################################################
my $rtables_dir="../coldformix-generated/$lang/rtables";
my @rtables_filelist=();


# je nach Konfiguration eine Liste laden
if ($config eq "all"){
opendir(DIR, $rtables_dir) || die "Kann $rtables_dir nicht ffnen: $!";
while (defined (my $file = readdir(DIR))) {
    # Eintrag verarbeiten
    if (not $file eq "." and
        not $file eq ".." and
        not $file eq "CVS" and
        not $file=~/~/) {
        push (@rtables_filelist, $file);
    }
}
} else {
    @rtables_filelist=@Config::rtables;
    print "\n Liste: @rtables_filelist   \n\n";
}


# sortieren und anzeigen
@rtables_filelist = sort @rtables_filelist;
print "R-Tables: \n  @rtables_filelist \n";






############################################################
# writing the LATEX-output
############################################################
if (not -e "../coldformix-generated/$lang/latex"){
    system("install -d ../coldformix-generated/$lang/latex");
}

open(LATEXOUT,">../coldformix-generated/$lang/latex/coldformix-$lang-$config-$version.tex");


# ===========================================================================
# LATEX-Vorspann schreiben
# ===========================================================================
print LATEXOUT ('
\documentclass[fleqn,a4paper,twoside,12pt]{article}
%%\documentclass[fleqn,a4paper,twoside,12pt]{book}
\usepackage{ifthen}
\usepackage{multicol}
\usepackage{lscape}
\usepackage{graphicx}
\usepackage{amssymb}
\usepackage{textcomp}
\usepackage{afterpage}
\usepackage{calc}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage{ngerman}
\usepackage{fancybox}
\usepackage{marvosym}
\usepackage{fancyhdr}
\usepackage[dvips]{color}
\usepackage{moreverb}
\usepackage{twoopt}
\usepackage{psfrag}
% ams-Befehl square ab jetzt nutzlos, da \square von SIunits neu definiert wird
\usepackage[cdot,amssymb,thickqspace]{SIunits}
\addunit{\var}{var}
\usepackage{longtable}
\usepackage{dcolumn}
\usepackage{amsmath}
\usepackage{eurosym}
% for \varkappa
%\usepackage{pxfonts}
% uncomment this to the a draft mark accross the page
%\usepackage[german,timestamp,dark]{draftcopy}
\usepackage{lastpage}
% Satzspiegel
\setlength{\voffset}{-25.4mm}
\setlength{\hoffset}{-25.4mm}

% uncomment this to the a draft mark accross the page
%\draftcopyFirstPage{1}

%this shows debuggung information
\tracingstats=2

\setlength{\textwidth}{190mm}
\setlength{\topmargin}{0mm}
\setlength{\textheight}{270mm}
\setlength{\headheight}{11mm}
\setlength{\headsep}{2mm}
\setlength{\topskip}{0mm}

\setlength{\footskip}{6.5mm}
\setlength{\parindent}{0mm}

% ohne Rand 
\setlength{\oddsidemargin}{9mm}
\setlength{\evensidemargin}{9mm}

% zentriert
%\setlength{\oddsidemargin}{15mm}
%\setlength{\evensidemargin}{15mm}

\setlength{\fboxsep}{1mm}
\setlength{\fboxrule}{0.35mm}
\setlength{\mathindent}{8mm}

\newcounter{mypage}
\setcounter{mypage}{1}

\pagestyle{fancy}

\lhead{}
\chead{}
\rhead{}
\lfoot{Berufliches Schulzentrum Leonberg}
\newcounter{showsectionheaders}
\setcounter{showsectionheaders}{0}

% define xfigcolors
% #008e00 is 0 142 0
%         is 0 0.555 0  (142/256=0.555)
\definecolor{green4}{rgb}{0,0.555,0}
\definecolor{blue4}{rgb}{0,0,0.555}
\definecolor{red2}{rgb}{0.8,0,0}
\definecolor{magenta2}{rgb}{0.8,0,0.8}


');


print LATEXOUT "\\rfoot{$config-$version}\n";

print LATEXOUT ('
%\cfoot{Seite \thepage /\pageref{LastPage}}
\cfoot{}

');

print LATEXOUT ("\\newcommand{\\coldformixversion}{","$version","}");

print LATEXOUT '
\newcommand{\mysection}[2]{%
\stepcounter{section}%
\lhead{\bf\thesection{} #1}%
\ifthenelse{\value{showsectionheaders}=1}{\section*{\thesection\hspace{5mm}#1}}{}%
\addtocontents{toc}{\protect\contentsline {section}{\numberline {\thesection}#1}{#2 \thepage}}%
}
';

print LATEXOUT '
\newcommand{\mysubsection}[2]{%
\stepcounter{subsection}%
\ifthenelse{\value{showsectionheaders}=1}{\subsection*{\thesubsection\hspace{3mm}#1}}{}%
\addtocontents{toc}{\protect\contentsline {subsection}{\numberline {\thesubsection}#1}{\hspace*{-10mm}#2\, \thepage}}%
}
';

print LATEXOUT '
\newcommand{\mysmallsubsection}[2]{%
\stepcounter{subsection}%
\ifthenelse{\value{showsectionheaders}=1}{\subsection*{\thesubsection\hspace{3mm}#1}}{}%
\addtocontents{toc}{\protect\contentsline {subsection}{\numberline {#1}}{\hspace*{-10mm}#2\, \thepage}}%
}
';


print LATEXOUT ('

\renewcommand{\headrulewidth}{0mm}
\begin{document}
');

# include database psfrag-replacements
print LATEXOUT "\\input{psfrag-$lang.tex}\n";

# include vocabulary psfrag-replacements
print LATEXOUT "\\input{psfrag-vocabulary-$lang.tex}\n";

# include manual psfrag-replacements
print LATEXOUT "\\input{psfrag.tex}\n";


# ===========================================================================
# titlepage
# ===========================================================================

print LATEXOUT ("\\input",
   "{titlepage-$lang.tex} \n\n");


# ===========================================================================
# table of contents
# ===========================================================================


print LATEXOUT "\\setlength{\\columnsep}{15mm}\ \n\n";
print LATEXOUT "\\begin{multicols}{2} \n\n";

print LATEXOUT "\\tableofcontents \n\n";

print LATEXOUT "\\vfill \n";

print LATEXOUT "\\end{multicols} \n\n";

print LATEXOUT "\\pagebreak \n\n";

print LATEXOUT "\\renewcommand{\\headrulewidth}{0.25mm}\n\n";


# ===========================================================================
# TEIL 1
# ===========================================================================
print LATEXOUT "\\setcounter{page}{1}";
#print LATEXOUT "\\part{\\fbox{Formelsammlung}}";
#print LATEXOUT "\\addcontentsline{toc}{part}{\\fbox{I \\,\\, Formelsammlung}}";
print LATEXOUT "\\addtocontents{toc}{\\contentsline {part}{\\fbox{Teil I: \\, Formelsammlung}}{}}\n";
print LATEXOUT "\\chead{\\textbf{Teil I: Formelsammlung}} \n";
print LATEXOUT "\\rhead{\\textbf{F \\thepage}} \n";
# ===========================================================================
# symbols
# ===========================================================================
print LATEXOUT "\\lhead{\\textbf{Formelzeichen}} \n";
#print LATEXOUT "\\section*{Verwendete Formelzeichen} \n";

print LATEXOUT "\\textbf{Kltetechnik Formelzeichen} \n";
print LATEXOUT "\\mysection{Verwendete Formelzeichen}{F} \n";
#print LATEXOUT "\\addtocontents{toc}{\\protect\\contentsline {section}{\\numberline {}Verwendete Formelzeichen}{T \\thepage}}\n";

print LATEXOUT ("  \\input",
   "{symlist-RT-$lang.tex} \n");
#print LATEXOUT ("  \\newpage \n");

print LATEXOUT "\\lhead{\\textbf{Formelzeichen}} \n";
#print LATEXOUT "\\section*{Verwendete Formelzeichen} \n";
print LATEXOUT "\\textbf{Elektrotechnik Formelzeichen} \n";
#print LATEXOUT "\\addtocontents{toc}{\\protect\\contentsline {section}{\\numberline {}V
print LATEXOUT ("  \\input",
   "{symlist-ET-$lang.tex} \n");
print LATEXOUT ("  \\newpage \n");

#&empty_pages(1,"Leere Seite",0);

# ===========================================================================
# formulas, refrigeration
# ===========================================================================

# refrigeration
print LATEXOUT "\\lhead{\\textbf{Formeln}} \n";
print LATEXOUT ("  \\input",
   "{formula-$lang.tex} \n");
print LATEXOUT "\\newpage \n";

# ===========================================================================
# formulas, electrical
# ===========================================================================
# comment to exclude ET

print LATEXOUT "\\lhead{\\textbf{Formeln}} \n";
print LATEXOUT ("  \\input",
   "{formula-et-$lang.tex} \n");


# ===========================================================================
# todo
# ===========================================================================
#&empty_pages(7,"\\thesection{} Elektrotechnik",0);
#&empty_pages(1,"Leere Seite",0);




# ===========================================================================
# TEIL 2
# ===========================================================================
print LATEXOUT ("  \\newpage \n");
print LATEXOUT "\\setcounter{page}{1}";
#print LATEXOUT "\\addcontentsline{toc}{part}{II \\hspace{0mm} \\fbox{Tabellen}}";
print LATEXOUT "\\addtocontents{toc}{\\contentsline {part}{\\fbox{Teil II: \\, Tabellen}}{}}\n";

#print LATEXOUT "\\addcontentsline{toc}{part}{\\fbox{II \\,\\, Tabellen}}";
#print LATEXOUT "\\stepcounter{part}";
print LATEXOUT "\\chead{\\textbf{Teil II: Tabellen}} \n";
print LATEXOUT "\\rhead{\\textbf{T \\thepage}}\n";

# ===========================================================================
# Units
# ===========================================================================
print LATEXOUT "\\lhead{\\textbf{Einheiten-Prfixe}} \n";
print LATEXOUT "\\mysection{Einheiten-Prfixe}{T} \n";
print LATEXOUT ("  \\input",
   "{units-$lang.tex} \n");
print LATEXOUT ("  \\newpage \n");



# ===========================================================================
# refrig
# ===========================================================================
#print LATEXOUT "\\lhead{\\textbf{Kltemittel}} \n";
#print LATEXOUT "\\addcontentsline{toc}{section}{Kltemittel} \n";

print LATEXOUT "\\mysection{Kltemittel}{T} \n";
print LATEXOUT ("  \\input",
   "{refrig-$lang.tex} \n");
print LATEXOUT ("  \\newpage \n");


# ===========================================================================
# cool goods
# ===========================================================================
#print LATEXOUT "\\lhead{\\textbf{Khlgter}} \n";
#print LATEXOUT "\\addcontentsline{toc}{section}{Khlgter} \n";
print LATEXOUT "\\mysection{Khlgter}{T} \n";
print LATEXOUT ("  \\input",
   "{cool_good-$lang.tex} \n");
print LATEXOUT ("  \\newpage \n");


# ===========================================================================
# substances
# ===========================================================================
print LATEXOUT "\\begin{landscape}";
#print LATEXOUT "\\lhead{\\textbf{Stoffdaten}} \n";
#print LATEXOUT "\\addcontentsline{toc}{section}{Stoffdaten} \n";
print LATEXOUT "\\mysection{Stoffdaten}{T} \n";
print LATEXOUT ("  \\input",
   "{substances-$lang.tex} \n");
print LATEXOUT "\\end{landscape}";
print LATEXOUT ("  \\newpage \n");


# ===========================================================================
# building materials
# ===========================================================================
#print LATEXOUT "\\begin{landscape}";
print LATEXOUT "\\begin{center}";
#print LATEXOUT "\\lhead{\\textbf{Bau- und Dmmstoffe}} \n";
#print LATEXOUT "\\addcontentsline{toc}{section}{Bau- und Dmmstoffe} \n";

print LATEXOUT "\\mysection{Bau- und Dmmstoffe}{T} \n";
print LATEXOUT ("  \\input",
   "{building-materials-$lang.tex} \n");
#print LATEXOUT "\\end{landscape}";
print LATEXOUT "\\end{center}";
print LATEXOUT ("  \\newpage \n");


# ===========================================================================
# todo
# ===========================================================================
#&empty_pages(1,"Leere Seite",0);


# ===========================================================================
# Heat Transfer Coefficients
# ===========================================================================
print LATEXOUT "\\lhead{\\textbf{W-Koeffizienten}} \n";
print LATEXOUT "\\mysection{W-Koeffizienten}{T} \n";
print LATEXOUT ("  \\input",
   "{heat-transfer-coeff-$lang.tex} \n");

# ===========================================================================
# humid air
# ===========================================================================
#&empty_pages(1,"Feuchte Luft (Tabelle) (T 07)",1,"T");
print LATEXOUT "\\lhead{\\textbf{Feuchte Luft (Tabelle)}} \n";
print LATEXOUT "\\mysection{Feuchte Luft (Tabelle)}{T} \n";
print LATEXOUT ("  \\input",
   "{moist-air-$lang.tex} \n");

# ===========================================================================
# refsym
# ===========================================================================
#print LATEXOUT "\\addcontentsline{toc}{section}{Fliebilddarstellung nach EN 1861} \n";
#print LATEXOUT "\\lhead{\\textbf{Fliebilder}} \n";

#print LATEXOUT "\\vspace*{2mm} \n";

#print LATEXOUT "\\section*{Fliebilddarstellung nach EN 1861} \n\n";
print LATEXOUT "\\setcounter{showsectionheaders}{1} \n\n";
print LATEXOUT "\\mysection{Fliebilddarstellung (EN 1861)}{T} \n\n";
print LATEXOUT "\\setcounter{showsectionheaders}{0} \n\n";

print LATEXOUT "\\begin{center}\n";
print LATEXOUT "Systemfliebilder und Rohrleitungs- und Instrumentenfliebilder\n\n";
print LATEXOUT "\\vspace{2mm}\n\n";
print LATEXOUT "Rasterweite fr alle Symbole: \\unit{2,5}{\\milli\\metre}\n\n";
print LATEXOUT "\\end{center}\n";

#print LATEXOUT "Rasterweite fr alle Symbole: \\unit{2,5}{\\milli\\metre}\n\n";
print LATEXOUT "\\vspace*{2mm}\n\n";


print LATEXOUT ("  \\input",
   "{refsym-$lang.tex} \n");
print LATEXOUT ("  \\newpage \n");

# ===========================================================================
# todo
# ===========================================================================
#&empty_pages(1,"Leere Seite",0);

# ===========================================================================
# rtables
# ===========================================================================
#print LATEXOUT "\\addcontentsline{toc}{section}{Dampftafeln} \n";
print LATEXOUT "\\mysection{Dampftafeln}{T} \n";


print LATEXOUT "\\vspace{30mm} \n";

print LATEXOUT "\\newpage \n\n";

#print LATEXOUT "\\lhead{\\textbf{Dampftafel-\\themypage}} \n";

foreach my $table (@rtables_filelist) {
   my $r=$table;
   $r=~s/.tex//g;
   # replacing the filename with the Database-Value
   if (defined $refrigerants{$r}{latex} && $refrigerants{$r}{latex} ne "" ) {
       $r=$refrigerants{$r}{latex}; 
   } else {
     $r="\\textcolor{red}{$r not found}"; 
   }

   print LATEXOUT "\\lhead{\\textbf{Dampftafel $r}} \n";

   # show in tableofcontents
   #print LATEXOUT "\\addcontentsline{toc}{subsection}{$r} \n";
   #print LATEXOUT "\\mysmallsubsection{$r}{T} \n";

   print LATEXOUT "\\begin{center} \n";
   print LATEXOUT ("  \\input",
      "{../rtables/$table} \n");
   print LATEXOUT "\\vspace{-20mm} \n";
   print LATEXOUT "\\end{center} \n";
   print LATEXOUT "\\newpage \n\n";
   print LATEXOUT "\\stepcounter{mypage} \n\n";
}



# ===========================================================================
# Piping
# ===========================================================================
print LATEXOUT "\\lhead{\\textbf{Rohrleitungen}} \n";
print LATEXOUT "\\mysection{Rohrleitungen}{T} \n";
print LATEXOUT ("  \\input",
   "{pipe-$lang.tex} \n");


# CO_2-Problematik

# Sonnenenergie


# ===========================================================================
# TEIL 3
# ===========================================================================
#print LATEXOUT "\\part{Diagramme}";
print LATEXOUT "\\setcounter{page}{1}";
#print LATEXOUT "\\addcontentsline{toc}{part}{III \\hspace{0mm} \\fbox{Diagramme}}";
#print LATEXOUT "\\addcontentsline{toc}{part}{\\fbox{III \\,\\, Diagramme}}";
print LATEXOUT "\\addtocontents{toc}{\\contentsline {part}{\\fbox{Teil III: \\, Diagramme}}{}}\n";

print LATEXOUT "\\stepcounter{part}";
print LATEXOUT "\\chead{\\textbf{Teil III: Diagramme}} \n";
print LATEXOUT "\\rhead{\\textbf{D \\thepage}} \n";

# ===========================================================================
# workflow
# ===========================================================================
#&empty_pages(1,"workflow (D 01)",1,"D");
print LATEXOUT "\\lhead{\\textbf{Ablaufschema Anlagenauslegung}} \n";
print LATEXOUT "\\mysection{Ablaufschema Anlagenauslegung}{D} \n";
print LATEXOUT "\\vspace{-5mm} \n";

print LATEXOUT "\\enlargethispage{30mm} \n";
print LATEXOUT "\\setlength{\\fboxsep}{0.2mm} \n";
print LATEXOUT "\\begin{center} \n";
print LATEXOUT ("\\includegraphics[keepaspectratio,clip=true,",
                "width=190mm]{../drawings-eps/kuehlaufgabe.eps}\n");
print LATEXOUT "\\end{center} \n";
print LATEXOUT "\\setlength{\\fboxsep}{1mm} \n";

print LATEXOUT "\\newpage \n";

# ===========================================================================
# hx
# ===========================================================================
#&empty_pages(1,"h,x-Diagramm (D 01)",1,"D");
print LATEXOUT "\\lhead{\\textbf{h\\,-\\,x-Diagramm}} \n";
print LATEXOUT "\\mysection{h\\,-\\,x-Diagramm}{D} \n";
print LATEXOUT "\\vspace{-5mm} \n";

print LATEXOUT "\\enlargethispage{30mm} \n";
print LATEXOUT "\\setlength{\\fboxsep}{0.2mm} \n";
print LATEXOUT "\\begin{center} \n";
print LATEXOUT ("\\includegraphics[keepaspectratio,clip=true,",
                "trim= 2.2mm 0mm 0mm 6.5mm]{../drawings-eps/hx-diagram.eps}\n");
print LATEXOUT "\\end{center} \n";
print LATEXOUT "\\setlength{\\fboxsep}{1mm} \n";

print LATEXOUT "\\newpage \n";

# ===========================================================================
# logph 
# ===========================================================================
print LATEXOUT "\\setcounter{mypage}{1} \n";
#print LATEXOUT "\\addcontentsline{toc}{section}{log\\,p\\,-\\,h-Diagramme}";
print LATEXOUT "\\mysection{log\\,p\\,-\\,h-Diagramme}{D}";

print LATEXOUT "\\psfrag{Enthalpie}{} \n";



foreach my $diagramm (@ps_filelist) {
   my $r=$diagramm;
   print "\n$r\n\n";

   $r=~s/\.ps$//g;
   $r=~s/\.eps$//g;

   print "\n$r\n\n";

   # replacing the filename with the Database-Value
   if (defined $refrigerants{$r}{latex} && $refrigerants{$r}{latex} ne "" ) {
       $r=$refrigerants{$r}{latex}; 
   } else {
     $r="\\textcolor{red}{$r not found}"; 
   }

   print LATEXOUT "\\lhead{\\textbf{log\\,p\\,-\\,h-Diagramm $r}} \n";

   # show in tableofcontents
   # print LATEXOUT "\\addcontentsline{toc}{subsection}{$r} \n";
   # print LATEXOUT "\\mysmallsubsection{$r}{D} \n";

   print LATEXOUT "\\begin{center} \n";
   if ($diagramm eq "r449a.eps"){
       print LATEXOUT ("%\\psfragscanoff\n",
         "  \\ifthenelse{\\isodd{\\value{page}}}{%\n",
         "\\framebox{\\includegraphics[angle=90, width=189mm, height=280mm, keepaspectratio]",
         "{../eps/$diagramm}}\n",
         "}{%\n",
         "\\framebox{\\includegraphics[angle=270, width=190mm]{../eps/$diagramm}}\n",
         "} \n",
         "%\\psfragscanon\n");
   } else {
       print LATEXOUT ("  \\ifthenelse{\\isodd{\\value{page}}}{%\n",
         "\\includegraphics[width=190mm, height=280mm, keepaspectratio]",
         "{../eps/$diagramm}\n",
         "}{%\n",
         "\\includegraphics[angle=180, width=190mm]{../eps/$diagramm}\n",
         "} \n");
   }

   print LATEXOUT "\\end{center} \n";
   print LATEXOUT "\\newpage \n\n";   
   print LATEXOUT "\\stepcounter{mypage} \n\n";
}

# ===========================================================================
# Mittlere logarithmische Temperaturdifferenz
# ===========================================================================
print LATEXOUT "\\lhead{\\textbf{Mittl. log. Temperaturdifferenz}} \n";
print LATEXOUT "\\mysection{Mittl. log. Temperaturdifferenz}{D} \n";
print LATEXOUT ("  \\input",
   "{dtm-data.tex} \n");
   print LATEXOUT "\\newpage \n\n";   


# ===========================================================================
# Stromwirkung
# ===========================================================================
print LATEXOUT "\\lhead{\\textbf{Stromwirkung auf den Menschen}} \n";
print LATEXOUT "\\mysection{Stromwirkung auf den Menschen}{D} \n";
print LATEXOUT "\\vspace{-5mm} \n";

print LATEXOUT "\\enlargethispage{30mm} \n";
print LATEXOUT "\\setlength{\\fboxsep}{0.2mm} \n";
print LATEXOUT "\\begin{center} \n";
print LATEXOUT ("\\includegraphics[keepaspectratio,clip=true,",
                "width=190mm]{../drawings-eps/stromwirkungmensch.eps}\n");
print LATEXOUT "\\end{center} \n";
print LATEXOUT "\\setlength{\\fboxsep}{1mm} \n";

print LATEXOUT "\\newpage \n";


# ===========================================================================
# stromzeitkennschmelz.eps
# ===========================================================================
print LATEXOUT "\\lhead{\\textbf{Strom-Zeit-Kennlinie (Sicherung)}} \n";
print LATEXOUT "\\mysection{Strom-Zeit-Kennlinie (Sicherung)}{D} \n";
print LATEXOUT "\\vspace{-5mm} \n";

print LATEXOUT "\\enlargethispage{30mm} \n";
print LATEXOUT "\\setlength{\\fboxsep}{0.2mm} \n";
print LATEXOUT "\\begin{center} \n";
print LATEXOUT ("\\includegraphics[keepaspectratio,clip=true,",
                "width=190mm]{../drawings-eps/stromzeitkennschmelz.eps}\n");
print LATEXOUT "\\end{center} \n";
print LATEXOUT "\\setlength{\\fboxsep}{1mm} \n";

print LATEXOUT "\\newpage \n";


# ===========================================================================
# stromzeitkennschmelz2.eps
# ===========================================================================
print LATEXOUT "\\lhead{\\textbf{Strom-Zeit-Kennlinie (Sicherung)}} \n";
#print LATEXOUT "\\mysection{Strom-Zeit-Kennlinie (Sicherung)}{D} \n";
print LATEXOUT "\\vspace{-5mm} \n";

print LATEXOUT "\\enlargethispage{30mm} \n";
print LATEXOUT "\\setlength{\\fboxsep}{0.2mm} \n";
print LATEXOUT "\\begin{center} \n";
print LATEXOUT ("\\includegraphics[keepaspectratio,clip=true,",
                "width=190mm]{../drawings-eps/stromzeitkennschmelz2.eps}\n");
print LATEXOUT "\\end{center} \n";
print LATEXOUT "\\setlength{\\fboxsep}{1mm} \n";

print LATEXOUT "\\newpage \n";


# ===========================================================================
# AusloesekennlinieLS.eps
# ===========================================================================
print LATEXOUT "\\lhead{\\textbf{Leitungsschutzschalter}} \n";
print LATEXOUT "\\mysection{Leitungsschutzschalter}{D} \n";
print LATEXOUT "\\vspace{-5mm} \n";

print LATEXOUT "\\enlargethispage{30mm} \n";
print LATEXOUT "\\setlength{\\fboxsep}{0.2mm} \n";
print LATEXOUT "\\begin{center} \n";
print LATEXOUT ("\\includegraphics[keepaspectratio,clip=true,",
                "width=170mm]{../drawings-eps/AusloesekennlinieLS.eps}\n");
print LATEXOUT "\\end{center} \n";
print LATEXOUT "\\setlength{\\fboxsep}{1mm} \n";

print LATEXOUT "\\newpage \n";



# ===========================================================================
# ausloesepkzm.eps
# ===========================================================================
print LATEXOUT "\\lhead{\\textbf{Motorschutzschalter}} \n";
print LATEXOUT "\\mysection{Motorschutzschalter}{D} \n";
print LATEXOUT "\\vspace{-5mm} \n";

print LATEXOUT "\\enlargethispage{30mm} \n";
print LATEXOUT "\\setlength{\\fboxsep}{0.2mm} \n";
print LATEXOUT "\\begin{center} \n";
print LATEXOUT ("\\includegraphics[keepaspectratio,clip=true,",
                "width=170mm]{../drawings-eps/ausloesepkzm.eps}\n");
print LATEXOUT "\\end{center} \n";
print LATEXOUT "\\setlength{\\fboxsep}{1mm} \n";

print LATEXOUT "\\newpage \n";



# ===========================================================================
# motormoment.eps
# ===========================================================================
print LATEXOUT "\\lhead{\\textbf{Drehmoment-Kennlinie DASM}} \n";
print LATEXOUT "\\mysection{Drehmoment-Kennlinie DASM}{D} \n";
print LATEXOUT "\\vspace{-5mm} \n";

print LATEXOUT "\\enlargethispage{30mm} \n";
print LATEXOUT "\\setlength{\\fboxsep}{0.2mm} \n";
print LATEXOUT "\\begin{center} \n";
print LATEXOUT ("\\includegraphics[keepaspectratio,clip=true,",
                "width=190mm]{../drawings-eps/motormoment.eps}\n");
print LATEXOUT "\\end{center} \n";
print LATEXOUT "\\setlength{\\fboxsep}{1mm} \n";

print LATEXOUT "\\newpage \n";


# ===========================================================================
# todo
# ===========================================================================
#&empty_pages(1,"Verdichter (D 11)",1,"T");



# ===========================================================================
# TEIL 4
# ===========================================================================
#print LATEXOUT "\\part{Diagramme}";
print LATEXOUT "\\addcontentsline{toc}{part}{IV \\hspace{0mm} Sonstiges}";
#print LATEXOUT "\\stepcounter{part}";
print LATEXOUT "\\chead{\\textbf{Teil IV: Diagramme}} \n";

# ===========================================================================
# reference
# ===========================================================================
#print LATEXOUT "\\lhead{\\textbf{Quellen-\\themypage}} \n";

print LATEXOUT ("  \\input",
   "{links-$lang.tex} \n");
print LATEXOUT ("  \\newpage \n");







# ===========================================================================
# LATEX-Nachspann schreiben
# ===========================================================================
print LATEXOUT ('
\end{document}
');

close(LATEXOUT);

if ($show==1){
    system("cd ../coldformix-generated/$lang/latex; latex coldformix-$lang-$version.tex");
    system("cd ../coldformix-generated/$lang/latex; latex coldformix-$lang-$version.tex");
    system("cd ../coldformix-generated/$lang/latex; dvips coldformix-$lang-$version.dvi");
    system("cd ../coldformix-generated/$lang/latex; kghostview coldformix-$lang-$version.ps");
}


############################################################
# sub
############################################################

sub empty_pages {
    my ($number,$title,$contentsline,$part_letter)=@_;
    my $i;
    print "Creating empty pages\n";
    print LATEXOUT "\\lhead{\\textbf{$title}} \n";
    if ($contentsline==1){
       #print LATEXOUT "\\addcontentsline{toc}{section}{$title} \n";
       print LATEXOUT "\\mysection{$title}{$part_letter} \n";
    }
    # create empty pages
    for ($i = 1; $i <= $number; $i++) {  # count from 1 to $number
        print "   page $i ...\n";
	print LATEXOUT "\n\\vspace*{\\fill}\n\n";
	print LATEXOUT "\n\\hspace*{\\fill}",
                       "\\textbf{$title --- $i/$number}",
                       " \\hspace*{\\fill}\n\n";
	print LATEXOUT "\n\\vspace*{\\fill}\n\n";
	print LATEXOUT "\n\\newpage\n\n";
    }
}
