Kyrillischen Text in eine Datei schreiben

Kyrillischen Text in eine Datei schreiben

könnten Sie erklären, was los ist?

Ich verwende die neueste 64-Bit-Version von MiKTeX 2.9.6960 (erst gestern installiert).

Ich versuche, einen kyrillischen Text in die separate Datei zu schreiben, ohne das Inputenc-Paket zu verwenden:

\documentclass{article}

\begin{document}

\newwrite\testwrite

\immediate\openout\testwrite=testwrite.txt

\immediate\write\testwrite{Ббббббббббббб}

\immediate\closeout\testwrite

\end{document}

LaTeX meldet mir jedoch nicht, dass etwas mit der Kodierung nicht stimmt, sondern dass einige seiner internen Befehle undefiniert sind. Hier ist ein Teil der entsprechenden Logdatei:

! Undefined control sequence.
\GenericError  ...                                
                                                    #4  \errhelp \@err@     ...
l.9 \immediate\write\testwrite{Ббббббббббббб}

? 
! Undefined control sequence.
\GenericError  ...                                
                                                  \let \@err@               ...
l.9 \immediate\write\testwrite{Ббббббббббббб}

? 
! Undefined control sequence.
\GenericError  ...                                
                                                  \@empty \def \MessageBreak...
l.9 \immediate\write\testwrite{Ббббббббббббб}

? 
! Undefined control sequence.
\GenericError  ...                                
                                                     \endgroup 
l.9 \immediate\write\testwrite{Ббббббббббббб}

? 
! Undefined control sequence.
\GenericError  ...                                
                                                    #4  \errhelp \@err@     ...
l.9 \immediate\write\testwrite{Ббббббббббббб}

? 
! Undefined control sequence.
\GenericError  ...                                
                                                  \let \@err@               ...
l.9 \immediate\write\testwrite{Ббббббббббббб}

? 
! Undefined control sequence.
\GenericError  ...                                
                                                  \@empty \def \MessageBreak...
l.9 \immediate\write\testwrite{Ббббббббббббб}

und so weiter.

Ist das ein Fehler oder was ist da los?

Danke für eure Antworten.

Antwort1

Die aktiven Zeichen sind so eingerichtet, dass sie sich entsprechend den Satzanweisungen (oder den Fehlermeldungen, dass das Zeichen nicht eingerichtet ist) erweitern lassen. Sie möchten den Text einfach wörtlich so schreiben:

\documentclass{article}

\begin{document}

\newwrite\testwrite

\immediate\openout\testwrite=testwrite.txt

\immediate\write\testwrite{\detokenize{Ббббббббббббб}}

\immediate\closeout\testwrite

\end{document}

Antwort2

Wenn Sie inputenc nicht verwenden möchten, fügen Sie hinzu\UseRawInputEncoding

\UseRawInputEncoding
\documentclass{article}

\begin{document}

\newwrite\testwrite

\immediate\openout\testwrite=testwrite.txt

\immediate\write\testwrite{Ббббббббббббб}

\immediate\closeout\testwrite

\end{document}

verwandte Informationen