scrbook und ein paar Fragen

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: scrbook und ein paar Fragen

von Ted 77 » Do 28. Jan 2010, 23:04

Verdammt, da speichert man den Code einmal zwischen, um die Tonnen von Newbiecomments zu entfernen und das ganze lesbar zu machen, und dann passiert dabei so eine Leerzeichengrütze. :oops:

Super genial, 1001 Dank - mindestens!

von KOMA » Do 28. Jan 2010, 16:36

Ach, ich vergaß: Eine Liste aller verfügbaren Pakete gibt es nicht und wird es sicher nie geben. Es gibt aber eine ziemlich vollständige Liste aller auf CTAN verfügbaren Pakete und außerdem The TeX Catalogue. Zumindest letzterer sollte AFAIR auch in den Wichtigen Netzdokumenten (siehe Wiki) zu finden sein.

von KOMA » Do 28. Jan 2010, 16:31

Sorry, Dein Beispiel ist eine einzige Katastrophe. Da sind lauter Leerzeichen, wo keine hingehören, nämlich mitten in Optionen- und Befehlsnamen. Weil mir das zu viel Arbeit mit Korrigieren war, habe ich ein eigenes Beispiel gebastelt:
\documentclass{scrbook}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{multicol}
\usepackage{blindtext}

\makeatletter
\newcounter{restorecolnumber}
\newcommand*{\chapteroriginal}{}
\let\chapteroriginal\chapter
\renewcommand*{\chapter}{%
  % Jetzt versuchen wir zu erkennen, ob wir in einer multicols-Umgebung sind:
  \def\reserved@a{multicols}\ifx\reserved@a\@currenvir
    % Wenn das so ist, speichern wir, die Spaltenzahl und beenden die Umgebung
    \setcounter{restorecolnumber}{\col@number}%
    \end{multicols}
  \else
    % Wenn nicht, setzen wir die Spaltenzahl auf 1
    \setcounter{restorecolnumber}{1}%
  \fi
  \chapteroriginal
}
\newcommand*{\@afterheadingoriginal}{}
\let\@afterheadingoriginal\@afterheading
\renewcommand{\@afterheading}{%
  \@nobreaktrue
  \ifnum\value{restorecolnumber}>\@ne
    \begin{multicols}{\value{restorecolnumber}}
    \setcounter{restorecolnumber}{\z@}%
  \fi
  \@afterheadingoriginal
}
\newcommand*{\@startsectionoriginal}{}
\let\sectionoriginal\section
\renewcommand*{\section}{%
  % Jetzt versuchen wir zu erkennen, ob wir in einer multicols-Umgebung sind:
  \def\reserved@a{multicols}\ifx\reserved@a\@currenvir
    % Wenn das so ist, speichern wir, die Spaltenzahl und beenden die Umgebung
    \setcounter{restorecolnumber}{\col@number}%
    \end{multicols}
  \else
    % Wenn nicht, setzen wir die Spaltenzahl auf 1
    \setcounter{restorecolnumber}{1}%
  \fi
  \sectionoriginal
}
\makeatother
\begin{document}
\begin{multicols}{2}
\blinddocument
\end{multicols}
\end{document}
Gezeigt habe ich das jetzt einfach mal nur für \chapter und \section. Weitere Gliederungsbefehle können entsprechend geändert werden. Für Spitzmarken (z. B. \paragraph) funktioniert das so aber nicht, wäre jedoch auch nicht sinnvoll.

An internem Wissen habe ich genutzt:
  • \col@number ist innerhalb von multicols die Anzahl der Spalten
  • \@currenvir ist in LaTeX der Name der aktuellen innersten Umgebung
  • \@afterheading wird am Ende jeder Überschrift, nach der es in einer neuen Zeile weitergeht, aufgerufen, um Seitenumbrüche nach Überschriften und auf Wunsch auch den Einzug nach einer Überschrift zu verhindern
  • \setcounter arbeitet global

scrbook und ein paar Fragen

von Ted 77 » Do 28. Jan 2010, 14:51

Mit riesiger Anspruchshaltung aber kleinstem Wissen steht Ted vor einem großen Problem, das durch Netz- und Buchlektüre nicht gelöst werden konnte:
Gibt es eine Möglichkeit mit dem Paket "multicol" bereits in der Präambel des Dokuments chapter und section einspaltig zu definieren, so dass aus dem Fließtext heraus durch deren Eintrag automatisch umgeschaltet wird?

quasi:
\begin{multicols}{2}
\chapter{Ich bin die Einspaltigkeit in Person}
Dieser Text ist bitte zweispaltig und sieht dann ganz schick aus.

\section{und wenn schon einspaltig, dann richtig}
Aus eins mach zwei - Spalten!
\end{multicols}
Und gibt es eine Auflistung aller verfügbarer Pakete (ohne auch nur annähernd zu wissen, wie viele das sein könnten)? Soweit gesehen gibt es hier "lediglich" jeweils Listen der wichtigsten Pakete eines Themengebietes wie Seitenlayouing o.ä..

Mit tiefer und dankbarer Verneigung sowie für Anregungen immer offen, Ted

Hier der von mir bisher zusammengesuchte /-geratene Tex-Kram:
\documentclass[pdftex]{scrbook} 
\usepackage[multicol]
\usepackage[ngerman]{babel } 
\usepackage[ansinew]{inputenc} 
\usepackage[round]{natbib} 
\usepackage{textc omp} 
\usepackage{minitoc} 

\usepackage{geometry} 
\geometry{twoside,paperwidt h=170mm,paperheight=220mm,outer=20mm,inner=15mm,top=15mm,bottom=20mm,nohead,foot =10mm} 

\title{Titel} 
%\thanks{Deine~Mudda} 
\author{Autor} 
\date{01.~Januar~2010} 

\usepackage[automark]{scrpage2}%,footsepline]{scrpage2} 
\clearscr headings 
\automark[chapter]{part} 
\renewcommand*{\partmarkformat}{} 
\renewcom mand*{\chaptermarkformat}{} 
\renewcommand*{\sectionmarkformat}{} 
\setkomafont{pageheadfoot}{\sffamily\footnotesize} 
\setkomafont{pagenumber}{\sffamily\footnotesi ze} 
\rofoot{\\\headmark~~~~$|$~~~~\pagemark} 
\lefoot{\\\pagemark~~~~$|$~~~~\text normal{\sffamily{\footnotesize{Titel~-~Subtitel}}}} 
\p agestyle{scrheadings} 

\begin{document} 
\maketitle 
%\dedication{my mom} 

\frontmatter 
\dominitoc %mit Hauptverzeichnis 
\renewcommand\contentsname{Inhalt} 
\tableofcontents 
\dominit oc %ohne Hauptverzeichnis 
\faketableofcontents 

\mainmatter 
\addchap{Einleitung} \markbooth{}{Einleitung} 
\begin{multicols}{2}
...
\end{multicols}
\chapter{XXX}
\section{YYY}
\begin{multicols}{2}
...
\end{multicols}
...
\end{document}

Nach oben