Небольшой вопрос по настройке cleveref
.
Я пытаюсь задать формат, \cref
чтобы получить "(Рис. 1)".
Мне удалось получить то, что я хотел с
\crefformat{figure}{(#2fig.~#1#3)}
Тем не менее, мне иногда необходимо добавить примечание к этой ссылке, и я хотел бы получить ссылку типа: «(Рис. 1, № 1)».
Можно ли добавить примечание таким же образом, как в biblatex \cite[posnote]{bib}
?
Я не смог найти то, что мне было нужно, ни в официальной документации, ни на сайте.
Спасибо!
\documentclass[french]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage[a4paper]{geometry}
\usepackage{babel}
\usepackage{cleveref}
\usepackage{capt-of}
\usepackage{lipsum}
\providecommand{\numero}{n\textsuperscript{o}\nobreakspace}
\crefformat{figure}{(#2fig.~#1#3)}
\begin{document}
\captionof{figure}{Je suis une legende}\label{legende}
I would like this: (fig.~1, \numero 1)
Not this \cref{legende}, \numero 1
\end{document}
решение1
В качестве обходного пути можно создать специальную команду с желаемым поведением:
\documentclass[french]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{capt-of}
\usepackage{cleveref}
\providecommand{\numero}{n\textsuperscript{o}\nobreakspace}
\crefformat{figure}{#2fig.~#1#3}
\usepackage{etoolbox}
\newcommand{\crefp}[2][]{%
(\cref{#2}%
\ifstrempty{#1}{}{%
, #1%
}%
)%
}
\begin{document}
\captionof{figure}{Je suis une legende}\label{legende}
I would like this: (fig.~1, \numero 1)
Not this \crefp[\numero 1]{legende}
\crefp{legende}
\end{document}
Этот подход также работает для списка меток:
\documentclass[french]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{capt-of}
\usepackage{cleveref}
\providecommand{\numero}{n\textsuperscript{o}\nobreakspace}
\crefformat{figure}{#2fig.~#1#3}
\usepackage{etoolbox}
\newcommand{\crefp}[2][]{%
(\cref{#2}%
\ifstrempty{#1}{}{%
, #1%
}%
)%
}
\begin{document}
\captionof{figure}{Je suis une legende}\label{legende}
\captionof{figure}{Je suis une legende}\label{legendee}
\crefp[\numero 1]{legende,legendee}
\crefp{legende,legendee}
\cref{legende,legendee}
\end{document}