大家好!我正在创建一个标题“翻译 dB,dBm”。现在我想使用“fancyhdr”将此标题放在标题中,但它会将所有字母全部大写。这很好,我喜欢它,但 dB 变成了 DB,这已经是一个错误。问题是:是否可以以某种方式指示 dB 不会变成全部大写字母(DB),而让其余文本保持大写字母。
\documentclass[a4paper,12pt]{article}
\usepackage{cmap}
\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english,russian]{babel}
\usepackage{caption}
\usepackage{fancyhdr}
\pagestyle{fancy}
\begin{document}
\tableofcontents
\clearpage
\section{Translation dB, dBm}
\end{document}
答案1
该fancyhdr
软件包确实提供了一个\nouppercase
命令,可以关闭通常的大写字母。
为了得到你想要的东西,这里有一个小窍门。加载fontaxes
,它提供\textsc
选择小型大写字母和\textulc
关闭小型大写字母的功能。然后加载包含西里尔小型大写字母的字体。¹
使用fontaxes
套餐,您可以选择主要形状(如倾斜)和次要形状(例如小型大写字母)。它为您提供\textsc
和\textulc
命令来打开和关闭小型大写字母。这允许您将倾斜文本(如默认fancy
页面样式)与小型大写字母文本相结合,并使用指定不应使用小型大写字母的单个单词\textulc{dB}
。
我还采取了其他一些自由,例如打开选项[twopage]
、打开microtype
以及在支持它们的引擎中加载 Unicode 字体。
\documentclass[a4paper,12pt,english,russian,twoside]{article}
\usepackage{iftex}
\iftutex
\usepackage{babel}
\usepackage{unicode-math}
\defaultfontfeatures{Scale=MatchLowercase, Ligatures=TeX}
\babelfont{rm}[Ligatures=Common, Language=Default, Scale=1.0]{Erewhon}
\babelfont{sf}[Ligatures={Common,Discretionary}, Language=Default]{Libertinus Sans}
\babelfont{tt}[Language=Default]{Libertinus Mono}
\setmathfont{Erewhon Math}
\else
\usepackage[T2A,T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{cmap}
\usepackage{babel}
% Loads a Type 1 font family that supports Cyrillic slanted small caps,
% along with a matching math font, a sans-serif font and a typewriter font.
\usepackage{libertinus-type1}
\usepackage{fourier, erewhon}
\usepackage{fontaxes} % For \textsc, \textulc, etc.
\fi
\usepackage{caption}
\usepackage{microtype}
\usepackage{fancyhdr}
\babeltags{english=english}
\pagestyle{fancy}
\renewcommand{\sectionmark}[1]{\markright{\arabic{section}.~\textsc{#1}}}
\fancyhead[LO,RE]{{\slshape\scshape\selectfont\nouppercase{\leftmark}}}
\begin{document}
\tableofcontents
\clearpage
\begin{english}
\section{Translation \textulc{dB}, \textulc{dBm}}
\end{english}
\end{document}
¹ 截至 2020 年,以下 8 位字体系列{scsl}
为{T2A}
电子编码定义了 NFSS 形状:Libertinus、Erewhon、Garamond Libre、XCharter、Noto 和 Old Standard。其中一些实际上不起作用。
答案2
非常感谢!它有效!在我看来,这里有很多不必要的东西。这是继续工作的最低限度。然而,每一页都重复出现“内容”一词,尽管这不是必要的,并且页脚中的铭文位于左侧,然后位于右侧,也就是说,以一种书呆子的方式。修复它会很棒!
\documentclass[a4paper,12pt,english,russian,twoside]{article}
\usepackage{iftex}
\iftutex
\fi
\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\sectionmark}[1]{\markright{\arabic{section}.~\textsc{#1}}}
\begin{document}
\tableofcontents
\clearpage
\section{Translation \textulc{dB}, \textulc{dBm}}
\newpage
\section{Translation \textulc{dBtrr}, \textulc{dBmerer}}
\end{document}