I want write article by russian language using Sweave. For cyrillic text
LaTeX use T2A encoding
\usepackage[T2A]{fontenc}
But in Sweave.sty we find:
\RequirePackage[T1]{fontenc}
It is source of critical problem.
For example Rnw file
$ cat estimation.Rnw
\documentclass[A4paper]{article}
\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[russian,english]{babel}
\begin{document}
Ð”Ð»Ñ Ð½Ð°Ñ‡Ð°Ð»Ð° попытаемÑÑ
апрокÑимировать результаты
нормативной завиÑимоÑти.
$$
\Delta T_k = 800(C_p + 0.07C_{Cu})F^{1/3}
$$
\end{document}
will be translate to this estimate.tex
$ R CMD Sweave estimation.Rnw
$ cat estimate.tex
\documentclass[A4paper]{article}
\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[russian,english]{babel}
\usepackage{Sweave}
\begin{document}
Ð”Ð»Ñ Ð½Ð°Ñ‡Ð°Ð»Ð° попытаемÑÑ
апрокÑимировать результаты
нормативной завиÑимоÑти.
$$
\Delta T_k = 800(C_p + 0.07C_{Cu})F^{1/3}
$$
\end{document}
and if I try to compile to pdf, LaTeX don't do it by reason
$ pdflatex estimation.tex
This is pdfTeXk, Version 3.141592-1.40.3 (Web2C 7.5.6)
%&-line parsing enabled.
entering extended mode
(./estimation.tex
LaTeX2e <2005/12/01>
Babel <v3.8h> and hyphenation patterns for english, usenglishmax,
dumylang,
noh
yphenation, croatian, ukrainian, russian, bulgarian, czech, slovak,
danish,
dut
ch, finnish, basque, french, german, ngerman, ibycus, greek, monogreek,
ancient
greek, hungarian, italian, latin, mongolian, norsk, icelandic,
interlingua,
tur
kish, coptic, romanian, welsh, serbian, slovenian, estonian, esperanto,
upperso
rbian, indonesian, polish, portuguese, spanish, catalan, galician,
swedish,
loa
ded.
(/usr/share/texmf-texlive/tex/latex/base/article.cls
Document Class: article 2005/09/16 v1.4f Standard LaTeX document class
(/usr/share/texmf-texlive/tex/latex/base/size10.clo))
(/usr/share/texmf-texlive/tex/latex/base/fontenc.sty
(/usr/share/texmf-texlive/tex/latex/cyrillic/t2aenc.def)
(/usr/share/texmf-texlive/tex/latex/cyrillic/t2acmr.fd))
(/usr/share/texmf-texlive/tex/latex/base/inputenc.sty
(/usr/share/texmf-texlive/tex/latex/base/utf8.def
(/usr/share/texmf-texlive/tex/latex/base/t1enc.dfu)
(/usr/share/texmf-texlive/tex/latex/base/ot1enc.dfu)
(/usr/share/texmf-texlive/tex/latex/base/omsenc.dfu)
(/usr/share/texmf-texlive/tex/latex/base/t2aenc.dfu)))
(/usr/share/texmf-texlive/tex/generic/babel/babel.sty
(/usr/share/texmf-texlive/tex/generic/babel/russianb.ldf
(/usr/share/texmf-texlive/tex/generic/babel/babel.def))
(/usr/share/texmf-texlive/tex/generic/babel/english.ldf))
(/usr/share/texmf/tex/latex/R/Sweave.sty
(/usr/share/texmf-texlive/tex/latex/base/ifthen.sty)
(/usr/share/texmf-texlive/tex/latex/graphics/graphicx.sty
(/usr/share/texmf-texlive/tex/latex/graphics/keyval.sty)
(/usr/share/texmf-texlive/tex/latex/graphics/graphics.sty
(/usr/share/texmf-texlive/tex/latex/graphics/trig.sty)
(/etc/texmf/tex/latex/config/graphics.cfg)
(/usr/share/texmf-texlive/tex/latex/pdftex-def/pdftex.def)))
(/usr/share/texmf-texlive/tex/latex/fancyvrb/fancyvrb.sty
Style option: `fancyvrb' v2.6, with DG/SPQR fixes <1998/07/17> (tvz)
No file fancyvrb.cfg.
) (/usr/share/texmf/tex/latex/R/upquote.sty
(/usr/share/texmf-texlive/tex/latex/base/textcomp.sty
(/usr/share/texmf-texlive/tex/latex/base/ts1enc.def
(/usr/share/texmf-texlive/tex/latex/base/ts1enc.dfu))))
(/usr/share/texmf-texlive/tex/latex/base/fontenc.sty
(/usr/share/texmf-texlive/tex/latex/cyrillic/t2aenc.def))
(/usr/share/texmf-texlive/tex/latex/ae/ae.sty
(/usr/share/texmf-texlive/tex/latex/base/fontenc.sty
(/usr/share/texmf-texlive/tex/latex/base/t1enc.def)
(/usr/share/texmf-texlive/tex/latex/ae/t1aer.fd))))
LaTeX Warning: Unused global option(s):
[A4paper].
(./estimation.aux) (/usr/share/texmf-texlive/tex/latex/base/ts1cmr.fd)
! LaTeX Error: Command \CYRD unavailable in encoding T1.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.10 Д
Ð»Ñ Ð½Ð°Ñ‡Ð°Ð»Ð° попытаемÑÑ
апрокÑимировать...
?
! LaTeX Error: Command \CYRD unavailable in encoding T1. --- this is the
error message
I know how to win this situation. For this I must edit Sweave.sty,
change T1
to T2A, and move usepakage{Sweave} operator in estimate.tex file to
top of
declaration usepakage block, thus
\usepackage{Sweave}
\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[russian,english]{babel}
But this method similar to the rape. Which is the correct, regular
method of
declaration of necessary fontecoding in Sweave?