PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : part in cls Datei erzeugen



David
09-04-2006, 16:02
Ich habe eine fertige cls Datei, welche ich für meine Diplomarbeit verwende. Sie passt auch zur Vorlage, welche wir erhalten haben, nur gibt es leider keinen Part befehl. Ich würde allerdings die Ganze Arbeit in 3 Parts gliedern, daher die Frage, wie füge ich einer cls Datei den Part Befehl hinzu?

Die cls Datei:


% ================================================== =========================
% DIPA.CLS V 1.0 (12.2.2005) W.Haager
% Klassenfile fuer Diplomarbeiten Abt. Elektrotechnik, HTL St.Poelten
% Abgeleitet von der Koma-Skript Klasse SCRREPRT
% ================================================== =========================

\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesClass{dipa}[2005/02/13]
\typeout{========================================= =======}
\typeout{Diplomarbeit, Abt.Elektrotechnik, HTL St.Poelten}
\typeout{========================================= =======}
\newcommand\ifnumber[3]{
\begingroup\@tempswafalse\let\dipa@next\test@numbe r
\expandafter\dipa@next#1\dipa@next
\if@tempswa\endgroup#2\else\endgroup#3\fi
}



Die Tex Datei fängt dann folgendermaßen an:



\documentclass{dipa}
\usepackage{makeidx}
\usepackage{color}
\usepackage{listings}
\usepackage{float}
\usepackage{latexsym}
\usepackage{array}
\usepackage{tabularx}
\usepackage{textcomp}
\newcount\Sourcenummer\Sourcenummer=0

\definecolor{Brown}{cmyk}{0,0.81,1,0.60}
\definecolor{OliveGreen}{cmyk}{0.64,0,0.95,0.40}
\definecolor{CadetBlue}{cmyk}{0.62,0.57,0.23,0}
\definecolor{Orange}{cmyk}{0.5,0.7,0.9,0}
\lstset{frame=ltrb,framesep=5pt,basicstyle=\small, breaklines=true,
keywordstyle=\ttfamily\color{OliveGreen},numbers=l eft,
identifierstyle=\ttfamily\color{CadetBlue}\bfserie s,commentstyle=\color{Brown},
stringstyle=\ttfamily\color{Orange}}

edico
09-04-2006, 17:26
Da die Klasse auf KOMA scrreprt basiert, sollte es doch gehen!
Hast du versucht, in den Mainfile einfach an dementsprechender Stelle \part{Dies ist ein Teil} einzufügen?
Sonst schau dir auch nochmal scrguide.pdf an.
edico

David
10-04-2006, 00:19
\documentclass{dipa}
\usepackage{makeidx}
\usepackage{color}
\usepackage{listings}
\usepackage{float}
\usepackage{latexsym}
\usepackage{array}
\usepackage{tabularx}
\usepackage{textcomp}
\newcount\Sourcenummer\Sourcenummer=0

\definecolor{Brown}{cmyk}{0,0.81,1,0.60}
\definecolor{OliveGreen}{cmyk}{0.64,0,0.95,0.40}
\definecolor{CadetBlue}{cmyk}{0.62,0.57,0.23,0}
\definecolor{Orange}{cmyk}{0.5,0.7,0.9,0}
\lstset{frame=ltrb,framesep=5pt,basicstyle=\small, breaklines=true,
keywordstyle=\ttfamily\color{OliveGreen},numbers=l eft,
identifierstyle=\ttfamily\color{CadetBlue}\bfserie s,commentstyle=\color{Brown},
stringstyle=\ttfamily\color{Orange}}

% ================================================== ==============
\input{makros}

\makeindex

\begin{document}

\floatstyle{ruled}

% ================================================== ==================
% Titelseite
% ================================================== ===================
%\dedication{Gewidmet}
%\subject{Diplomarbeit}
\input{text/titel}
\maketitle
% ================================================== ========================
% Danksagungen
\newpage
\vspace*{5\baselineskip}
\section*{Danksagungen/Widmungen}
\input{text/danksagung}
% ================================================== ========================
% Kurzfassung, Abstract
% ================================================== ========================
\begin{abstract}
\input{text/abstract}
\end{abstract}
\selectlanguage{american}
\begin{abstract}
\input{text/abstracteng}
\end{abstract}
\selectlanguage{naustrian}

% ================================================== =========================
% Inhaltsverzeichnis
% ================================================== =========================
\tableofcontents

% ================================================== =========================
%Kapitel der Technischen Dokumentation
\part{Technischer Teil}
% ================================================== =========================
\input{text/LM628}
% ================================================== ========================
\input{text/Arm/uebersicht}


% ================================================== =========================
%Kapitel des Benutzerhandbuches
% ================================================== =========================
\input{text/Handbuch}

% ================================================== =========================
% Wirtschaftlicher Teil
% ================================================== =========================
\part{Wirtschaftlciher Teil}
\input{text/Wirschaft}

% ================================================== =========================
%Anhang
% ================================================== ========================
\appendix
% ================================================== ========================
\input{text/datenblaetter}
% ================================================== ========================
% Literaturverzeichnis, Abbildungsverzeichnis, Tabellenverzeichnis
% ================================================== ========================
\begin{thebibliography}{88}
\raggedright
\input{text/literatur}
\end{thebibliography}
\listoffigures
\listoftables
\chapter{Glossar}
\input{text/glossar}
% ----------------------------------------------------------
% INDEX
\printindex
\end{document}

David
10-04-2006, 00:22
Sobald ich die \part hinzufüge, kann ich es nicht mehr kompilieren!
--> Fehler

Wobei wenn ich die cls Datei nach part durchsuche, finde ich wirklich einträge!
Ich versteh echt nicht warum es nicht funktioniert?!?

edico
10-04-2006, 06:24
Das ist nicht so erkennbar, wo 'der Hund begraben ist'.
[0] '...kann ich es nicht mehr kompilieren.' - was heisst das?
[1] Das ist eine Klasse des Instituts - was sagt der webmaster?
[2] Speck dein Miniexample ganz ab, nur noch Klasse und Part, kommentier listings, float etc. aus - du hast Fehlermeldungen. Was sagt der logfile dazu?
[3] Vergleiche doch mal die jeweiligen Parts_Koma mit Parts_Dina - sind Unterschiede, welche?
edico

David
10-04-2006, 15:35
@0&2

Ich hab jetzt folgendes Beispiel:


\documentclass{dipa}

\begin{document}

\part{Hello World1}
\chapter{Hello World2}
Hello World 3

\end{document}

Funktioniert ohne \part wunderbar, mit part entsteht folgende Fehlermeldung:

Package color Info: Driver file: pdftex.def on input line 125.
)
! Undefined control sequence.
l.7 \part {Hello World1}
The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.


Es erfolgt auch eine Ausgabe:
Seite 1: Hello World1 (in normaler schrift, ohne Nummer)
Seite 2:
1 Hello World2 (Wie eben ein chapter sein sollte)
Hello World 3

@1 Das ist leichter gesagt als getan! Ich kann zwar probieren, dass ich jemanden auftreibe, falls ich wirklcih nicht weiterkomme, aber es gibt bei uns nur einen Prof. der so tief in der Materie drinnen ist, dass er solche cls Dateien wirklich schreiben kann!

@3 Meinst du ich soll meine dipa datei mit einer koma originaldatei verlgeichen (sprich nach part suchen und schaun ob es die gleichen einträge sind?)

Danke

David

edico
10-04-2006, 23:19
Gibt es keine 'manpage' zu der Klasse, wo nähere Erläuterungen gelistet sind?
Vielleicht sind anfänglich des cls-files einige Erläuterungen ...
Vielleicht gibt es im Institut einige Erläuterungen in der Biblio ...
Gibt es noch irgendwelche cfg-files ...
Werden von dipa packages deklariert, die nicht bei dir geladen sind ...
usw. usw. usw.

Die Fehlermeldung kann ich nicht zu \part in Beziehung setzen, hat sie doch mit Color Support zu tun - was auch immer das hier heisst.
Ich versteh auch in diesem Kontext nicht, was die hbox misspelling damit zu tun hat - scheinen eher Folgefehler zu sein.
Ich versteh auch nicht: ist das wirklich das kompilierte Beispiel, zu dem die Fehlermeldung gehört?

Deine Outputbeschreibung verstehe ich nicht ... es wird also ein output geliefert, also kompiliert er doch; was ist denn jetzt anders - es wird kein oder nur ein unzureichender Part erstellt; welchen Unterschied zur Koma-Klasse gibt es ...

@3 Vergleich kann doch nur stattfinden, wenn du einerseits die dipa-, andererseits die Komaklasse (also die Basis) heranziehst.

Stell doch mal die dipa.cls ins Netz; sonst muss man ja nur spekulieren. Vielleicht finden wir ja was ... ;-)
edico
P.S. wie ich gesehen habe, habt ihr ein TeX-Forum - frag doch mal dort nach. Ausserdem wird doch villeicht der Autor noch am Institut sein ...

David
11-04-2006, 09:26
Hier hab ich dir die beiden Links hingestellt, mit zur .zip Datei bzw. einer reinen txt Datei welche die cls Datei ist!

http://bloedsin.gratis-webspace.de/
Wenn ich das richtig durchschaut habe, muss man die Links in ein neues Browser Fenster kopieren linken scheint nicht zu funktionieren :-(

Wo hättest du bitte ein Forum gefunden?????? Also ich wüsste nichts davon!

Ich hoffe du weißt jetzt anhand des bsps was ich meinte!

Danke

pospiech
11-04-2006, 10:32
Wenn ich das richtig sehe ist dipa keine abgleitete Komascript Klasse, sondern eine kopierte und modifizierte Klasse. Meiner Meinung nach keine gute Idee. Wenn also Probleme mit der Klasse auftauchen, so muss man den Autor von dipa dafür verantwortlich machen, oder selber nach dem Bug suchen und ihm eine Korrektur schicken.

Matthias

edico
11-04-2006, 12:59
AFAIK hat die Fehlermeldung nur mittelbar mit part zu tun - wo nun aber die Wechselwirkungen sind ... tja, dazu müsste man alles auseinander nehmen und viel Zeit haben oder Autor sein ;-)

Was bringt dir denn dipa.cls im Vergleich zu scrreprt mehr? So wie sich mir das auf die Schnelle darstellt, ist das doch nichts Besonderes. Oder anders gesagt: das kannst du doch mit KOMA ebenso in den Griff bekommen. Mit dem Unterschied.: hier kennen sich mehrere damit aus.

Der Autor - such ihn; vielleicht ist es das: w.haager@gmx.at, wenn er am Institut nicht auszumachen ist.
Oder jemand kennt ihn und weiss, wie man ihn sonst erreichen kann.
Ausserdem: Wer kennt am Institut denn noch die Klasse?

Forum ...
https://learnet.htlstp.ac.at/mod/forum/index.php?id=197
https://learnet.htlstp.ac.at/mod/forum/view.php?f=267
... nun, das gibt es; aber es gibt keine Meldungen!

edico

rais
11-04-2006, 17:56
Wobei wenn ich die cls Datei nach part durchsuche, finde ich wirklich einträge!

was hast Du gemacht? Einfach

grep -c part dipa.cls aufgerufen und gesehen, ah 5 Einträge sind da? Das reicht _nicht_ ...
Was Du hättest suchen müssen ist \newcommand{\part}[..] oder gleich


grep part dipa.cls | grep newcommand (statt newcommand alternativ mit def)

Und nun kannst Du einem W. Haager die konkrete Frage stellen, warum er sich die Mühe gemacht hat, Befehle wie \partname und \partformat zur Verfügung zu stellen, \part aber nicht ;)
Und dann kannst Du ihm sagen, er soll sich mal die Doku zum hyperref-Paket ansehen: es soll eines der _letzten_ Pakete sein, die geladen werden, nicht eines der Ersten, hat imho überhaupt nix in der Dokumentklasse zu suchen.
Ebenso hege ich meine Zweifel einer Klasse gegenüber, die es für nötig erachtet, mir vorzuschreiben, wie ich meine Dokumente zu kodieren hab'.
Es scheint also eine 'Klasse' zu sein, bei der der Autor 'Klasse' stellenweise mit 'Präambel' gleichgesetzt hat - das war imho noch nie eine wirklich gute Idee.

Nimm also - wie edico schon sagte - das Original (scrreprt), da funzt ein \part wenigstens... außerdem funzt da auch latex mit...


inputenc mit ansinew: da wirst Du mit 'grep' wohl nix werden, da heißt es dann wohl 'find'

MfG,

David
11-04-2006, 19:02
Naja, der Vorteil der Klasse ist, dass es eine ganze Diplomarbeitsvorlage gibt, welche auf dieser Klasse passiert!
Außerdem soll der einheitlichkeit halber alle bei uns diese Klasse verwenden!

Vielen Dank für eure mühen, ich werde mich eben auf die Suche machen, wo ich W. Haager finde!

ad Suchen:
Ich muss zu meiner Schande gestehen, ich hab es einfach unter Windof gemacht und dort srg + f verwendet und die einträge manuel verglichen!

Ich wusste gar nicht, dass externe auf den elearning Server zugriff haben!?!

Danke

David

bischi
11-04-2006, 19:14
Was hindert dich eigentlich daran, die Part-Teile neu zu definieren?

etwa so:

\renewcommand{\part}{2}{\big{Teil #1: #}\addtocontents{toc}{#1} \vspace{2em}}

Ich mein - wenn du sowieso schon so ne komische Vorlage brauchen musst - kommts auf einen unsauberen Befehl mehr oder weniger auch nicht mehr draufan. Kannst das Ding sogar noch mit nem Counter ausbauen...

\part{1}{Mein erster Teil}

MfG Bischi

PS: Zum E-learnig-Server: Ich hab keinen Zugriff...

rais
11-04-2006, 20:28
Moin moin,

Naja, der Vorteil der Klasse ist, dass es eine ganze Diplomarbeitsvorlage gibt, welche auf dieser Klasse passiert!
Außerdem soll der einheitlichkeit halber alle bei uns diese Klasse verwenden!

Also wenn's einheitlich sein soll, was willst Du dann mit \part ?


Ich muss zu meiner Schande gestehen, ich hab es einfach unter Windof gemacht und dort srg + f verwendet und die einträge manuel verglichen!

Verglichen, womit? Bei scrreprt.cls fängt die Definition für den \part Befehl so an:


\newcommand\part{\if@openright\cleardoublepage\els e\clearpage\fi
%das wär' zuviel, den kompletten Code hier zu posten...
bei dipa.cls - das ja angeblich auf scrreprt aufbaut - gibt's so eine Definition eben nicht




Ich wusste gar nicht, dass externe auf den elearning Server zugriff haben!?!


:confused: wat is dat denn ? Du hast doch n link gepostet, unter dem man diese "dipa.cls" finden konnte...

@bischi: seltsam, sehr seltsam...
dann schon so etwas wie
\RequirePackage{ifthen}
\newcounter{part}
\newcommand{\part}[2][]{%
\ifthenelse{\equal{#1.}{.}}{\let\partintern=#2}{\l et\partintern=#1}
\refstepcounter{part}
\addtocontents{toc}{\thepart \partintern}
\partformat #2
%etc pp
}
oder so ähnlich :)
MfG,

bischi
11-04-2006, 20:49
:confused: wat is dat denn ? Du hast doch n link gepostet, unter dem man diese "dipa.cls" finden konnte...
Es ging um den Post von Edico.



@bischi: seltsam, sehr seltsam...

Ich hab nie behauptet, dass das die optimale Lösung sei; Aber so als Dirty-Hack dürfte es reichen...

MfG Bischi

rais
12-04-2006, 07:43
Es ging um den Post von Edico.

Ach, die Foren-Links, stimmt ja - trotzdem Danke :)


Ich hab nie behauptet, dass das die optimale Lösung sei; Aber so als Dirty-Hack dürfte es reichen...

eigentlich fand ich das "re" in \renewcommand{\part} seltsam, geht's doch darum, den Befehl erstmalig zur Verfügung zu stellen;
dann kenn ich die Angabe der Anzahl an Parametern -zumindest bei \{[re]new|provide}command - nur in eckigen Klammern und \big kenn ich eigentlich nur in Zusammenhang mit Mathematikmodus.
Und wo ich denn schon mal dabei war... ;)
imho fehlt bei beiden noch das eine oder andere \clear(double)page drumherum, aber ich hab's ja eh nicht getestet - bei KOMA kann man sich das schließlich sparen :D

@David: es wäre vielleicht noch auszutesten, wie's aussehen würde, wenn Du
a) scrreprt nimmst und
b) den Teil aus der dipa.cls etwa ab \RequirePackage{..} in Deine Präambel übernimmst - die \RequirePackage[]{} - Anweisungen kannst Du dann getrost durch \usepackage[]{} ersetzen.

MfG,

bischi
12-04-2006, 13:05
eigentlich fand ich das "re" in \renewcommand{\part} seltsam, geht's doch darum, den Befehl erstmalig zur Verfügung zu stellen;
Da Part ja definiert scheint - aber irgendwie nicht so richtig, wollte ich sichergehen (vielleicht gibts auch nen Fehler - habs nicht getestet...)



dann kenn ich die Angabe der Anzahl an Parametern -zumindest bei \{[re]new|provide}command - nur in eckigen Klammern
Klammern sind Glückssache - entweder es klappt - oder dann nehm ich halt die anderen :D


und \big kenn ich eigentlich nur in Zusammenhang mit Mathematikmodus.
Und wo ich denn schon mal dabei war... ;)
Gut möglich... Wie gesagt - ist nicht getestet; Eher so ein Denkanstoss...


imho fehlt bei beiden noch das eine oder andere \clear(double)page drumherum, aber ich hab's ja eh nicht getestet - bei KOMA kann man sich das schließlich sparen :D
genau!

MfG Bischi

David
29-04-2006, 20:25
Nach langem suchen und vergleichen habe ich es endlich geschafft, dass ich auch bei der unsrigen Version den Part Befehl habe!