用小型大写罗马数字显示 \ref 结果(法语印刷规则)

用小型大写罗马数字显示 \ref 结果(法语印刷规则)

根据法国印刷规则,章节标题必须使用大写罗马数字,章节引用必须使用小写罗马数字。使用我正在使用的 scrbook 修改章节标题很容易(我重新定义了chapterformat),但我很难将章节引用转换为小写罗马数字。

我尝试使用它\usepackage{modroman}来显示罗马数字。

不幸的是,类似的东西\textsc{\nblongRoman{\ref{chapter:lechapitre}}}不起作用(我认为是因为它是一个计数器而不是数字)。有没有一些简单的方法可以将引用返回的数字显示为罗马数字?

笔记:标签当然是这样的:

\chapter{Le chapitre}
\label{chapter:lechapitre}


总结

我给某一章节贴了一些标签,如下所示:

\chapter{Le chapitre}
\label{chapter:lechapitre}

默认情况下voir le chapitre \ref{chapter:lechapitre}返回:

“查看第二章”

我希望它显示为

“voir le chapitre ɪɪ”(小型大写罗马数字)


一些不起作用的示例:

\documentclass[12pt,
            a4paper,
            DIV=10,
            headinclude=true,
            footinclude=false,
            chapterprefix=true
        ]{scrbook}
\NeedsTeXFormat{LaTeX2e}
\usepackage[T1]{fontenc}     

\usepackage{hyperref}

\usepackage{polyglossia}
\setdefaultlanguage{french}

\begin{document}
\chapter{Le chapitre}
\label{chapter:lechapitre}

voir le chapitre \ref{chapter:lechapitre}
\end{document}

答案1

我们可以调整给出的答案这里来实现你想要的。

\documentclass[12pt,
            a4paper,
            DIV=10,
            headinclude=true,
            footinclude=false,
            chapterprefix=true
        ]{scrbook}

\makeatletter
\protected\def\SCRomanChapter#1#2{#2}
\providecommand\@secondofthree[3]{#2}
\renewcommand*{\thechapter}{%
  \SCRomanChapter{\textsc{\roman{chapter}}}{\Roman{chapter}}%
}
\labelformat{chapter}{\expandafter\@secondofthree#1}
\makeatother  

\usepackage{hyperref}

\usepackage{polyglossia}
\setdefaultlanguage{french}

\begin{document}
\chapter{Le chapitre}
\label{chapter:lechapitre}

voir le chapitre \ref{chapter:lechapitre}
\end{document}

代码输出

相关内容