Algorithmenverzeichnis in KOMA-Skript als Unterabschnitt

Inhalt, Abbildungen, Tabellen, Quellcodes und andere Verzeichnisse


Unrealmirakulix
Forum-Anfänger
Forum-Anfänger
Beiträge: 11
Registriert: Mi 27. Nov 2013, 16:38

Algorithmenverzeichnis in KOMA-Skript als Unterabschnitt

Beitrag von Unrealmirakulix »

Hallo zusammen,

in den letzten Wochen habe ich nun immer wieder versucht auch das Algorithmenverzeichnis in meiner Arbeit so formatiert wird, wie es die KOMA-Optionen listof=numbered und listof=leveldown zusammen bei meinem Abbildungsverzeichnis und Tabellenverzeichnis machen. Die Option numbered wird auf alle Listen angewendet, leveldown beeinflusst leider aber alle bis auf das Algorithmenverzeichnis. So habe ich derzeit die KOMA-Optionen nicht ganz am Anfang des Dokuments platziert, sondern erst nach dem Algorithmenverzeichnis (\KOMAoptions{listof=leveldown, listof=numbered}), damit ich das Algorithmenverzeichnis nicht auf einer Ebene mit Einleitung und Methoden habe. Das Literaturverzeichnis klappt über die bib...-Optionen

Geplant ist also:
1. Einleitung
2. Methode
...
5. Verzeichnisse
5.1 Literaturverzeichnis
Algorithmenverzeichnis
5.2. Abbildungsverzeichnis
5.3. Tabellenverzeichnis
...

mit renewcommand kenne ich mich leider gar nicht aus. Kann man damit irgendwie die gewollte Nummerierung und damit auch den Eintrag in das Inhaltsverzeichnis erzeugen?

Meine Software: LyX + MiKTeX

Dokument: article (KOMA-Skript) mit a4paper, twoside, 12pt, bibtotocnumbered, bibliography=leveldown

und LaTeX-Vorspann:
% redefine \section add \newpage before it in order to begin a new page at each section
\let\stdsection\section
\renewcommand\section{\newpage\stdsection}

% modify list of listing
\makeatletter   
\let\l@lstlisting\l@subsectionsection
\makeatother 

% define shortcut for registered superscripted
\def\TReg{\textsuperscript{\textregistered}}

% Sperren, Durchstreichen, Hervorheben und Unterstreichen von Texten
\usepackage{soul}

% include pdfs
\usepackage{pdfpages}

% connection to pdf reader
\usepackage{pdfsync}

% blank page command
\newcommand{\blankpage}{
\newpage
\thispagestyle{empty}
\mbox{}
\newpage
}

% algorithm numbering per chapter
\usepackage{algorithm}
%\usepackage[section]{algorithm}
%\usepackage{algorithmicx}
%\usepackage{algpseudocode}

% algorithm floating object: config numeration per section
\renewcommand{\thealgorithm}{\arabic{section}.\arabic{algorithm}} 

% table floating object: config numeration per section
\renewcommand{\thetable}{\arabic{section}.\arabic{table}}

% algorithm floating object: rename title
\floatname{algorithm}{Algorithmus}

% rename listofalgorithms
\renewcommand{\listalgorithmname}{Codeabschnittverzeichnis}

% linebreak at "-" in \url
%\PassOptionsToPackage{hyphens}{url}

% Lorem Ipsum via \lipsum
%\usepackage{lipsum}

% Matlab Code box
%\usepackage{listings}
%\lstset{language=Matlab, numbers=left, numberstyle=\tiny, basicstyle=\footnotesize,showstringspaces=false,numberblanklines=false, frame=single, backgroundcolor=\color{zebg},xleftmargin=0cm, linewidth=1.11\linewidth}

% Matlab code styling; add [numbered] to display line numbers
\usepackage[framed, numbered, autolinebreaks]{mcode-dp-mod}

% convert footnotes to endnotes; don't forget to at \theendnotes to create endnotes list there
%\renewcommand{\notesname}{Endnoten}

\usepackage{baireport}
PS: umbenennen kann ich das Verzeichnis irgendwie auch nicht :(
% rename listofalgorithms
\renewcommand{\listalgorithmname}{Codeabschnittverzeichnis}
jedoch gibt es auch keinen Fehler... ???

Ich hoffe jemand kann mir da helfen. Vielen Dank schon mal und schöne Grüße,

Daniel

Besserwisser

Beitrag von Besserwisser »

Ich glaube, man hat dich schon früher darauf aufmerksam gemacht, dass Helfer für ihre Tests nicht nur irgendwelche Codeschnippsel, sondern ein vollständiges Minimalbeispiel benötigten. AFAIR wurdest du sogar bereits auf die ausgezeichnete Anleitung zur Erstellung eines VMs aufmerksam gemacht.

Ohne das kann ich nur zurück fragen, ob du bereits die Verwendung von Paket scrhack getestet hast. Damit werden die Verzeichnisse des Pakets float AFAIK über tocbasic abgewickelt. Das algorithm dieses Paket verwendet, müsste damit auch dessen Verzeichnis auf die KOMA-Script-Einstellungen hören.

BTW: Wer das:
Unrealmirakulix hat geschrieben:
\let\stdsection\section
\renewcommand\section{\newpage\stdsection}
verwendet, verwendet höchstwahrscheinlich die falsche Klasse. Einer der Hauptunterschiede von scrreprt und scrbook gegenüber scrartcl ist nämlich, dass die ersten beiden echte Kapitel (\chapter) anbieten, die auch immer auf einer eigenen Seite beginnen, während scrartcl als oberste Ebene Abschnitte (\section) hat, die eben nicht auf einer neuen Seite beginnen. Will man also Kapitel, sollte man nicht künstlich \section entsprechend zurecht biegen, sondern besser mit scrreprt oder sogar mit scrbook arbeiten.

Besserwisser

Beitrag von Besserwisser »

PS: Wie man sprachabhängige Begriffe wie \listalgorithmname umdefiniert ist wahlweise in der babel-Anleitung oder in Abschnitt 12.4, »Definition sprachabhängiger Bezeichner«, der aktuellen KOMA-Script-Anleitung oder im entsprechenden Abschnitt im KOMA-Script-Buch zu finden.

Unrealmirakulix
Forum-Anfänger
Forum-Anfänger
Beiträge: 11
Registriert: Mi 27. Nov 2013, 16:38

Beitrag von Unrealmirakulix »

ah ok, vielen Dank. Dachte LOA wäre auch eine Liste wie LOF oder LOT. Habe gerade was gefunden:
\listof{algorithm}{Algorithmenverzeichnis}
... erzeugt das LOA. Und hier wie LyX das LOA erstellt:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands.
\providecommand{\LyX}{\texorpdfstring%
  {L\kern-.1667em\lower.25em\hbox{Y}\kern-.125emX\@}
  {LyX}}
%% Because html converters don't know tabularnewline
\providecommand{\tabularnewline}{\\}
\floatstyle{ruled}
\newfloat{algorithm}{tbp}{loa}
\providecommand{\algorithmname}{Algorithmus}
\floatname{algorithm}{\protect\algorithmname}
nur wie kann ich nun die listof als subsection eintragen?

Besserwisser

Beitrag von Besserwisser »

Was genau hast du an meinem Kommentar nicht verstanden? Warum beantwortest du die dort gestellten Fragen nicht? Interessiert dich das alles nicht?

Unrealmirakulix
Forum-Anfänger
Forum-Anfänger
Beiträge: 11
Registriert: Mi 27. Nov 2013, 16:38

Beitrag von Unrealmirakulix »

entschuldige, ich hatte zu weit runtergescrollt und nicht gesehen, dass schon zwei Antworten da waren.

mit \usepackage{scrhack} klappt nun alles. Vielen vielen Dank.

Wegen dem Umbau von \chapter auf \section: War noch ein Überbleibsel einer alten Vorlage. Da die Optik der Teile etwas heftig ist und ich i.d.R. nur zwei Ebenen (also hier Section und Subsection) und ganz selten eine dritte brauche, sah das mehr als seltsam aus. Hätte ich wohl eine andere Klasse nehmen sollen... Wieder was gelernt.

Ok ich habe jetzt alle Abschnitte in Teile und Unterabschnitte in Abschnitte umgebaut. Nun steht bei den Teilen "partpart Teil II. Methoden". Hm...

PS: Das mit der Nummerierung von Abbildungen, Tabellen und Algorithmen muss natürlich jetzt weg, aber sonst sieht´s gut aus.

Hast du eine Idee woher der Fehler bei den Teilen kommen kann?

Vielen Dank und sorry nochmal wegen der übergangenen Antwort.

Ein Minimalbsp. werde ich in Zukunft machen.

Hier der essentielle Code (ich weiß leider gar nicht wo ich suchen soll, werde es aber parallel dennoch versuchen):
\batchmode
\makeatletter
\def\input@path{{\string"C:/Users/Daniel/Desktop/Masterarbeit BAI/Ausarbeitung/\string"/}}
\makeatother
\documentclass[ngerman,a4paper, twoside, 12pt, bibtotocnumbered, bibliography=leveldown, listof=numbered, listof=leveldown]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage{listings}
\synctex=-1
\usepackage{color}
\usepackage{babel}
\usepackage{rotating}
\usepackage{float}
\usepackage{url}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage[authoryear]{natbib}
\usepackage[unicode=true,pdfusetitle,
 bookmarks=true,bookmarksnumbered=false,bookmarksopen=false,
 breaklinks=true,pdfborder={0 0 0},backref=false,colorlinks=true]
 {hyperref}
\hypersetup{
 urlcolor=cyan, citecolor=blue}

\makeatletter

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands.
\providecommand{\LyX}{\texorpdfstring%
  {L\kern-.1667em\lower.25em\hbox{Y}\kern-.125emX\@}
  {LyX}}
%% Because html converters don't know tabularnewline
\providecommand{\tabularnewline}{\\}
\floatstyle{ruled}
\newfloat{algorithm}{tbp}{loa}
\providecommand{\algorithmname}{Algorithmus}
\floatname{algorithm}{\protect\algorithmname}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Textclass specific LaTeX commands.
\numberwithin{figure}{section}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands.

\usepackage{scrhack}

% modify list of listing
\makeatletter   
\let\l@lstlisting\l@subsectionsection
\makeatother 

% define shortcut for registered superscripted
\def\TReg{\textsuperscript{\textregistered}}

% Sperren, Durchstreichen, Hervorheben und Unterstreichen von Texten
\usepackage{soul}

% include pdfs
\usepackage{pdfpages}

% connection to pdf reader
\usepackage{pdfsync}

% blank page command
\newcommand{\blankpage}{
\newpage
\thispagestyle{empty}
\mbox{}
\newpage
}

% algorithm numbering per chapter
\usepackage{algorithm}

% algorithm floating object: config numeration per section
\renewcommand{\thealgorithm}{\arabic{section}.\arabic{algorithm}} 

% table floating object: config numeration per section
\renewcommand{\thetable}{\arabic{section}.\arabic{table}}

% algorithm floating object: rename title
\floatname{algorithm}{Algorithmus}

% rename listofalgorithms
\renewcommand{\listalgorithmname}{Codeabschnittverzeichnis}

% Matlab code styling; add [numbered] to display line numbers
\usepackage[framed, numbered, autolinebreaks]{mcode-dp-mod}

\usepackage{baireport}

\makeatother

\begin{document}

\title{Masterarbeit BAI ,,Thema''}


\author{Daniel}

\maketitle
\tableofcontents{}

\part{Einleitung}

Lorem ipsum...

\end{document}

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

Wie kommst du denn auf \part{}? Section oben, dann subsection. Part nur, wenn du parts wirklich brauchst.
\documentclass{scrartcl}
\usepackage{blindtext}
\begin{document}
\section{hallo}
\blindtext

\subsection{Welt}
\blindtext
\end{document}
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

Unrealmirakulix
Forum-Anfänger
Forum-Anfänger
Beiträge: 11
Registriert: Mi 27. Nov 2013, 16:38

Beitrag von Unrealmirakulix »

Stimmt, hatte die Empfehlungen von Gast Besserwisser missverstanden, aber inzwischen wieder auf \section als höchste Ebene umgestellt.

Was ändert sich nun in report oder book? Ich brauche eben nur 3 Ebenen und meistens gibt es nur zwei, als keine subsubsection. So sieht dann das Inhaltsverzeichnis bei mir aus:

Bild

Welche Dokumentenklasse macht da Sinn? KOMA wenn möglich.

Wenn ich meinen manuellen \newpage Befehl...
\let\stdsection\section 
\renewcommand\section{\newpage\stdsection}
... herausnehme wird alles sehr gequetscht und bei der Seitenzahl überhaupt keine neue Seite ist wohl keine gute Idee...

Viele Grüße,

Daniel

PS: Wofür sind denn hier die \part{} gedacht?

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

Lies doch mal in der KOMA Anleitung, und übersetze dir die Klassen.

Artikel (scrartcl) für (mehr oder weniger) kurze Arbeiten/Artikel
Report (wenns mal wieder länger dauert) mit Kapitelunterstützung (auf neuer Seite)
scrbook für Bücher (wer hätte das gedacht)


minimale Vorlage vs. maximale Probleme
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

Unrealmirakulix
Forum-Anfänger
Forum-Anfänger
Beiträge: 11
Registriert: Mi 27. Nov 2013, 16:38

Beitrag von Unrealmirakulix »

Sehr gut, damit klingt es als gute Alternative, wenn ich meine Abschnitte zu Kapiteln mache, meine Unterabschnitte zu Abschnitten, ... bei Verwendung von report (KOMA).
Und schon wieder kommt "chapter chapter1 Einleitung" wo "Kapitel 1 Einleitung" stehen sollte... :(

Hier der MiniCode:

\batchmode
\makeatletter
\def\input@path{{\string"C:/Users/Daniel/Desktop/Masterarbeit BAI/Ausarbeitung/\string"/}}
\makeatother
\documentclass[ngerman,a4paper, twoside, 12pt, bibtotocnumbered, bibliography=leveldown, listof=numbered, listof=leveldown]{scrreprt}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage{listings}
\setcounter{secnumdepth}{3}
\setcounter{tocdepth}{3}
\synctex=-1
\usepackage{color}
\usepackage{babel}
\usepackage{rotating}
\usepackage{float}
\usepackage{url}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage[authoryear]{natbib}
\usepackage[unicode=true,pdfusetitle,
 bookmarks=true,bookmarksnumbered=false,bookmarksopen=false,
 breaklinks=true,pdfborder={0 0 0},backref=false,colorlinks=true]
 {hyperref}
\hypersetup{
 urlcolor=cyan, citecolor=blue}

\makeatletter

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands.
\providecommand{\LyX}{\texorpdfstring%
  {L\kern-.1667em\lower.25em\hbox{Y}\kern-.125emX\@}
  {LyX}}
%% Because html converters don't know tabularnewline
\providecommand{\tabularnewline}{\\}
\floatstyle{ruled}
\newfloat{algorithm}{tbp}{loa}[chapter]
\providecommand{\algorithmname}{Algorithmus}
\floatname{algorithm}{\protect\algorithmname}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Textclass specific LaTeX commands.
\numberwithin{figure}{section}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands.
% redefine \section add \newpage before it in order to begin a new page at each section
\let\stdsection\section
\renewcommand\section{\newpage\stdsection}

\usepackage{scrhack}

% modify list of listing
\makeatletter   
\let\l@lstlisting\l@subsectionsection
\makeatother 

% define shortcut for registered superscripted
\def\TReg{\textsuperscript{\textregistered}}

% Sperren, Durchstreichen, Hervorheben und Unterstreichen von Texten
\usepackage{soul}

% include pdfs
\usepackage{pdfpages}

% connection to pdf reader
\usepackage{pdfsync}

% blank page command
\newcommand{\blankpage}{
\newpage
\thispagestyle{empty}
\mbox{}
\newpage
}

% algorithm numbering per chapter
\usepackage{algorithm}
%\usepackage[section]{algorithm}
%\usepackage{algorithmicx}
%\usepackage{algpseudocode}

% algorithm floating object: config numeration per section
\renewcommand{\thealgorithm}{\arabic{section}.\arabic{algorithm}} 

% table floating object: config numeration per section
\renewcommand{\thetable}{\arabic{section}.\arabic{table}}

% algorithm floating object: rename title
\floatname{algorithm}{Algorithmus}

% Matlab code styling; add [numbered] to display line numbers
\usepackage[framed, numbered, autolinebreaks]{mcode-dp-mod}

\usepackage{baireport}

\makeatother

\begin{document}

\title{Masterarbeit BAI ,,Thema''}


\author{Daniel}

\maketitle
\tableofcontents{}

\chapter{Einleitung}

\end{document}
[/b]

Antworten