ich versuche gerade eine Nicht-Gleitumgebung für Tabellen und Abbildungen zu basteln. Die Beschriftung kann ich mit \captionof erzeugen, aber ich würde gerne das \caption innerhalb der neuen Umgebung zu \captionof umdefiniert wird, was nicht zu gehen scheint und bei mir nur dazu führt, dass pdfLaTeX ewig läuft ohne Ergebnis. Definiere ich stattdessen einen eigenen Befehl \Caption (mit großem C) geht es. Woran liegt das?
Hier das Beispiel
\documentclass[ngerman]{article} \usepackage[latin1]{inputenc} \usepackage[T1]{fontenc} \usepackage{babel} \usepackage{blindtext} \usepackage{caption}% das KOMA-Klassen \captionof auch % bereitstellen weiß ich, aber im Original brauche ich % die normale article-Klasse % neue Umgebungen für nichtgleitende Tabellen und % Abbildungen \makeatletter \def\ifEmpty#1{\def\@temp{#1}\ifx\@temp\@empty} \newenvironment{svtable}{% \par\small% \@setnobreak% Wozu? \@setminipage% Wozu? \setlength{\parindent}{0pt}% \newcommand\Caption[2][]{% % mit % \renewcommand\caption[2][]{% % stattdessen geht es nicht \ifEmpty{##1}% \captionof{table}{##2}% \else \captionof{table}[##1]{##2}% \fi% }% }{\endgraf\medskip}% ? \makeatother \begin{document} \blindtext % \begin{svtable} \centering \Caption{Eine Tabelle}\label{test} \begin{tabular}{lll} A & B & C\\ 1 & 2 & 3\\ \end{tabular} \end{svtable} % \blindtext% Dieser Text sollte eigenlich ohne Einzug gesetzt werden Verweis: \ref{test} \end{document}
2. Wie kann ich erreichen, dass der Einzug nach der Umgebung wirklich nur gemacht wird, wenn eine Leerzeile dazwischen steht. Ohne Leerzeile bzw auskommentierte Leerzeile hätte ich gerne, dass der Absatz ohne Einzug fortgesetzt wird.
3. Wozu dienen die Befehle \@setnobreak und \@setminipage? Ich habe sie aus der Vorlage übernommen, die verwendet werden muss.
Vielen Dank!
Tobi