适用于每个编辑器/TeX 前端程序的可用 XeLaTeX 文件

适用于每个编辑器/TeX 前端程序的可用 XeLaTeX 文件

问题:

有时我们必须在 Linux 上准备一个 LaTeX 项目,然后将其交给另一个人在 Windows 或 Mac 上运行。我们并不知道其他人会使用什么 TeX 前端程序,而且我们并不关心是否使用 pdflatex 编译标准 LaTeX 代码。

但在 XeLaTeX 的情况下,情况有所不同。在这种情况下,如果我们使用 TeXshop、TeXworks 或 TeXStudio,我们必须在 XeLaTeX 代码开头添加一些注释,其他编辑器(或 TeX 前端程序)如 kile 或 emacs 会忽略这些注释,将其视为真正的注释……但 TeXStudio 不仅会使用这些注释作为命令,以识别它必须使用的引擎是 XeTeX 而不是 pdflatex。

问题:

1)我真的不知道我在“问题”部分所说的有多准确......所以我想要一个可以纠正我在这个问题上可能犯的错误(我对 texlive 以外版本的经验有限,我甚至不知道我们所说的前端程序或 TeX 引擎或......)

2) 在我们的 XeLaTeX 文件的第一行添加以下“魔法行”,我们的代码将被每个能够运行 XeLaTeX 的编辑器/前端程序识别。

% !TEX TS-program = XeLaTeX
% !TeX program = xelatex

这句话正确吗?我们必须遵循这个特定的顺序吗?

3) 据我所知,XeLaTeX 需要 utf8 文件。因此,在运行 XeLaTeX 之前,我们必须以 utf8 格式保存文件。除了 utf8-save 和上面两行之外,我们还需要注意其他事情,以确保我们的代码在我们的机器上运行时也能在其他机器上运行?(例如,正如@DavidCarlisle 提到的,我们在代码中选择的字体也必须安装在其他人的系统上……)

MWE(含希腊语):

% !TEX TS-program = XeLaTeX
% !TeX program = xelatex
\documentclass[a4paper,10pt]{article}

\usepackage{polyglossia}
\setmainlanguage{greek}
\setotherlanguage{english}
\setmainfont[Mapping=tex-text]{Linux Libertine O}
% \setsansfont[Mapping=tex-text]{DejaVu Sans}
% \setmonofont[Mapping=tex-text]{DejaVu Sans Mono}

\newfontfamily\greekfont{Linux Libertine O}
\title{Τίτλος Άρθρου}
\author{Όνομα Επώνυμο}
\date{}


\begin{document}
\maketitle

\section{Ενότητα με μαθηματικά}


\begin{english}
Text here more than a line that I hope it will be hyphenated 
if I add a BigEnglishWord
\end{english}

Ελληνικά που θα χρησιμοποιηθούν σαν βασικό κείμενο και θα έχουν τη 
δυνατότητα να κόβονται οι λέξεις

\end{document}

更多的

真正的问题(因为以上似乎不止一个)是:

我需要注意什么才能确保我的 XeLaTeX 代码可以在每个可以运行 XeLaTeX 的系统上运行?(我不关心诸如缺少字体或软件包版本过时等问题...或过时的 XeLaTeX 版本等...这也可能发生在 pdflatex 上。答案特定于 XeLaTeX 和避免在其他机器上编译失败的最佳实践)

附言:抱歉,但这个问题可能是由一个对他的编辑器背后发生的事情知之甚少的人(我)提出的......

答案1

对于可以独立于将要使用的编辑器/前端程序运行的 XeLaTeX 文件,答案是将下面给出的“评论引擎命令”放在文件的前两行中:

% !TEX TS-program = XeLaTeX
% !TeX program = xelatex

这样,将要使用的引擎就会被我们的编辑器/前端程序自动识别,如果不需要的话,就会被忽略(作为注释)。

通过评论可以清楚地了解的另一件事是,我们使用的编辑器必须以 utf8 格式保存文件。

最后,xltxtra许多编辑器默认加载的作为 XeLaTeX 文件的 MWE 的包是一个过时的包,必须避免使用。

特别感谢@UlrikeFische 和@samcarter 对代码的测试。

还要感谢 @egreg 提供有关 LaTeX 编辑器/前端的信息,这些是造成差异的原因,而不是操作系统。(请参阅下面他的评论)。

想要的结果是可以在安装 XeLaTeX 的任何地方编译文件,而不必担心将使用特定的编辑器/前端程序。

我选择了自己的答案,因为没有其他更有经验的成员提供的答案可供选择。如果有其他人的答案能够显示对这个主题的更多了解,我会选择接受该答案。

相关内容