Editar el estilo de referencia para subfiguras usando Cleveref y Memoir

Editar el estilo de referencia para subfiguras usando Cleveref y Memoir

Estoy usando el cleverefpaquete para hacer referencia a elementos flotantes (en este caso, subfiguras) en la memoirclase. Actualmente el resultado se ve así (perdón por el danés, no creo que importe): subfiguras en memorias usando Cleveref

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 5ao 5.aen 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 captiony 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}

subfiguras con formato de referencia variante en <code>memorias</code>

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

formato extraño

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 subfigy 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, subfloatno 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}

información relacionada