Editando o estilo de referência para subfiguras usando intelligentef e memoir

Editando o estilo de referência para subfiguras usando intelligentef e memoir

Estou usando o cleverefpacote para fazer referência a carros alegóricos (neste caso, subfiguras) na memoirclasse. Atualmente a saída está assim (desculpe pelo dinamarquês, não acho que isso importe): subfiguras em memórias usando intelligentef

Usando a seguinte entrada (nem todos os pacotes incluídos, claro):

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

Gosto da forma como as figuras/subfiguras são configuradas, mas gostaria que a referência dissesse 5aou 5.aem vez de 5(a)sem alterar as legendas das figuras/subfiguras. Existe uma maneira geral de fazer isso em todo o documento, para que possa ser facilmente alterado para uma notação um tanto aleatória?

Responder1

Esta solução evita a necessidade de carregar captione assim mantém as facilidades do memoir. Pelo menos parece que sim, embora meus testes tenham sido mínimos. Remova o comentário/comente a linha apropriada para obter a formatação com ou sem o ponto, conforme desejar.

\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 com formato de referência variante em <code>memórias</code>

Se você carregasse xcolor, poderia (perversamente) ter apenas as referências aos bits da subfigura digitadas em letras minúsculas azuis enormes, sem afetar as legendas ou outras referências:

\renewcommand{\thesubfigure}{\Huge\color{blue}.\alph{subfigure}}% dotted version

formatação bizarra

Obviamente, esta seria uma escolha terrível, mas demonstra que o formato pode ser facilmente 'alterado para uma notação um tanto aleatória', mantendo o formato das sublegendas e a interface do memoir.

Responder2

OK, aqui está uma sugestão parcial usando subfige caption. Eu não usei a classe de memórias antes. Se eu usar o artigo, as figuras serão rotuladas como "1.a", quando mudo para o livro de memórias, recebo "0.1.a". Parte do seu código não compila para mim. Eu comentei isso. Alterei a figura para se parecer mais com meu próprio código (ou seja, subfloatnão subbottom) porque nunca usei o último antes. Incorporei a resposta à pergunta que vinculei antes.

Portanto, com as advertências acima sobre o código não compilável, meu exemplo aqui faz o que você deseja em termos de rotulagem de figuras (eu acho).

Provavelmente existe uma solução melhor.

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

informação relacionada