Sie sind hier

Latex: benötige weitere Gliederungsstufen als die der Standard-Dokumentklassen

Hallo (La)TeX-Freunde,

ich entwickle eine Software, die ein Latex-Dokument generiert und daraus mit pdflatex ein PDF-Dokument. Das Dokument soll ein Inhaltsverzeichnis mit der normalen Gliederung (1, 1.1, 1.1.1, 1.1.2, ...) haben.

In meiner Software gibt es TestObjects. Von TestObjects gibt es zwei Ausprägungen: eine TestSuite und einen TestCase. Eine TestSuite hat eine Liste vom Typ TestObjects. Mit TestSuites können die TestObjects ineinander verschachtelt werden, woraus ein Baum resultiert. Die Blätter sind die TestCases, die Knoten die TestSuiten.

Beispiel:

- TestSuite A
 - TestCase A1
 - TestCase A2
 - TestSuite B
  - TestCase B1
  - TestCase B2
- TestSuite C
 - TestCase C1
 - TestSuite D
  - TestSuite E
   - TestSuite F
    - TestSuite G
     - TestSuite H
      - TestCase H1
...

Diese Verschachtelung kann beliebig tief werden. Und da liegt auch mein Problem: Die Standard-Dokumentklassen wie z.B. scrartcl haben bei der Gliederung nur die Möglichkeit von \part, [\chapter], \section, \subsection, ... bis hin zu \subparagraph. Ich benötige aber weitere Gliederungsstufen.

Wenn ich nun die Informationen (des obigen Beispiels) der TestObjects in einem Latex-Dokument abbilden möchte, dann gehen mir die Gliederungsmöglichkeiten aus:

\section{TestResults}
 \subsection{TestSuite A}
  \subsubsection{TestCase A1}
  \subsubsection{TestCase A2}
  \subsubsection{TestSuite B}
    \paragrpah{TestCase B1}
    \paragrpah{TestCase B2}
  \subsection{TestSuite C}
   \subsubsection{TestCase C1}
    \subsubsection{TestSuite D}
     \paragraph{TestSuite E}
      \subparagraph{TestSuite F}
... und nun???

Was ich gerne hätte, wäre eine Möglichkeit wie diese:

\headline{TestResults}
\headlineCounterPlusPlus
 \headline{TestSuite A}
 \headlineCounterPlusPlus
  \headline{TestCase A1}
  \headline{TestCase A2}
  \headline{TestSuite B}
  \headlineCounterPlusPlus
    \headline{TestCase B1}
    \headline{TestCase B2}
  \headlineCounterMinusMinus
 \headlineCounterMinusMinus
 
 \headline{TestSuite C}
 \headlineCounterPlusPlus
  \headline{TestCase C1}
  \headlineCounterPlusPlus
   \headline{TestSuite D}
   \headlineCounterPlusPlus
    \headline{TestSuite E}
    \headlineCounterPlusPlus
     \headline{TestSuite F}
     \headlineCounterPlusPlus
      \headline{TestSuite G}
      \headlineCounterPlusPlus
       \headline{TestSuite H}
       \headlineCounterPlusPlus
        \headline{TestCase H1}

Die jura-Dokumentenklasse mit dem Paket alphanum bietet annähernd etwas, was in die richtige Richtung geht (siehe: http://www.jurawiki.de/LaTeX#Das_alphanum-Paket):

\toc{TestResults}
\sub{TestSuite A}
 \toc{TestCase A1}
 \toc{TestCase A2}
 \sub{TestSuite B}
  \toc{TestCase B1}
  \toc{TestCase B2}
 \levelup
\levelup
\sub{TestSuite C}
 \toc{TestCase C1}
 \sub{TestSuite D}
  \sub{TestSuite E}
   \sub{TestSuite F}
    \sub{TestSuite G}
     \sub{TestSuite H}
      \toc{TestCase H1}

Leider hat das Paket den Nachteil, dass die Gliederung nicht passend ist, denn dort wird folgendermaßen nummeriert:
A., I., 1., a), aa), ...

Kann mir jemand ein passendes Paket empfehlen, das in etwa meinen Anforderungen genügt oder mir weitere Hinweise geben, wie ich zu dem gewünschten Ergebnis komme? Leider habe ich noch nichts passendes - auch mit langer google-Suche - gefunden.

Gruß

Flo

forum: 

Hallo Flo,

ich verwende alphanum gelegentlich auch, um neue Gliederungsebenen zu basteln. Wie man die Gliederungsnummerierung anpassen könnte, ist wohl nicht Deine Frage.

Ich »stolpere« darüber, dass Du beliebig tiefe Gliederungen haben willst. Wer wird denn einer Gliederungsziffer »2.1.1.1.1.1.1.3.2.1.1.2« noch irgendeine sinnvolle Information entnehmen können? Und das waren jetzt erst zwölf Ebenen!

Deine Beschreibung hört sich eher so an, als wolltest Du in einer Datenbank Ergebnisse ablegen und diese in eine LaTeX-Tabelle einlesen. Dafür gibt es einige Pakete, schau hier CTAN / Topic Index / Database

Oder liege ich (bin kein Informatiker) falsch?

Gruß,
Alexander

Bild von Admin

Dies ist übrigens ein Crosspost zu einem Beitrag auf unserer Partnerseite goLaTeX.de. Da dort noch keine Diskussion begonnen wurde, Alexander hier aber bereits geantwortet hat, wir die Diskussion vorerst nicht gesperrt.

Administratorentscheidungen sind grundsätzlich nicht im Forum zu diskutieren. Für Fragen an die Administratoren ist die bekannte Administrator-E-Mail-Adresse oder das Forum Site zu verwenden.

Hallo Alexander,

vielen Dank für deine Antwort.

Meine Anwendung hat nichts mit einer Datenbank zu tun, deswegen sind die von Dir vorgeschlagenen Pakete für mich leider nicht relevant.

Ich stimme mit Dir überein, dass ab einer bestimmten Gliederungsstufe das ganze unübersichtlich wird und die meisten Benutzer meines Programmes auch keine 10+ Gliederungsstufen verwenden. Aber denk mal an Dein Dateisystem: Dort hast Du auch die Möglichkeit mit Verzeichnissen Deine Dateien zu strukturieren und da willst Du auch mehr als 5 Unterverzeichnisse haben. Die Kontrolle darüber, wie weit Du mit Verzeichnissen strukturierst behältst Du (natürlich gibt es eine Limitierung vom Dateisytem, an deren Grenzen man aber wohl selten stoßen wird).

Es ist so, dass ich theoretisch eine unendlich große Verschachtelungstiefe erlaube, ob das noch Sinn macht, entscheiden aber meine Benutzer. Die Darstellung im Programm selber ist mit einem TreeView realisiert, den man wie im Windows-Explorer, einfach mit dem Scrollbalken nach rechts und links verschieben kann. Dort ist das ganze zwar unübersichtlich, aber es ist dennoch möglich alles darzustellen. Mir ist schon klar, dass es in dem PDF irgendwann nicht mehr hin passt, das fällt dem Benutzer dann schon auf.

Dennoch benötige ich die von mir beschriebenen Möglichkeiten. Wichtig ist mir, dass ich die Gliederung ähnlich wie in dem alphanum-Paket steuern kann und das am besten beliebig tief.

Viele Grüße

Florian

Comments for "Latex: benötige weitere Gliederungsstufen als die der Standard-Dokumentklassen" abonnieren