PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : \caption und selbstdefinierter "Platzhalter-Befehl" (pspicture) kollidieren



W2K2011
08-02-2018, 16:45
Schönen guten Tag,

nachfolgend übermittle ich einen Code-Schnipsel, mit dem ich in Abbildungen Platzhalter positioniere. Die können beispielsweise Kreise mit einer Nummer oder Buchstaben sein. Ich möchte diese Platzhalter nun auch gerne in meinen Bildunterschriften verwenden - also in dem Befehl \caption - jedoch führt das immer zu Fehlern.

Kann mir jemand sagen, wie ich den Befehl anpassen muss, um ihn mit \caption verwenden zu können?

Danke und einen schönen Abend.



% ************************************************** ***************************

\newcommand{\TCirc}[1]{%
\begin{pspicture}(0.0, 0.38)
\psovalbox[framesep=1pt,
%boxsep=1pt,
opacity = 1,
linewidth=0.25pt,
linecolor=black,
fillcolor=white,
fillstyle=solid]{#1}
\end{pspicture}%
}

rais
08-02-2018, 22:58
ich kann derzeit nur vermuten, daß \TCirc zerbrechlich ist und deshalb nicht in einem beweglichen Argument (wie bei \caption) direkt verwendet werden kann.


\caption[...]{...\TCirc{}}

könnte helfen (also im optionalen Argument zu \caption ohne \TCirc). Wenn dieses \TCirc auch in LOF(/LOT) auftauchen soll, vllt


\caption{\protect\TCirc{}}

Wenn Du auf \protect verzichten willst, schau nach \DeclareRobustCommand und Konsorten...

Und wenn gar nichts davon passt, poste bitte ein Minimalbeispiel.

VG

W2K2011
09-02-2018, 20:40
Guten Abend,

ich habe hier einmal ein Beispiel angefügt. Wäre sehr dankbar, wenn Du meinen \TCirc-Befehl reparieren könntest.



% ************************************************** ***************************
% Document Style
% ************************************************** ***************************
\documentclass[a4paper, % DINA4-Papier
%draft, % Bilder ausblenden, um schneller zu kompilieren
12pt, % Schriftgroesse
parskip=half, % Absatzabstand 1.5
listof=totoc, % Listen --> Inhaltsverzeichnis
bibliography=totoc, % Literaturverz. -> Inhaltsverzeichnis
headinclude, %
headsepline, %
twoside, %
openright] % Doppelseitig
{scrbook} % Dokumentenklasse
\usepackage[headsep = 1.20\baselineskip, % Abstand - Trennline und dem Text
headheight = 1.50\baselineskip, % Abstand -
footskip = 1.25\baselineskip, % Abstand - Text (u.) zur Fusszeile
footnotesep = 1.20\baselineskip, % Abstand - Text zur 1. Trennlinie (unten)
top = 25mm, % Rand, oben
bottom = 25mm, % Rand, unten
left = 20mm, % Rand, links
right = 20mm, % Rand, rechts
bindingoffset= 05mm, % Offset für Bindung (links)
includefoot %
]{geometry}


\usepackage{etex}
\usepackage[ngerman]{babel} %
\usepackage[utf8]{inputenc} %
\usepackage[T1]{fontenc} %
\usepackage[round,comma,sort,square]{natbib} %
\usepackage{lmodern} %
\usepackage{eepic,epic} %
\usepackage{amsmath} %
\usepackage{amssymb} %
%\usepackage{amsthm} % Theorem, Thesen, Beweise
\usepackage{mathtools} %
\usepackage{esint} % Integralzeichen, Oberflaechenintegrale etc
\usepackage{nicefrac} %
\usepackage{ifthen} %
\usepackage{psfrag} %
\usepackage{array} %
\usepackage{setspace} %
\usepackage{subfig} %
\usepackage{graphicx} %
\usepackage{makeidx} %
%\usepackage[format=hang, font=small, labelfont=bf]{caption} %
%\usepackage{subcaption} %
%\usepackage{icomma} %
\usepackage{chngpage} %
\usepackage{placeins} % \FloatBarrier
\usepackage{float} % H = HERE option
\usepackage[intoc]{nomencl}
\usepackage{lmodern}
\usepackage[table,xcdraw]{xcolor}
\usepackage{color}
\usepackage{epsf}
\usepackage{tabularx} %
\usepackage{multirow} %
\usepackage{multicol} %
\usepackage{booktabs} %
\usepackage{pst-all} %
%\usepackage{enumitem} %
\usepackage{paralist} %
\usepackage[colorlinks=true, citecolor=blue, linkcolor=blue, pdfpagelabels=true, breaklinks=true]{hyperref}
\usepackage{hypcap} %
\usepackage{listings} %
\usepackage[xindy, acronym, nonumberlist, toc, nopostdot, style=altlist, nogroupskip]{glossaries}
\usepackage[ngerman, backgroundcolor=white, linecolor=red]{todonotes}


% ************************************************** ***************************

\newcommand{\TCirc}[1]{%
\begin{pspicture}(0.0, 0.38)
\psovalbox[framesep=1pt,
%boxsep=1pt,
opacity = 1,
linewidth=0.25pt,
linecolor=black,
fillcolor=white,
fillstyle=solid]{#1}
\end{pspicture}%
}

\begin{document}
In diesem Text wird ein Platzhalter mit \TCirc{1} platziert.

\begin{figure}
\caption{Dieser Untertitel funktioniert.}
\end{figure}

\begin{figure}
\caption{Dieser Untertitel funktioniert leider nicht mit \TCirc{1}.}
\end{figure}

\end{document}


Danke und schönen Gruß.

W2K2011
10-02-2018, 08:42
Noch eine ganz andere Frage, die dieses Forum betriff: Woran liegt es, dass mein Texteditor in diesem Forum derart puristisch aufgebaut ist. Ich sehe nur wenige Buttons für Schriftart, Schriftgröße, Bilder, Links etc. - jedoch finde eine Funktion, mit der man automatisch eine Quellcode-Umgebung erzeugen kann. Ich habe mich nur zufällig an den Tag "[CODE]" erinnert und konnte derart meinen letzten Post halbwegs leserlich editieren.

Gibt es die Möglichkeit auch LateX-Formeln in einen Post zu implementieren?

rais
10-02-2018, 20:08
ich habe hier einmal ein Beispiel angefügt. Wäre sehr dankbar, wenn Du meinen \TCirc-Befehl reparieren könntest.

warum testest Du die gemachten Vorschläge nicht selbst?


\documentclass{scrbook}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{pst-all}

\newcommand{\TCirc}[1]{%
\begin{pspicture}(0.0, 0.38)
\psovalbox[framesep=1pt,
%boxsep=1pt,
opacity = 1,
linewidth=0.25pt,
linecolor=black,
fillcolor=white,
fillstyle=solid]{#1}
\end{pspicture}%
}
\DeclareRobustCommand{\TCircR}{%
\TCirc
}

\begin{document}
\listoffigures
\begin{figure}
\caption[ohne TCirc]{Dieser Untertitel funktioniert auch mit \TCirc{1}.}
\caption{Dieser Untertitel funktioniert auch mit \protect\TCirc{2}.}
\caption{Dieser Untertitel funktioniert auch mit \TCircR{3}.}
\end{figure}
\end{document}

BTW: Code-Tags einfügen geht hier mit dem #-Knopp.
VG