IEEEtran 中没有粗体文​​字、斜体?

IEEEtran 中没有粗体文​​字、斜体?

我遇到了在俄语文档中(英文文档中一切正常)命令(以及几乎所有更改字体样式的命令)不起作用的\textbf问题。\bfseries\documentclass[conference,a4paper]{IEEEtran}

我应该怎么办?

看看截图。几乎所有非西里尔文变体中的单词都使用类比代码加粗(顺便说一下,使用 T1 fontenc)。但是西里尔文中没有加粗文本。

另请注意,其他命令(例如) \textit \slshape不起作用。

PS。第二个小问题。我有一个俄语 babel,单词“Abstract”变成了“Аннотация”。但是“Index Terms”没有效果。如何小心地将其重命名为“Ключевые понятия”?我可以做得很脏。我不喜欢这样。

在此处输入图片描述

一切正常。除 sectionname 外,其他内容均以粗体显示。 在此处输入图片描述

梅威瑟:

\documentclass[conference,a4paper]{IEEEtran} 

\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[russian]{babel} 

\title{Исследование}

\begin{document}
\maketitle
\begin{abstract}
We propose ... \\
Мы предлагаем...
\end{abstract}
\begin{IEEEkeywords}
Broad band networks...\\ Сети...
\end{IEEEkeywords}

\section{Описание задачи}
\textbf{Сети} \textbf{Сети} \bfseries \textit{ \slshape Cети}
\end{document}

答案1

IEEEtran.cls不支持需要非拉丁文字的语言。它将默认字体设置为 和,ptm即Adob​​e 的 Times、Helvetica 和 Courier。几乎可以肯定,您在英语中看到的是 URW 对这些字体的克隆,和。phvpcrutmuhvucr

但是,这些字体不支持西里尔文,因此 LaTeX 恢复为T2A编码的默认设置,如控制台输出清楚显示的那样:

LaTeX Font Warning: Font shape `T2A/ptm/m/n' undefined
(Font)              using `T2A/cmr/m/n' instead on input line 105.

这是常规衬线。现在发生的事情是,它显然也找不到粗体 Times Cyrillic:

LaTeX Font Warning: Font shape `T2A/ptm/bx/n' undefined
(Font)              using `T2A/ptm/m/n' instead on input line 121.

因此它用常规粗细来代替。也就是说,它不寻找粗体 Computer Modern。它寻找粗体 Times,如果找不到,它就寻找中等粗细的 Times,而后者已经被中等粗细的 Computer Modern 代替。

不同形状的情况也类似。例如,

LaTeX Font Warning: Font shape `T2A/ptm/m/it' undefined
(Font)              using `T2A/ptm/m/n' instead on input line 121.

这是因为,通常您不希望 LaTeX 在找不到粗细或形状时切换字体系列。您希望它恢复到中等粗细或直立形状。通常,这是正确的(最不意外的)做法。

只是,在这种情况下,没有中等直立 Times Cyrillic,所以它最终还是会回到 Computer Modern。而且,由于在诉诸替换不同的字体系列之前,它曾尝试替换不同的粗细和形状,所以粗细和形状始终相同。

我们可以强制使用计算机现代西里尔字母(无论如何我们都会得到这个字母),

\renewcommand{\sfdefault}{cmss}
\renewcommand{\rmdefault}{cmr}
\renewcommand{\ttdefault}{cmt}

允许使用粗体、斜体等。

但请注意,编译后的 PDF 并不构成控制台输出中提到的“照相就绪”输出,因为它不使用 1 型字体。这就是为什么您需要向期刊或会议询问您应该使用哪种字体的原因。

之所以Index Terms没有翻译,是因为它特定于类,并且不会被 Babel 翻译。你可以简单地用以下方式定义它:

\def\IEEEkeywordsname{Ключевые понятия}

另一个特定于类的术语是Proof。如果您需要它,请按如下方式替换适当的俄语。

\def\IEEEproofname{Proof}% substitute the Russian here

这给了我们下面的代码

\documentclass[conference,a4paper,russian]{IEEEtran}
\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\def\IEEEkeywordsname{Ключевые понятия}
\def\IEEEproofname{Proof}% substitute the Russian here
\renewcommand{\sfdefault}{cmss}
\renewcommand{\rmdefault}{cmr}
\renewcommand{\ttdefault}{cmt}

\title{Исследование}

\begin{document}
\maketitle
\begin{abstract}
We propose ... \\
Мы предлагаем...
\end{abstract}
\begin{IEEEkeywords}
Broad band networks...\\ Сети...
\end{IEEEkeywords}

\section{Описание задачи}
\textbf{Сети} \textbf{Сети} \bfseries \textit{ \slshape Cети}
\end{document}

产生

输出

请注意,如果您的论文还包含英文,您应该加载 Babel 的适当设置并在需要时切换到英文。

\documentclass[conference,a4paper,british,russian]{IEEEtran}

或者

\documentclass[conference,a4paper,american,russian]{IEEEtran}

将俄语设为主要语言,但允许在需要时切换到英语。如果您需要此功能,请参阅 Babel 的文档以了解更多详细信息。

答案2

您可以使用与 Times 兼容的西里尔字体,称为 Tempora。您只需补充适合小写字母的定义(IEEEtran 使用这种字体,但对西里尔字母来说意义不大)。

使用标准babel方法更改固定标签。

\documentclass[conference,a4paper]{IEEEtran}

\usepackage[T2A]{fontenc}
\usepackage[russian]{babel}
\usepackage{tempora}

\LoadFontDefinitionFile{T2A}{Tempora-TLF}
\DeclareFontShape{T2A}{Tempora-TLF}{m}{sc}{
      <-> ssub * Tempora-TLF/m/n
}{}

\setlocalecaption{russian}{IEEEkeywords}{Ключевые понятия}

\title{Исследование}

\begin{document}
\maketitle
\begin{abstract}
We propose ... \\
Мы предлагаем...
\end{abstract}
\begin{IEEEkeywords}
Broad band networks...\\ Сети...
\end{IEEEkeywords}

\section{Описание задачи}
\textbf{Сети} \textbf{Сети} \bfseries \textit{Cети}

\end{document}

在此处输入图片描述

答案3

添加此代码

\def\keywords{\normalfont%
    % IEEE uses the term (in bold italics) "Index Terms" now. 
    \if@twocolumn%
    \@IEEEabskeysecsize\bfseries\textit{Index Terms}---\,\relax%
}

并使用\textbf{text}。它对我有用。

相关内容