
Estoy usando el cleveref
paquete para hacer referencia a elementos flotantes (en este caso, subfiguras) en la memoir
clase. Actualmente el resultado se ve así (perdón por el danés, no creo que importe):
Usando la siguiente entrada (no todos los paquetes incluidos, ofc):
\documentclass[oneside,article,12pt,danish]{memoir}
\usepackage{graphicx}
\newsubfloat{figure}
\captiontitlefont{\slshape}
\subcaptionfont{\slshape}
\usepackage{varioref}
\usepackage{hyperref}
\usepackage{cleveref}
\begin{document}
\begin{figure}[h!]
\centering
\subbottom[Subfigure 1 caption]{\rule{3cm}{1cm}\label{sub1}}
\hspace{1cm}
\subbottom[Subfigure 2 caption]{\rule{3cm}{1cm}\label{sub2}}
\caption{Figure text.}
\label{fig:secondfig}
\end{figure}
\cref{sub1,sub2}
\end{document}
Me gusta la forma en que están configuradas las figuras/subfiguras, pero me gustaría que la referencia diga 5a
o 5.a
en lugar de 5(a)
sin cambiar los títulos de las figuras/subfiguras. ¿Existe una forma general de hacer esto en todo el documento, de modo que se pueda cambiar fácilmente a una notación algo aleatoria?
Respuesta1
Esta solución evita la necesidad de cargar caption
y por lo tanto conserva las instalaciones de memoir
. Al menos eso parece aunque mis pruebas han sido algo mínimas. Descomente/comente la línea apropiada para lograr el formato con o sin el punto, según le apetezca.
\documentclass[oneside,article,12pt,danish]{memoir}
\newsubfloat{figure}
\captiontitlefont{\slshape}
\subcaptionfont{\slshape}
% \renewcommand{\thesubfigure}{\alph{subfigure}}% plain version
\renewcommand{\thesubfigure}{.\alph{subfigure}}% dotted version
\makeatletter
\renewcommand{\@thesubfigure}{(\alph{subfigure})%
\if@tightsubcap\hskip\subfloatlabelskip\else\space\fi}
\makeatother
\usepackage{varioref}
\usepackage{hyperref}
\usepackage{cleveref}
\begin{document}
\begin{figure}[h!]
\centering
\subbottom[Subfigure 1 caption]{\rule{3cm}{1cm}\label{sub1}}
\hspace{1cm}
\subbottom[Subfigure 2 caption]{\rule{3cm}{1cm}\label{sub2}}
\caption{Figure text.}
\label{fig:secondfig}
\end{figure}
\cref{sub1,sub2}
\end{document}
Si cargara xcolor
, podría (perversamente) tener solo las referencias a los bits de la subfigura tipografiados en minúsculas azules enormes sin afectar los títulos u otras referencias:
\renewcommand{\thesubfigure}{\Huge\color{blue}.\alph{subfigure}}% dotted version
Obviamente, esta sería una elección terrible, pero demuestra que el formato se puede "cambiar fácilmente a una notación algo aleatoria" manteniendo el formato de los subtítulos y la interfaz de memoir
.
Respuesta2
Bien, aquí hay una sugerencia parcial usando subfig
y caption
. No he usado la clase de memorias antes. Si uso artículo, las cifras están etiquetadas como "1.a", cuando cambio a memorias obtengo "0.1.a". Parte de su código no se compila para mí. Lo he comentado. Cambié la figura para que se pareciera más a mi propio código (es decir, subfloat
no subbottom
) porque no había usado este último antes. He incorporado la respuesta a la pregunta que vinculé antes.
Entonces, con las advertencias anteriores sobre el código que no se compila, mi ejemplo aquí hace lo que quieres en términos de etiquetado de figuras (creo).
Probablemente haya una solución mejor.
\documentclass[12pt]{memoir}
\usepackage{graphicx}
%%%%These do not work for me - is there a missing package?
%\newsubfloat{figure}
%\captiontitlefont{\slshape}
%\subcaptionfont{\slshape}
%%%%
\usepackage{varioref}
\usepackage{hyperref}
\usepackage{cleveref}
\usepackage[font=sl,labelfont=up]{caption}
\usepackage[font=sl,labelfont=up]{subfig}
\renewcommand\thesubfigure{\alph{subfigure}} % default: "(\alph{subfigure})"
\makeatletter
\renewcommand{\p@subfigure}{\thefigure.} % default: "\thefigure" (without the ".")
\makeatother
\begin{document}
\begin{figure}
\centering
\subfloat[Subfigure 1 caption]{\rule{3cm}{1cm}\label{sub1}}
\hspace{1cm}
\subfloat[Subfigure 2 caption]{\rule{3cm}{1cm}\label{sub2}}
\caption{Figure text.}
\label{fig:secondfig}
\end{figure}
\cref{sub1,sub2}
\end{document}