Pregunta

estoy usando paquetes subfigure y float para crear figuras y tablas que quiero crear y estoy tratando de crear mi propio entorno graph con su propio contador y título (resuelto allí, gracias a dmckee).Ahora me gustaría crear \subgraph comando que hará exactamente lo mismo que \subfigure dominio.

Intenté crear mi propio comando con un contador propio (Asistido aquí, gracias a Alexey).Pero el problema aparece con el uso. \ref dominio.Referencia a \subfigure devoluciones 2.1(a) pero referencia a \subgraph devoluciones 1.

Mientras intentaba descubrir cómo resolver esto, leí subfig manual, donde he encontrado \newsubfloat comando con un ejemplo.El primer error fue en el uso de subfiglos comandos en subfigure y me quedé atrapado allí.si uso subfigure puedo acceder \subfigure pero no puedo forzar \subgraph trabajando, cuando uso subfig puedo acceder \subfloat en graph pero no en figure y \ref devoluciones 1.0a en lugar de 1.1 (a).

definición por subfig paquete:

\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}

definición mía \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}{}

Por favor ayúdame a entender cómo \label y \ref Los comandos funcionan (creo que mi solución colapsa porque \label es antes \caption) y/o con fuerza subfig paquete para que funcione como quiero.

Gracias por cualquier idea y ten piedad de mi inglés.

crowley

Mejora:

Mediante el uso caption paquete puedo crear un nuevo contador (subGraph) y utilizarlo fuera de su entorno.La única forma de hacer que ambos contadores (subgrafo y gráfico) estén correctamente referidos es usando \captionof{graph} antes \subgraph.

Entonces, mi nueva pregunta es:como ejecutar \captionof{graph} ¿Antes de los subgrafos y tipografiados debajo de ellos?Y como forzar \ref para mostrar 1.1-a en lugar de 1.1.1

Adjuntos:

Código para subfigure:(Devoluciones <chapter>.<figure> (<subfigure>) correcto.

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

Código para subfig:(Devoluciones <chapter>.<graph2>-1<subfigure>) incorrecto.

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

Mi código:(Devoluciones <chapter>.<graph1>.<subgraph> pero el título muestra la misma "dirección")

\begin{graph1}
\captionof{graph1}{main caption}
\subgraph[sub-caption]{\includegraphics{fig1}\label{fig:3}}
\end{graph1}
\ref{fig:3}
¿Fue útil?

Solución

Creo que la solución debe trabajar subfig (subfigure está obsoleto de todos modos). El problema con las referencias equivocadas podría tener que ver con que usando \label incorrectamente . Debe tener el comando \label después el \caption, o como una parte de ella:

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

o

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

Editar : la siguiente "funciona para mí". Como ya he dicho, la \label es después de 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}

Esto produce:

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

Otros consejos

No puedo elaborar en este momento, pero que desea utilizar \ refstepcounter en lugar de \ addtocounter.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top