Question

J'utilise des paquets subfigure et float pour créer des figures et des tableaux que je veux créer et je suis en train de créer mon propre environnement graph avec son propre compteur et la légende ( résolu il, grâce à dmckee). Maintenant, je voudrais créer commande \subgraph qui fera exactement la même chose que la commande \subfigure.

J'ai essayé de créer ma propre commande avec compteur de propreate ( assisté , grâce à Alexey). Mais le problème apparaît avec l'aide de la commande \ref. Référence à \subfigure retourne 2.1 (a) mais référence à \subgraph retourne 1 .

Comme je l'ai essayé de savoir comment résoudre ce que je lis manuel subfig, où j'ai trouvé commande \newsubfloat avec un exemple. Première erreur était en cours d'utilisation des commandes de subfig dans subfigure et je me suis coincé là-bas. Si j'utilise subfigure je peux accéder à \subfigure mais ne peut pas forcer le travail du \subgraph, quand je l'utilise subfig je peux plus accéder \subfloat à graph mais pas dans les déclarations figure et \ref 1.0a au lieu de 1.1 (a ) .

définition par paquet 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}

définition mon \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}{}

S'il vous plaît me aider à comprendre comment \label et les commandes \ref fonctionnent (je pense que ma solution s'effondre parce que \label est avant \caption) et / ou forcer paquet subfig à travailler comme je veux.

Merci pour toute idée et être miséricordieux envers mon anglais.

Crowley

Amélioration:

En utilisant package caption je peux créer un nouveau compteur (subGraph) et de l'utiliser en dehors de son environnement. La seule façon comment avoir les deux contre (et graphique sous-graphe) correcly visé utilise \captionof{graph} avant \subgraph.

Alors, ma nouvelle question est: Comment exécuter \captionof{graph} avant et sous-graphes ci-dessous dans les composěe? Et comment forcer \ref à montrer au lieu de 1,1 a de 1.1.1

Atachements:

Code pour subfigure:. (Retour <chapter>.<figure> (<subfigure>) correcte

\begin{figure}
\subfigure[sub-caption]{\includegraphics{fig1}\label{fig:1}}
\caption{main caption}
\end{figure}
\ref{fig:1}

Code pour subfig:. (Retour <chapter>.<graph2>-1<subfigure>) incorrect

\begin{graph2}
\subfloat[sub-caption]{\includegraphics{fig1}\label{fig:2}}
\caption{main caption}
\end{graph2}
\ref{fig:2}

Mon code: (retour <chapter>.<graph1>.<subgraph> mais légende montre la même "adresse")

\begin{graph1}
\captionof{graph1}{main caption}
\subgraph[sub-caption]{\includegraphics{fig1}\label{fig:3}}
\end{graph1}
\ref{fig:3}
Était-ce utile?

La solution

Je pense que votre solution subfig devrait fonctionner (subfigure est dépréciée de toute façon). Le problème avec les mauvaises références pourrait avoir à faire avec vous en utilisant correctement \label . Vous devez avoir la commande \label après la \caption, ou une partie de celui-ci:

\begin{figure}
\caption{A Figure}
\label{fig}
\end{figure}

ou

\begin{figure}
\caption{A Figure%
\label{fig}}
\end{figure}

Modifier : ce qui suit "fonctionne pour moi". Comme je l'ai dit, le \label est après la \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}

produit:

Graph 1.1 is the first graph, and 1.2 is the second.

Autres conseils

Je ne peux pas donner des détails en ce moment, mais vous voulez utiliser \ refstepcounter au lieu de \ addtocounter.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top