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}
War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top