Wie eigene und Phantasie \ sub erstellen Befehl
Frage
Ich verwende Pakete subfigure
und float
Abbildungen und Tabellen zu erstellen, die ich will schaffen und ich versuche, meine eigene Umgebung graph
mit eigenem Zähler und Beschriftung ( gelöst es dank Dmckee). Nun möchte Ich mag \subgraph
Befehl erstellen, die genau tut die selben wie \subfigure
Befehl.
Ich habe versucht, mein eigenes Kommando mit propreate Zählern ( Assisted hier dank Alexey). Aber Problem scheint mit \ref
Befehl. Verweis auf \subfigure
kehrt 2.1 (a) aber der Bezug auf \subgraph
kehrt 1 .
Als ich versuchte, herauszufinden, wie man dieses Problem zu lösen habe ich gelesen, subfig
Handbuch, wo ich \newsubfloat
Befehl mit einem Beispiel gefunden habe. Erster Fehler war im Einsatz von subfig
Befehlen in subfigure
und ich habe dort stecken. Wenn ich subfigure
verwenden kann ich \subfigure
zugreifen kann aber nicht \subgraph
Arbeits zwingen, wenn ich subfig
verwende ich \subfloat
in graph
acces kann aber nicht in figure
und \ref
kehrt 1.0a statt 1.1 (a ) .
Definition von subfig
Paket:
\newfloat{graph2}{tbph}{lom}[chapter]
\restylefloat*{graph2}
\floatstyle{plain}
\floatname{grap2}{Graph2}
\captionsetup[graph2]{position=top}
\newcommand{\listofGraphs}{\listof{Graph2}{List of Graphs}}
\newsubfloat[position=bottom,listofformat=subsimple]{graph2}
Definition meine eigene \subgraph
\newfloat{graph1}{H}{lop}[chapter]
\floatname{graph1}{Graph1}
\newcounter{GraphOne}[graph1]
\def\theGraphOne{\alph{GraphOne}}
\newcommand{\subgraph}[2][]{
\captionof{subGraph}{#1} #2
}
\newfloat{subGraph}{H}{lop}[graph1]
\floatname{subGraph}{}
Bitte helfen Sie mir mit Verständnis, wie \label
und \ref
Befehle funktionieren (ich glaube, meine Lösung kollabiert, weil \label
vor \caption
ist) und / oder mit Zwingen subfig
Pakets zu arbeiten, wie ich will.
Vielen Dank für jede Idee und gnädig sein, um mein Englisch.
Crowley
Verbesserung:
caption
Paket Durch die Verwendung kann ich neue Zähler (subGraph
) erstellen und verwenden Sie es außerhalb seiner Umgebung. Nur so, wie beide Zähler haben (Subgraphen und Grafik) correcly bezeichnet wird \captionof{graph}
vor \subgraph
verwendet wird.
Also, meine neue Frage ist: Wie \captionof{graph}
vor Subgraphen auszuführen und unter ihnen setzen in? Und wie \ref
zu zwingen, um zu zeigen, 1,1-a statt 1.1.1
Atachements:
-Code für subfigure
. (Returns <chapter>
.<figure>
(<subfigure>
) korrekt
\begin{figure}
\subfigure[sub-caption]{\includegraphics{fig1}\label{fig:1}}
\caption{main caption}
\end{figure}
\ref{fig:1}
-Code für subfig
. (Returns <chapter>
.<graph2>-1<subfigure>
) falsch
\begin{graph2}
\subfloat[sub-caption]{\includegraphics{fig1}\label{fig:2}}
\caption{main caption}
\end{graph2}
\ref{fig:2}
Mein Code: (Returns <chapter>
.<graph1>
.<subgraph>
aber Beschriftung zeigt die gleiche "Adresse")
\begin{graph1}
\captionof{graph1}{main caption}
\subgraph[sub-caption]{\includegraphics{fig1}\label{fig:3}}
\end{graph1}
\ref{fig:3}
Lösung
Ich denke, Ihre subfig
Lösung funktionieren soll (subfigure
ist veraltet sowieso). Das Problem mit den falschen Referenzen könnte mit dem \label
falsch mit . Sie müssen den Befehl \label
haben nach die \caption
oder als Teil davon:
\begin{figure}
\caption{A Figure}
\label{fig}
\end{figure}
oder
\begin{figure}
\caption{A Figure%
\label{fig}}
\end{figure}
Bearbeiten : die folgenden "funktioniert für mich". Wie gesagt, ist die \label
nach dem \caption
:
\documentclass{report}
\usepackage{float}
\usepackage{subfig}
\newfloat{graph2}{tbph}{lom}[chapter]
\restylefloat*{graph2}
\floatstyle{plain}
\floatname{grap2}{Graph2}
\captionsetup[graph2]{position=top}
\newcommand{\listofGraphs}{\listof{Graph2}{List of Graphs}}
\newsubfloat[position=bottom,listofformat=subsimple]{graph2}
\begin{document}
\chapter{Test}
\section{Test s}
\begin{graph2}
\subfloat[sub-caption]{\fbox{Fig 1}}
\caption{main caption}
\label{fig:1}
\end{graph2}
\begin{graph2}
\subfloat[sub-caption]{\fbox{Fig 2}}
\caption{main caption}
\label{fig:2}
\end{graph2}
Graph~\ref{fig:1} is the first graph, and~\ref{fig:2} is the second.
\end{document}
Dies erzeugt:
Graph 1.1 is the first graph, and 1.2 is the second.
Andere Tipps
Ich kann jetzt nicht erarbeiten, aber Sie wollen \ refstepcounter statt \ addtocounter verwenden.