使用俄语字体时出现粗体字体问题

使用俄语字体时出现粗体字体问题

这涉及到我之前的问题

无法使用 textbf 写出粗体字符

我安装了 cm-extra 字体包,但仍然存在粗体问题\usepackage[english,russian]{babel}

\documentclass[11pt,table,a4paper]{article}
\usepackage{bold-extra}
\usepackage[T1,T2A]{fontenc}
\usepackage{CJKutf8}
\usepackage[english,russian]{babel}
\usepackage{fancyvrb}
\usepackage{myboldtt}
\def\n{\textbackslash n}
\begin{document}
  Regular text. \textbf{Bold}.
\begin{Verbatim}[commandchars=\\\{\}]
%chunk = 1
<<echo=FALSE,results=tex>>=
cat("dataset","\n")
cat("\textbf{dataset}","\n")   # it should be bold 
@
\end{Verbatim}
\end{document}

请帮助我解决这个问题,因为我非常需要。

答案1

问题是 cm-super-fonts 不提供粗体打字机字体。但 lmodern 字体提供,但仅限于 T1 编码。因此,您应该暂时将字体编码切换为 T1(或将语言切换为英语)。另一方面,lmodern 字体不提供粗体 T2A 字体(常规文本需要)。因此,您应该只将打字机字体切换为 lmodern 或 luximono 字体(具有更独特的粗体版本):

\documentclass[11pt,table,a4paper]{article}
\usepackage[T1,T2A]{fontenc}
\usepackage[english,russian]{babel}
\usepackage{fancyvrb}
%typewriter is lmodern:
\renewcommand\ttdefault{lmtt}
%Alternative:
%\usepackage[scaled]{luximono}

\def\n{\textbackslash n}
\begin{document}
Regular text. \textbf{Bold}.

\begingroup
\fontencoding{T1}\selectfont
\begin{Verbatim}[commandchars=\\\{\}]
%chunk = 1
<<echo=FALSE,results=tex>>=
cat("dataset","\n")
cat("\textbf{dataset}","\n")   # it should be bold
@
\end{Verbatim}
\endgroup
\end{document}

答案2

字体编码问题已在Sweave包中得到解决。您应该[noae]在标头中使用参数,例如\usepackage[noae]{Sweave}。此参数强制Sweave使用 T1 编码,粗体俄语字体的问题已消失。有关更多信息,请参阅R 新闻通讯,第 42 页。

答案3

Fischer 的示例对我来说很有效,但与Sweave包冲突。编译 .Rnw 文件并创建 .tex 文件后,我必须在文件中注释Sweave( %\usepackage{Sweave}) ,编译为文件.tex后,粗体字体显示在输出中。.tex.PDF

相关内容