Pergunta

Estou usando pacotes subfigure e float Para criar figuras e tabelas que quero criar e estou tentando criar meu próprio ambiente graph com seu próprio contador e legenda (resolvido lá, graças ao dmckee). Agora eu gostaria de criar \subgraph comando que fará exatamente o mesmo que \subfigure comando.

Eu tentei criar meu próprio comando com o contador de propreados (Assistido aqui, graças a Alexey). Mas o problema aparece com o uso \ref comando. Referência a \subfigure retorna 2.1 (a) mas referência a \subgraph retorna 1.

Enquanto eu tentava descobrir como resolver isso, eu leio subfig manual, onde encontrei \newsubfloat comando com um exemplo. O primeiro erro foi em uso de subfigcomandos em subfigure E fiquei preso lá. Se eu usar subfigure Eu posso acessar \subfigure mas não pode forçar \subgraph trabalhando quando eu uso subfig Eu posso acesos \subfloat dentro graph mas não em figure e \ref retorna 1.0a ao invés de 1.1 (a).

definição por subfig pacote:

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

definição minha própria \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 me ajude a entender como \label e \ref comandos funcionam (acho que minha solução entra em colapso porque \label \caption) e/ou com forçar subfig pacote para trabalhar como eu quero.

Obrigado por alguma ideia e seja misericordioso com o meu inglês.

Crowley

Melhoria:

Usando caption pacote eu posso criar um novo contador (subGraph) e use -o fora de seu ambiente. A única maneira de como fazer com que o contador (subgrafias e gráficos) seja referido correndo está usando \captionof{graph} antes da \subgraph.

Então, minha nova pergunta é: como executar \captionof{graph} Antes de subgrafos e compensar abaixo deles? E como forçar \ref para mostrar 1.1-a em vez de 1.1.1

ATACHEMENTS:

Código para subfigure: (Retorna <chapter>.<figure> (<subfigure>) correto.

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

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

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

Meu código: (retorna <chapter>.<graph1>.<subgraph> Mas a legenda mostra o mesmo "endereço")

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

Solução

Penso que a sua subfig A solução deve funcionar (subfigure é descontinuado de qualquer maneira). O problema com as referências erradas pode ter a ver com você usando \label incorretamente. Você deve ter o \label comando depois a \caption, ou como parte disso:

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

ou

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

Editar: o seguinte "funciona para mim". Como eu disse, o \label está depois do \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}

Isso produz:

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

Outras dicas

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top