关于定制的一个小问题cleveref
。
我正在尝试设置格式以\cref
获取“(图 1)”。
我设法得到了我想要的东西
\crefformat{figure}{(#2fig.~#1#3)}
尽管如此,有时我需要为这个参考添加注释,我希望获得以下类型的参考:“(图 1,n°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}