PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Definition von eigenen TOC-relevanten Elementen



Lapaleja
31-08-2012, 11:32
Lebe Profis,

Bei Google habe ich nicht recht etwas gefunden, weil ich nicht weiß, wonach ich googlen muss :P
Folgendes möchte ich gern tun: Ich würde gerne ein Element definieren, dass wie z.B. eine Tabelle automatisch abhängig von der \section nummeriert wird, auf das man im Fließtext mit \ref verweisen kann und das ins toc aufgenommen werden kann. Konkret soll es sich um Boxen mit zusätzlichen Infos handeln. Wichtig wäre auch, dass sie den Namen "Box" automatisch erhalten (sonst könnte ich ja auch eine Tabelle mit nur einer Spalte und Zeile basteln. Die würde dann aber immernoch "Table" heißen. Und den Namen möchte ich nicht ändern, weil dann alle Tabellen auch "Box" hießen. Oder ginge das auch lokal zu ändern?). Das Ergebnis sollte ungefähr so aussehen wie unten. Ist so etwas machbar? Vielen Dank schon einmal!

Anne



\documentclass{scrreprt}
\usepackage[a4paper,left=2.5cm,right=2.8cm,top=2.5cm,bottom=3c m]{geometry}
\usepackage{lmodern}
\usepackage[english]{babel}

\usepackage{framed}

\begin{document}

GENERAL TEXT

\begin{framed}
\textbf{Box 1.1: interesting information}
info info info
\end{framed}

more information in Box 1.1

\end{document}

rstuby
31-08-2012, 11:36
Mit dem Paket newfloat kann man eigene Gleitobjekte definieren.
Die gleiten dann aber auch wie Bilder und Tabellen.

u_fischer
31-08-2012, 11:51
Mit dem Paket newfloat kann man eigene Gleitobjekte definieren.
Die gleiten dann aber auch wie Bilder und Tabellen.

Und würden auch nicht im toc auftauchen. Man sollte sich schon eher an der Definition der sonstigen Überschriften orientieren.

rstuby
31-08-2012, 12:02
Ich hatte es so verstanden, dass das Objekt sich im Prinzip wie eine Tabelle verhalten soll.

Sepp99
31-08-2012, 12:08
Auch die KOMA-Script-Klassen bieten diese Möglichkeit mit

\DeclareNewTOC[Optionenliste]{Dateierweiterung}
Näheres im scrguide.pdf.

Gruß, Sepp.-

rstuby
31-08-2012, 12:21
Also meine Idee sähe so aus, aber ihr habt natürlich Recht, ins TOC kommt da nichts. Kommen die Tabellen ja aber auch nicht...


\documentclass{scrreprt}
\usepackage[a4paper,left=2.5cm,right=2.8cm,top=2.5cm,bottom=3c m]{geometry}
\usepackage{lmodern}
\usepackage[english]{babel}
\usepackage{newfloat}
\usepackage{framed}
\DeclareFloatingEnvironment[name=Box,listname=List of boxes]{Kasten}
\begin{document}
\chapter{Hauptteil}
GENERAL TEXT

\begin{Kasten}
\begin{framed}
\caption{interesting information}
\label{box:info}
info info info
\end{framed}
\end{Kasten}

more information in \ref{box:info}

\listofKastens
\end{document}

Lapaleja
31-08-2012, 14:04
Das newfloat package klingt vielversprechend! Das mit dem toc war etwas missverständlich ausgedrückt, ich meinte, dass man eine Liste dieser Objekte erstellen kann, wie bei Tabellen etc. auch. Sorry! Dummerweise scheint es das Paket für Mac OSX nicht zu geben... ich hätte vielleicht dazusagen sollen, dass ich das - ähm - Vergnügen haben mit einer solchen Maschine zu arbeiten. Gäbe es da eine Alterative? Ich werd noch ein bisschen googlen.
Vielen Dank erst einmal an alle, ich schreib nochmal, wenn ich die Lösung gefunden habe... falls ich eine finde. Bis dahin bin ich für Tips sehr dankbar!

Anne

rstuby
31-08-2012, 14:15
Mit dem Paket float kann man auch neue Gleitumgebungen definieren. Da heißt der Befehl dann \newfloat.

Donalduck
31-08-2012, 14:16
Wieso sollte es das für OSX nicht geben? Pakete sind unabhängig vom Betriebssystem, solange sie keine externen Programme aufrufen.

Sepp99
31-08-2012, 15:30
Warum eigentlich ein eigenes Paket laden, wenn es mit KOMA-Script-Bordmittel auch geht:

\documentclass[listof=leveldown]{scrreprt}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}

%%%%%%%%%%%%%%%%%%%%%%%%
\DeclareNewTOC[%
type=zitat,%
types=zitate,%
float,%
floattype=4,%
name=Zitat,%
floatpos=ht,%
listname={Verzeichnis der Zitate}%
]{loz}


\DeclareNewTOC[%
type=karte,%
types=karten,%
float,%
floattype=8,%
name=Karte,%
floatpos=ht,%
listname={Verzeichnis der Karten}%
]{lok}

\setuptoc{loz}{chapteratlist}
\setuptoc{lok}{chapteratlist,leveldown}

%%%%%%%%%%%%%%%%%%%%%%%%

\begin{document}

\tableofcontents

\addchap{Verzeichnisse}
\listoffigures
\listofzitate
\listofkarten

\chapter{Kapitel Eins}

\begin{zitat}
\centering
Das ist nur ein Testzitat.
\caption{Zitierte Textstelle}
\label{Zitat1}
\end{zitat}

\begin{karte}
\centering
\rule{30mm}{15mm}
\caption{Eine Karte.}
\label{karte1}
\end{karte}

\begin{figure}[htb]
\centering
\rule{20mm}{10mm}
\caption{Ein Bild.}
\label{bild1}
\end{figure}

\end{document}

Ergebnis im Anhang.

Gruß, Sepp.-

Lapaleja
05-09-2012, 07:01
Vielen Dank für eure vielen Ideen!

Ich hab auch noch was gefunden, obwohl es sicher auch eleganter ginge. Aber es funktioniert und ist nicht zu kompliziert (soll heißen, ich verstehe, wofür die Befehle da sind :rolleyes:). Ich benutze das floatrow Paket um bestimmen zu können, wo die Über-/ Unterschrift steht (also ob darüber oder darunter)

Vielen Dank nochmal
Anne



\documentclass{scrreprt}
\usepackage[a4paper,left=2.5cm,right=2.8cm,top=2.5cm,bottom=3c m]{geometry}
\usepackage{lmodern}
\usepackage[english]{babel}
\usepackage[font=small,labelfont=bf,singlelinecheck=false]{caption}

\usepackage{floatrow}

\floatstyle{boxed}
\newfloat{Box}{htbp}{lop}[chapter]

\floatsetup[Box]{capposition=top}

\usepackage{framed}

\begin{document}

\chapter{Developmental genes}

text text text

\begin{Box}[h]

\caption{Huckebein}
\label{box:hkb}

Huckebein is the name of a gene in the fruit fly \emph{Drosophila melanogaster}.

\end{Box}

more information in Box \ref{box:hkb}

\end{document}