figuras numéricas y tablas junto con el nombre de una etiqueta

figuras numéricas y tablas junto con el nombre de una etiqueta

Me gustaría etiquetar mis figuras y tablas continuamente usando S.I, S.II, S.III, etc. en el título de ambas figuras y tablas.

Puedo cambiar el título figurey tablea S.I, ... por

\renewcommand{\tablename}{S.}
\renewcommand{\figurename}{S.}
\renewcommand{\thetable}{\Roman{table}}
\renewcommand{\thefigure}{\Roman{figure}}

pero esto todavía cuenta figuras y tablas por separado. S.Ipor tanto, existe dos veces, una para la primera figura y otra para la primera tabla.

¿Cómo puedo evitar esto? ¡Gracias!

Respuesta1

ActualizarEl concepto de contadores acoplados se encuentra ahora en xassoccntla versión 1.0 (versión actual a partir del 09/08/2016) que está disponible en CTAN/MikTeX y TeXLive 2016.

Aunque hay respuestas en los enlaces a esta pregunta, proporciono otra solución que tiene un código experimental (la próxima versión) de mi xassoccntpaquete. El código parece largo por el momento, pero estará oculto en el paquete, utilizando otras macros que, por supuesto, reducirán la configuración. El plan futuro es tener varios contadores "compartidos" o acoplados, no sólo dos como en este ejemplo.

Nota: Esto no combina las características \listoftablesy \listoffiguresen una sola List of ...(lo que sería extraño de todos modos, desde mi punto de vista)

¡Funciona con hyperref!

\documentclass{article}

\usepackage{xassoccnt}
\usepackage{blindtext}


\renewcommand{\tablename}{S.}
\renewcommand{\figurename}{S.}
\renewcommand{\thetable}{\Roman{table}}
\renewcommand{\thefigure}{\Roman{figure}}


\ExplSyntaxOn
\seq_new:N \l__xassoccnt_coupledcounters_seq
\NewDocumentCommand{\DeclareCoupledCounters}{mm}{%
  \seq_clear:N \l__xassoccnt_coupledcounters_seq
  \seq_gput_right:Nn \l__xassoccnt_coupledcounters_seq {#1}
  \seq_gput_right:Nn \l__xassoccnt_coupledcounters_seq {#2}
}

\cs_set_eq:NN \xassoccnt_stepcounter \stepcounter
\cs_set_eq:NN \xassoccnt_setcounter \setcounter % Should be done
\cs_set_eq:NN \xassoccnt_addtocounter \addtocounter % Should be done

\RenewDocumentCommand{\stepcounter}{m}{%
  \tl_set:Nx \l_tmpa_tl {#1}
  \seq_if_in:NVTF \l__xassoccnt_coupledcounters_seq  {\l_tmpa_tl} {%
    \seq_map_inline:Nn \l__xassoccnt_coupledcounters_seq {%
      \xassoccnt_stepcounter{##1}
    }
  }{
    \xassoccnt_stepcounter{#1}% Only step #1 
  }
}
\ExplSyntaxOff


\DeclareCoupledCounters{figure}{table}

\usepackage{hyperref}

\begin{document}
\listoffigures
\listoftables

\section{First}

\blindtext[10]

\begin{figure}

\caption{foo figure}
\end{figure}

\blindtext[10]


\begin{table}
\caption{foo table}
\end{table}

\section{Second}

\blindtext[10]

\begin{figure}

\caption{other foo figure}
\end{figure}

\blindtext[10]


\begin{table}
\caption{other foo table}
\end{table}


\end{document}

ingrese la descripción de la imagen aquí

Respuesta2

Si no necesita hiperref:

\renewcommand{\tablename}{S.}
\renewcommand{\figurename}{S.}
\makeatletter
\let\c@table\c@figure
\makeatother
\renewcommand\thefigure{\Roman{figure}}
\let\thetable\thefigure

información relacionada