Редактирование стиля ссылок для подрисунков с использованием CleverEf и Memoir

Редактирование стиля ссылок для подрисунков с использованием CleverEf и Memoir

Я использую cleverefпакет для ссылки на float (в данном случае на subfigures) в memoirклассе. В настоящее время вывод выглядит так (извините за датский, я не думаю, что это имеет значение): второстепенные фигуры в мемуарах с использованием умного эфа

Используя следующие входные данные (конечно, включены не все пакеты):

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

Мне нравится, как настроены рисунки/подрисунки, но я бы хотел, чтобы в ссылке было указано 5aили 5.aвместо этого 5(a)без изменения подписей рисунков/подрисунков. Есть ли общий способ сделать это во всем документе, чтобы можно было легко изменить на несколько случайную нотацию?

решение1

Это решение позволяет избежать необходимости загрузки captionи, таким образом, сохраняет возможности memoir. По крайней мере, так кажется, хотя мое тестирование было довольно минимальным. Раскомментируйте/закомментируйте соответствующую строку, чтобы добиться форматирования с точкой или без нее, в зависимости от вашего настроения.

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

подрисунки с вариантами формата ссылок в <code>memoir</code>

Если бы вы загрузили xcolor, то вы могли бы (извращенно) просто набрать ссылки на фрагменты подрисунков большими синими строчными буквами, не затрагивая подписи или другие ссылки:

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

странное форматирование

Очевидно, это был бы ужасный выбор, но он демонстрирует, что формат можно легко «изменить на несколько случайную запись», сохранив при этом формат субтитров и интерфейс memoir.

решение2

Хорошо, вот частичное предложение с использованием subfigи caption. Я раньше не использовал класс memoir. Если я использую article, рисунки помечаются как "1.a", когда я переключаюсь на memoir, я получаю "0.1.a". Часть вашего кода у меня не компилируется. Я закомментировал это. Я изменил рисунок, чтобы он больше походил на мой собственный код (т. е. subfloatне subbottom), потому что я раньше не использовал последний. Я включил ответ на вопрос, на который я ссылался ранее.

Итак, с учетом вышеизложенных оговорок о некомпилируемом коде, мой пример делает то, что вам нужно с точки зрения маркировки рисунков (я думаю).

Вероятно, есть лучшее решение.

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

Связанный контент