小型罗马字母编号部分

小型罗马字母编号部分

是否可以使用罗马小型大写数字对章节标题进行编号?

最小工作示例给了我我想要的,除了我希望罗马部分的编号与小型大写数字

为了达到预期的效果,我不能使用\Roman{section}而不是\roman{section}

最小工作示例的编译输出

\documentclass{book}

\renewcommand\thesection{\arabic{section}}

\begin{document}
\tableofcontents

\section{Arabic Section}

\renewcommand\thesection{\roman{section}}
\setcounter{section}{0}

\section{Roman Section}

I vs. \textsc{i}

\end{document}

该示例基于这个答案

答案1

基本上

\renewcommand{\thesection}{{\scshape\roman{section}}会做

对于数字本身的变化,请注意{}用于分组和限制效果的额外对\scshape,即字体切换到small caps

然而问题是,在章节标题和目录条目中,章节编号都是用粗体字体书写的。

普通cm字体没有小型大写字母的粗体版本,但可以使用 来“启用/伪造/模拟” \usepackage{bold-extra}

\documentclass{book}
\usepackage{bold-extra}

\renewcommand\thesection{\arabic{section}}

\begin{document}
\tableofcontents

\section{Arabic Section}

\renewcommand\thesection{{\scshape\roman{section}}}
\setcounter{section}{0}

\section{Roman Section}

I vs. \textsc{i}

\end{document}

在此处输入图片描述

答案2

一个具有非常小的包的解决方案,称为scroman,它定义了三种新的编号样式:

  • scroman,这就是你想要的,
  • osroman这就像roman,除了一个最终的i 被替换为j
  • 一个相似的scosroman

第一种和第三种风格的演示:

\documentclass{book}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{osroman}
\renewcommand\thesection{\arabic{section}}
\usepackage{lipsum}
\pagestyle{plain}
\begin{document}

\pagenumbering{scosroman}
\tableofcontents
\section{Arabic Section}
\lipsum
\renewcommand\thesection{\scroman{section}}
\setcounter{section}{0}
\section{Roman Section}
\lipsum

\end{document}

在此处输入图片描述

小包装编码:

\ProvidesPackage{osroman}
%%Provide 3 new numberings : scroman (roman numbering with small caps)
%% osroman (j, ij, iij, iv, v, vj, vij, viij, ix, x & c. )
%% scosroman (mixes scroman and os roman)

    \newcommand{\oldstyleroman}[1]{\expandafter\@oldstyleroman#1\@nil}
    \def\@oldstyleroman#1#2\@nil{%
      \ifcat$\detokenize{#2}$%
        \expandafter\@firstoftwo
      \else
        \expandafter\@secondoftwo
      \fi
      {\if#1ij\else#1\fi}% si #2 est vide
      {#1\@oldstyleroman#2\@nil}% si #2 n'est pas vide
    }
    \def\scroman#1{\expandafter\@scroman\csname c@#1\endcsname}
    \def\@scroman#1{{\scshape\romannumeral #1}}
    \def\osroman#1{\expandafter\@osroman\csname c@#1\endcsname}
    \def\@osroman#1{{\oldstyleroman{\romannumeral #1}}}
    \def\scosroman#1{\expandafter\@scosroman\csname c@#1\endcsname}
    \def\@scosroman#1{{\scshape\oldstyleroman{\romannumeral #1}}}

相关内容