Come creare la propria fantasia e \sub<float> comando
Domanda
Sto utilizzando pacchetti subfigure
e float
per creare figure e tabelle che voglio creare e sto cercando di creare il mio ambiente graph
con il suo contatore e la didascalia (risolto c', grazie per dmckee).Ora vorrei creare \subgraph
comando che farà esattamente la stessa \subfigure
comando.
Ho provato a creare il mio comando con propreate contatore (Assistito qui, grazie per Alexey).Ma il problema appare con l'utilizzo di \ref
comando.Di riferimento per \subfigure
restituisce 2.1(a) ma il riferimento a \subgraph
restituisce 1.
Come ho cercato di capire come risolvere questo ho letto subfig
manuale, dove ho trovato \newsubfloat
comando con un esempio.Primo errore è stato in uso di subfig
's comandi in subfigure
e mi sono bloccato lì.Se io uso subfigure
Posso accedere \subfigure
ma non può costringere \subgraph
di lavoro, quando uso subfig
Posso acces \subfloat
in graph
ma non in figure
e \ref
restituisce 1.0 invece di 1.1 (a).
definizione subfig
pacchetto:
\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}
la mia definizione \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}{}
Si prega di aiutare me con la comprensione di come \label
e \ref
i comandi funzionano (credo che la mia soluzione collassa a causa \label
è prima di \caption
) e/o con la forzatura subfig
pacchetto a lavorare come voglio.
Grazie per qualsiasi idea e di essere misericordioso con il mio inglese.
Crowley
Miglioramento:
Utilizzando caption
pacchetto posso creare un nuovo contatore (subGraph
) e il suo utilizzo al di fuori del suo ambiente.Solo modo per avere sia il contatore di sottografi e grafico) correttamente di cui è utilizzando \captionof{graph}
prima \subgraph
.
Così, la mia nuova domanda è:Come eseguire \captionof{graph}
prima di sentiment e impaginazione di sotto di loro?E come per forza \ref
per mostrare 1.1-a invece di 1.1.1
Atachements:
Codice subfigure
:(Restituisce <chapter>
.<figure>
(<subfigure>
) corretto.
\begin{figure}
\subfigure[sub-caption]{\includegraphics{fig1}\label{fig:1}}
\caption{main caption}
\end{figure}
\ref{fig:1}
Codice subfig
:(Restituisce <chapter>
.<graph2>-1<subfigure>
) non corretto.
\begin{graph2}
\subfloat[sub-caption]{\includegraphics{fig1}\label{fig:2}}
\caption{main caption}
\end{graph2}
\ref{fig:2}
Il mio codice:(Restituisce <chapter>
.<graph1>
.<subgraph>
ma la voce presenta lo stesso "indirizzo")
\begin{graph1}
\captionof{graph1}{main caption}
\subgraph[sub-caption]{\includegraphics{fig1}\label{fig:3}}
\end{graph1}
\ref{fig:3}
Soluzione
Penso che la tua subfig
la soluzione dovrebbe funzionare (subfigure
è sconsigliata comunque).Il problema con i riferimenti sbagliati potrebbe avere a che fare con voi utilizzando \label
in modo non corretto.Si deve avere il \label
comando dopo il \caption
, o parte di essa:
\begin{figure}
\caption{A Figure}
\label{fig}
\end{figure}
o
\begin{figure}
\caption{A Figure%
\label{fig}}
\end{figure}
Modifica:la seguente "per me funziona".Come ho detto, la \label
dopo il \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}
Questo produce:
Graph 1.1 is the first graph, and 1.2 is the second.
Altri suggerimenti
Io non riesco a elaborare in questo momento, ma si desidera utilizzare efstepcounter invece di \addtocounter.