使用 \VerbatimInput 处理包含希腊语和英语的文本文件

使用 \VerbatimInput 处理包含希腊语和英语的文本文件

我必须在我的文档中包含一些文本文件,这些文件是从另一个程序派生的报告。这些文件中的文本是混合的(希腊语和英语)。

我正在使用该fancyvrb 包将文本包含在命令中\VerbatimInput并使用 PDFLaTeX 进行编译。我遇到的问题是,我得到的输出无法识别拉丁字符。

我附加了两张图片,其中包括文档中呈现的逐字文本和实际文件中的文本。

任何帮助,将不胜感激。

下面是我正在使用的代码的 MWE:

\input{glyphtounicode}\pdfgentounicode=1
\documentclass[a4paper,oneside,fleqn]{report}

% PACKAGES
% MAIN
\usepackage[utf8]{inputenc}
\usepackage[english,greek]{babel}

% MISC.
\usepackage{attachfile2}
\usepackage{fancyvrb}

% FILE CONTENTS TO INCLUDE IN VERBATIM
\begin{filecontents}{S12RESutf.txt}
1.  a-posteriori μεταβλητότητα = 122.1875
     a-posteriori τυπική απόκλιση =  11.05
     βαθμοί ελευθερίας =    6
     κριτήριο βελτιστοποίησης =   733.1250

2.  OI ΣΥΝΟΡΘΩΜΕΝΕΣ ΔΙΕΥΘΥΝΣΕΙΣ 

σκοπευόμενο  συνορθωμένη  τυπική 
σημείο       διεύθυνση    απόκλιση 
               (grad)      (cc)  

    22        0.00000      6.38
    32       30.69490      6.38
    42       35.08358      6.38
     2      103.23945      6.38
\end{filecontents}


\begin{document}
    \begin{center}
        \attachfile{S12RES.txt} {\bfseries Αποτελέσματα συνόρθωσης σταθμού 12}
    \end{center}
    \vspace{3mm}
    
    \VerbatimInput[baselinestretch=.9]{S12RESutf.txt}
\end{document}

我得到的输出是这样的

文本文件的内容

答案1

您可以混合希腊字母和拉丁字母,前提是当前语言使用拉丁字母,并且您加载alphabeta

% FILE CONTENTS TO INCLUDE IN VERBATIM
\begin{filecontents*}{\jobname.txt}
1.  a-posteriori μεταβλητότητα = 122.1875
     a-posteriori τυπική απόκλιση =  11.05
     βαθμοί ελευθερίας =    6
     κριτήριο βελτιστοποίησης =   733.1250

2.  OI ΣΥΝΟΡΘΩΜΕΝΕΣ ΔΙΕΥΘΥΝΣΕΙΣ 

σκοπευόμενο  συνορθωμένη  τυπική 
σημείο       διεύθυνση    απόκλιση 
               (grad)      (cc)  

    22        0.00000      6.38
    32       30.69490      6.38
    42       35.08358      6.38
     2      103.23945      6.38
\end{filecontents*}


\documentclass[a4paper,oneside,fleqn]{report}

% PACKAGES
% MAIN
\usepackage[utf8]{inputenc}
\usepackage[english,greek]{babel}
\usepackage{alphabeta}

% MISC
\usepackage{fancyvrb}

\newcommand{\VerbatimInputMixed}[2][]{%
  \begin{otherlanguage*}{english}%
  \VerbatimInput[#1]{#2}%
  \end{otherlanguage*}%
}

\begin{document}

\VerbatimInputMixed[baselinestretch=.9]{\jobname.txt}

\end{document}

在此处输入图片描述

注意:我更改了文件名以确保不会破坏我的文件并将它们正确分组。您不需要使用\jobname

答案2

为了正确获取非希腊语文本,必须将其括起来,例如,在 中\foreignlanguage{english}{non-greek text here}。(在下面的 MWE 中,我使用了\texteng用 定义的宏\newcommand{\texteng}[1]{\foreignlanguage{english}{#1}}。)

为此,Verbatim我们必须设置一些用于插入命令的转义字符。例如:

commandchars=\\\{\}

允许您使用标准字符\{}启动宏并标记组的开始和结束。或者,您也可以定义其他特殊字符,例如:

commandchars=+\[\]

这样你就可以\foreignlanguage{english}在里面Verbatim写入+foreignlanguage[english](参见下面代码中的最后一个例子)。

平均能量损失

% FILE CONTENTS TO INCLUDE IN VERBATIM
\begin{filecontents}[overwrite,noheader]{S12RESutf.txt}
    1.  \texteng{a-posteriori} μεταβλητότητα = 122.1875
    a-posteriori τυπική απόκλιση =  11.05
    βαθμοί ελευθερίας =    6
    κριτήριο βελτιστοποίησης =   733.1250
    
    2.  OI ΣΥΝΟΡΘΩΜΕΝΕΣ ΔΙΕΥΘΥΝΣΕΙΣ 
    
    σκοπευόμενο  συνορθωμένη  τυπική 
    σημείο       διεύθυνση    απόκλιση 
    (\texteng{grad})      (\texteng{cc})  
    
    22        0.00000      6.38
    32       30.69490      6.38
    42       35.08358      6.38
    2      103.23945      6.38
\end{filecontents}

% The other file used by \attachfile
\begin{filecontents}[overwrite,noheader]{S12RES.txt}
    \texteng{another file} μεταβλητότητα
\end{filecontents}

\input{glyphtounicode}\pdfgentounicode=1

\documentclass[a4paper,oneside,fleqn]{report}

% PACKAGES
% MAIN
\usepackage[utf8]{inputenc}
\usepackage[english,greek]{babel}

% MISC.
\usepackage{attachfile2}
\usepackage{fancyvrb}

\newcommand{\texteng}[1]{\foreignlanguage{english}{#1}}

\begin{document}
    
\begin{center}
  \attachfile{S12RES.txt} {\bfseries Αποτελέσματα συνόρθωσης σταθμού 12}
\end{center}
\vspace{3mm}

\section*{\texteng{Using \textbackslash{} and \{ as special characters}}
    
\VerbatimInput[commandchars=\\\{\},baselinestretch=.9]{S12RESutf.txt}


\section*{\texteng{Using + and [ as special characters}}

\begin{Verbatim}[commandchars=+\[\]]
1.  +texteng[a-posteriori] μεταβλητότητα = 122.1875
a-posteriori τυπική απόκλιση =  11.05
βαθμοί ελευθερίας =    6
κριτήριο βελτιστοποίησης =   733.1250

2.  OI ΣΥΝΟΡΘΩΜΕΝΕΣ ΔΙΕΥΘΥΝΣΕΙΣ 

σκοπευόμενο  συνορθωμένη  τυπική 
σημείο       διεύθυνση    απόκλιση 
(+texteng[grad])      (+texteng[cc])  

22        0.00000      6.38
32       30.69490      6.38
42       35.08358      6.38
2      103.23945      6.38
\end{Verbatim}

\end{document}

在此处输入图片描述

相关内容