inputenc 包减慢了 LaTeX 编译速度

inputenc 包减慢了 LaTeX 编译速度

在使用包时inputenc,我fontenc观察到 inputenc 包严重减慢了编译速度。情况如下。让我们有

\usepackage[cp1251]{inputenc}

\usepackage[russian]{babel}

开关[russian]{babel}允许T2A-coding使用俄语字母\"e(俄语哟)。这里的要点是T2Acp1251代码字符映射几乎(!)一致,但只有这个符号例外。

使用任何 LaTeX 命令(包括 AMS 数学命令)时,我都没有遇到任何差异。在 Windows 1251 编码中输入一些(俄语)文本后,我可以在键盘上输入此字母,并且只有在将其包含 [cp1251]{inputenc}在序言中时才能在 dvi 文件中看到它。如果没有它,我将得到一些不同的(西里尔)符号而不是\"e。这是我观察的第一部分。

第二个是,在 和\usepackage[cp1251]{inputenc}没有 的情况下,编译速度相差 3 倍(!)。因此,如果我没有明确使用 yo-keybutton,我可以在的 编码cp1251框架中很好地工作,并且每次我单击 MiKTeX 中的编译按钮时,都会立即出现 dvi-viewer。否则,即明确使用 yo-letter,我应该包含 并慢慢等待三次才能获得相同的结果。[russian]{babel}T2A[cp1251]{inputenc}

比如说,排版一些 250 页长的文本需要花费一秒钟进行 TeX 编译,这很好,但每次都要等待 3 秒钟,我认为不可以(不要问为什么)。即使文件不包含 yo 字母。请记住,pdf 编译比 dvi 编译慢大约两倍。

另一个麻烦是,所有辅助命令都 aux-files包含(在 下inputenc)诸如 etc. 之类的胡言乱语命令流\CYRYO。它们被严重忽视(+ BiBTeX 的问题),并且包含\"e(而不是明确的“yo”符号)的单词尚未被字典检查器检测到。

最后,我想将 排除[cp1251]{inputenc}在序言之外,只使用[russian]{babel}。这是真的吗?在我看来,这个问题对于专家来说很容易解决。事实上,我想在序言中加入一些更正(catcodes、@ 等?)仅针对这两个符号“yo”和“YO”。

在 Windowscp1251编码中,它们分别具有代码编号\symbol{184}\symbol{168}。同样,好处是 TeX 编译速度加快了 3 倍。我认为其他语言也存在同样的问题。

PS. 顺便说一句,如果您不使用 dvi 而是使用 pdf 编译,那么编译时间会更长。

答案1

我摘录了你问题的一段文字,并通过谷歌翻译生成了一些西里尔文文本(如果全错了,抱歉 :-),然后将其复制了 30 次,如下所示。没有 inputenc,我得到了时间

real    0m2.550s
user    0m1.981s
sys     0m0.076s

使用 inputenc 我得到时间

real    0m2.093s
user    0m1.934s
sys     0m0.109s

因此速度稍微快了一些(可能是节省了时间,没有发出未使用 inputenc 的警告)但对于这份 6 页的文档来说,速度绝对不会慢三倍。

\documentclass{article}

\usepackage[cp1251]{inputenc}
\usepackage[T2A]{fontenc}
\usepackage[russian]{babel}


\begin{document}


Второй является то, что скорость компиляции под \ usepackage [cp1251]
{inputenc} и без него различаются в 3 раза (!). Так что, если я не
использую явно йо-keybutton я мог работать хорошо без cp1251 в рамках
[русский] {Babel} 'ы кодирования T2A и получить, каждый раз, когда я
нажимаю на кнопку компиляции в моей MiKTeX, мгновенного появления
DVI-зритель. В противном случае, то есть с явным использованием
йо-письма, я должен включить [cp1251] {inputenc} и ждать три раза
медленно, чтобы получить тот же результат.

Второй является то, что скорость компиляции под \ usepackage [cp1251]
{inputenc} и без него различаются в 3 раза (!). Так что, если я не
использую явно йо-keybutton я мог работать хорошо без cp1251 в рамках
[русский] {Babel} 'ы кодирования T2A и получить, каждый раз, когда я
нажимаю на кнопку компиляции в моей MiKTeX, мгновенного появления
DVI-зритель. В противном случае, то есть с явным использованием
йо-письма, я должен включить [cp1251] {inputenc} и ждать три раза
медленно, чтобы получить тот же результат.

Второй является то, что скорость компиляции под \ usepackage [cp1251]
{inputenc} и без него различаются в 3 раза (!). Так что, если я не
использую явно йо-keybutton я мог работать хорошо без cp1251 в рамках
[русский] {Babel} 'ы кодирования T2A и получить, каждый раз, когда я
нажимаю на кнопку компиляции в моей MiKTeX, мгновенного появления
DVI-зритель. В противном случае, то есть с явным использованием
йо-письма, я должен включить [cp1251] {inputenc} и ждать три раза
медленно, чтобы получить тот же результат.

Второй является то, что скорость компиляции под \ usepackage [cp1251]
{inputenc} и без него различаются в 3 раза (!). Так что, если я не
использую явно йо-keybutton я мог работать хорошо без cp1251 в рамках
[русский] {Babel} 'ы кодирования T2A и получить, каждый раз, когда я
нажимаю на кнопку компиляции в моей MiKTeX, мгновенного появления
DVI-зритель. В противном случае, то есть с явным использованием
йо-письма, я должен включить [cp1251] {inputenc} и ждать три раза
медленно, чтобы получить тот же результат.

Второй является то, что скорость компиляции под \ usepackage [cp1251]
{inputenc} и без него различаются в 3 раза (!). Так что, если я не
использую явно йо-keybutton я мог работать хорошо без cp1251 в рамках
[русский] {Babel} 'ы кодирования T2A и получить, каждый раз, когда я
нажимаю на кнопку компиляции в моей MiKTeX, мгновенного появления
DVI-зритель. В противном случае, то есть с явным использованием
йо-письма, я должен включить [cp1251] {inputenc} и ждать три раза
медленно, чтобы получить тот же результат.

Второй является то, что скорость компиляции под \ usepackage [cp1251]
{inputenc} и без него различаются в 3 раза (!). Так что, если я не
использую явно йо-keybutton я мог работать хорошо без cp1251 в рамках
[русский] {Babel} 'ы кодирования T2A и получить, каждый раз, когда я
нажимаю на кнопку компиляции в моей MiKTeX, мгновенного появления
DVI-зритель. В противном случае, то есть с явным использованием
йо-письма, я должен включить [cp1251] {inputenc} и ждать три раза
медленно, чтобы получить тот же результат.

Второй является то, что скорость компиляции под \ usepackage [cp1251]
{inputenc} и без него различаются в 3 раза (!). Так что, если я не
использую явно йо-keybutton я мог работать хорошо без cp1251 в рамках
[русский] {Babel} 'ы кодирования T2A и получить, каждый раз, когда я
нажимаю на кнопку компиляции в моей MiKTeX, мгновенного появления
DVI-зритель. В противном случае, то есть с явным использованием
йо-письма, я должен включить [cp1251] {inputenc} и ждать три раза
медленно, чтобы получить тот же результат.

Второй является то, что скорость компиляции под \ usepackage [cp1251]
{inputenc} и без него различаются в 3 раза (!). Так что, если я не
использую явно йо-keybutton я мог работать хорошо без cp1251 в рамках
[русский] {Babel} 'ы кодирования T2A и получить, каждый раз, когда я
нажимаю на кнопку компиляции в моей MiKTeX, мгновенного появления
DVI-зритель. В противном случае, то есть с явным использованием
йо-письма, я должен включить [cp1251] {inputenc} и ждать три раза
медленно, чтобы получить тот же результат.

Второй является то, что скорость компиляции под \ usepackage [cp1251]
{inputenc} и без него различаются в 3 раза (!). Так что, если я не
использую явно йо-keybutton я мог работать хорошо без cp1251 в рамках
[русский] {Babel} 'ы кодирования T2A и получить, каждый раз, когда я
нажимаю на кнопку компиляции в моей MiKTeX, мгновенного появления
DVI-зритель. В противном случае, то есть с явным использованием
йо-письма, я должен включить [cp1251] {inputenc} и ждать три раза
медленно, чтобы получить тот же результат.

Второй является то, что скорость компиляции под \ usepackage [cp1251]
{inputenc} и без него различаются в 3 раза (!). Так что, если я не
использую явно йо-keybutton я мог работать хорошо без cp1251 в рамках
[русский] {Babel} 'ы кодирования T2A и получить, каждый раз, когда я
нажимаю на кнопку компиляции в моей MiKTeX, мгновенного появления
DVI-зритель. В противном случае, то есть с явным использованием
йо-письма, я должен включить [cp1251] {inputenc} и ждать три раза
медленно, чтобы получить тот же результат.

Второй является то, что скорость компиляции под \ usepackage [cp1251]
{inputenc} и без него различаются в 3 раза (!). Так что, если я не
использую явно йо-keybutton я мог работать хорошо без cp1251 в рамках
[русский] {Babel} 'ы кодирования T2A и получить, каждый раз, когда я
нажимаю на кнопку компиляции в моей MiKTeX, мгновенного появления
DVI-зритель. В противном случае, то есть с явным использованием
йо-письма, я должен включить [cp1251] {inputenc} и ждать три раза
медленно, чтобы получить тот же результат.

Второй является то, что скорость компиляции под \ usepackage [cp1251]
{inputenc} и без него различаются в 3 раза (!). Так что, если я не
использую явно йо-keybutton я мог работать хорошо без cp1251 в рамках
[русский] {Babel} 'ы кодирования T2A и получить, каждый раз, когда я
нажимаю на кнопку компиляции в моей MiKTeX, мгновенного появления
DVI-зритель. В противном случае, то есть с явным использованием
йо-письма, я должен включить [cp1251] {inputenc} и ждать три раза
медленно, чтобы получить тот же результат.

Второй является то, что скорость компиляции под \ usepackage [cp1251]
{inputenc} и без него различаются в 3 раза (!). Так что, если я не
использую явно йо-keybutton я мог работать хорошо без cp1251 в рамках
[русский] {Babel} 'ы кодирования T2A и получить, каждый раз, когда я
нажимаю на кнопку компиляции в моей MiKTeX, мгновенного появления
DVI-зритель. В противном случае, то есть с явным использованием
йо-письма, я должен включить [cp1251] {inputenc} и ждать три раза
медленно, чтобы получить тот же результат.

Второй является то, что скорость компиляции под \ usepackage [cp1251]
{inputenc} и без него различаются в 3 раза (!). Так что, если я не
использую явно йо-keybutton я мог работать хорошо без cp1251 в рамках
[русский] {Babel} 'ы кодирования T2A и получить, каждый раз, когда я
нажимаю на кнопку компиляции в моей MiKTeX, мгновенного появления
DVI-зритель. В противном случае, то есть с явным использованием
йо-письма, я должен включить [cp1251] {inputenc} и ждать три раза
медленно, чтобы получить тот же результат.

Второй является то, что скорость компиляции под \ usepackage [cp1251]
{inputenc} и без него различаются в 3 раза (!). Так что, если я не
использую явно йо-keybutton я мог работать хорошо без cp1251 в рамках
[русский] {Babel} 'ы кодирования T2A и получить, каждый раз, когда я
нажимаю на кнопку компиляции в моей MiKTeX, мгновенного появления
DVI-зритель. В противном случае, то есть с явным использованием
йо-письма, я должен включить [cp1251] {inputenc} и ждать три раза
медленно, чтобы получить тот же результат.

Второй является то, что скорость компиляции под \ usepackage [cp1251]
{inputenc} и без него различаются в 3 раза (!). Так что, если я не
использую явно йо-keybutton я мог работать хорошо без cp1251 в рамках
[русский] {Babel} 'ы кодирования T2A и получить, каждый раз, когда я
нажимаю на кнопку компиляции в моей MiKTeX, мгновенного появления
DVI-зритель. В противном случае, то есть с явным использованием
йо-письма, я должен включить [cp1251] {inputenc} и ждать три раза
медленно, чтобы получить тот же результат.

Второй является то, что скорость компиляции под \ usepackage [cp1251]
{inputenc} и без него различаются в 3 раза (!). Так что, если я не
использую явно йо-keybutton я мог работать хорошо без cp1251 в рамках
[русский] {Babel} 'ы кодирования T2A и получить, каждый раз, когда я
нажимаю на кнопку компиляции в моей MiKTeX, мгновенного появления
DVI-зритель. В противном случае, то есть с явным использованием
йо-письма, я должен включить [cp1251] {inputenc} и ждать три раза
медленно, чтобы получить тот же результат.

Второй является то, что скорость компиляции под \ usepackage [cp1251]
{inputenc} и без него различаются в 3 раза (!). Так что, если я не
использую явно йо-keybutton я мог работать хорошо без cp1251 в рамках
[русский] {Babel} 'ы кодирования T2A и получить, каждый раз, когда я
нажимаю на кнопку компиляции в моей MiKTeX, мгновенного появления
DVI-зритель. В противном случае, то есть с явным использованием
йо-письма, я должен включить [cp1251] {inputenc} и ждать три раза
медленно, чтобы получить тот же результат.

Второй является то, что скорость компиляции под \ usepackage [cp1251]
{inputenc} и без него различаются в 3 раза (!). Так что, если я не
использую явно йо-keybutton я мог работать хорошо без cp1251 в рамках
[русский] {Babel} 'ы кодирования T2A и получить, каждый раз, когда я
нажимаю на кнопку компиляции в моей MiKTeX, мгновенного появления
DVI-зритель. В противном случае, то есть с явным использованием
йо-письма, я должен включить [cp1251] {inputenc} и ждать три раза
медленно, чтобы получить тот же результат.

Второй является то, что скорость компиляции под \ usepackage [cp1251]
{inputenc} и без него различаются в 3 раза (!). Так что, если я не
использую явно йо-keybutton я мог работать хорошо без cp1251 в рамках
[русский] {Babel} 'ы кодирования T2A и получить, каждый раз, когда я
нажимаю на кнопку компиляции в моей MiKTeX, мгновенного появления
DVI-зритель. В противном случае, то есть с явным использованием
йо-письма, я должен включить [cp1251] {inputenc} и ждать три раза
медленно, чтобы получить тот же результат.

Второй является то, что скорость компиляции под \ usepackage [cp1251]
{inputenc} и без него различаются в 3 раза (!). Так что, если я не
использую явно йо-keybutton я мог работать хорошо без cp1251 в рамках
[русский] {Babel} 'ы кодирования T2A и получить, каждый раз, когда я
нажимаю на кнопку компиляции в моей MiKTeX, мгновенного появления
DVI-зритель. В противном случае, то есть с явным использованием
йо-письма, я должен включить [cp1251] {inputenc} и ждать три раза
медленно, чтобы получить тот же результат.

Второй является то, что скорость компиляции под \ usepackage [cp1251]
{inputenc} и без него различаются в 3 раза (!). Так что, если я не
использую явно йо-keybutton я мог работать хорошо без cp1251 в рамках
[русский] {Babel} 'ы кодирования T2A и получить, каждый раз, когда я
нажимаю на кнопку компиляции в моей MiKTeX, мгновенного появления
DVI-зритель. В противном случае, то есть с явным использованием
йо-письма, я должен включить [cp1251] {inputenc} и ждать три раза
медленно, чтобы получить тот же результат.

Второй является то, что скорость компиляции под \ usepackage [cp1251]
{inputenc} и без него различаются в 3 раза (!). Так что, если я не
использую явно йо-keybutton я мог работать хорошо без cp1251 в рамках
[русский] {Babel} 'ы кодирования T2A и получить, каждый раз, когда я
нажимаю на кнопку компиляции в моей MiKTeX, мгновенного появления
DVI-зритель. В противном случае, то есть с явным использованием
йо-письма, я должен включить [cp1251] {inputenc} и ждать три раза
медленно, чтобы получить тот же результат.

Второй является то, что скорость компиляции под \ usepackage [cp1251]
{inputenc} и без него различаются в 3 раза (!). Так что, если я не
использую явно йо-keybutton я мог работать хорошо без cp1251 в рамках
[русский] {Babel} 'ы кодирования T2A и получить, каждый раз, когда я
нажимаю на кнопку компиляции в моей MiKTeX, мгновенного появления
DVI-зритель. В противном случае, то есть с явным использованием
йо-письма, я должен включить [cp1251] {inputenc} и ждать три раза
медленно, чтобы получить тот же результат.

Второй является то, что скорость компиляции под \ usepackage [cp1251]
{inputenc} и без него различаются в 3 раза (!). Так что, если я не
использую явно йо-keybutton я мог работать хорошо без cp1251 в рамках
[русский] {Babel} 'ы кодирования T2A и получить, каждый раз, когда я
нажимаю на кнопку компиляции в моей MiKTeX, мгновенного появления
DVI-зритель. В противном случае, то есть с явным использованием
йо-письма, я должен включить [cp1251] {inputenc} и ждать три раза
медленно, чтобы получить тот же результат.

Второй является то, что скорость компиляции под \ usepackage [cp1251]
{inputenc} и без него различаются в 3 раза (!). Так что, если я не
использую явно йо-keybutton я мог работать хорошо без cp1251 в рамках
[русский] {Babel} 'ы кодирования T2A и получить, каждый раз, когда я
нажимаю на кнопку компиляции в моей MiKTeX, мгновенного появления
DVI-зритель. В противном случае, то есть с явным использованием
йо-письма, я должен включить [cp1251] {inputenc} и ждать три раза
медленно, чтобы получить тот же результат.

Второй является то, что скорость компиляции под \ usepackage [cp1251]
{inputenc} и без него различаются в 3 раза (!). Так что, если я не
использую явно йо-keybutton я мог работать хорошо без cp1251 в рамках
[русский] {Babel} 'ы кодирования T2A и получить, каждый раз, когда я
нажимаю на кнопку компиляции в моей MiKTeX, мгновенного появления
DVI-зритель. В противном случае, то есть с явным использованием
йо-письма, я должен включить [cp1251] {inputenc} и ждать три раза
медленно, чтобы получить тот же результат.

Второй является то, что скорость компиляции под \ usepackage [cp1251]
{inputenc} и без него различаются в 3 раза (!). Так что, если я не
использую явно йо-keybutton я мог работать хорошо без cp1251 в рамках
[русский] {Babel} 'ы кодирования T2A и получить, каждый раз, когда я
нажимаю на кнопку компиляции в моей MiKTeX, мгновенного появления
DVI-зритель. В противном случае, то есть с явным использованием
йо-письма, я должен включить [cp1251] {inputenc} и ждать три раза
медленно, чтобы получить тот же результат.

Второй является то, что скорость компиляции под \ usepackage [cp1251]
{inputenc} и без него различаются в 3 раза (!). Так что, если я не
использую явно йо-keybutton я мог работать хорошо без cp1251 в рамках
[русский] {Babel} 'ы кодирования T2A и получить, каждый раз, когда я
нажимаю на кнопку компиляции в моей MiKTeX, мгновенного появления
DVI-зритель. В противном случае, то есть с явным использованием
йо-письма, я должен включить [cp1251] {inputenc} и ждать три раза
медленно, чтобы получить тот же результат.

Второй является то, что скорость компиляции под \ usepackage [cp1251]
{inputenc} и без него различаются в 3 раза (!). Так что, если я не
использую явно йо-keybutton я мог работать хорошо без cp1251 в рамках
[русский] {Babel} 'ы кодирования T2A и получить, каждый раз, когда я
нажимаю на кнопку компиляции в моей MiKTeX, мгновенного появления
DVI-зритель. В противном случае, то есть с явным использованием
йо-письма, я должен включить [cp1251] {inputenc} и ждать три раза
медленно, чтобы получить тот же результат.

Второй является то, что скорость компиляции под \ usepackage [cp1251]
{inputenc} и без него различаются в 3 раза (!). Так что, если я не
использую явно йо-keybutton я мог работать хорошо без cp1251 в рамках
[русский] {Babel} 'ы кодирования T2A и получить, каждый раз, когда я
нажимаю на кнопку компиляции в моей MiKTeX, мгновенного появления
DVI-зритель. В противном случае, то есть с явным использованием
йо-письма, я должен включить [cp1251] {inputenc} и ждать три раза
медленно, чтобы получить тот же результат.

\end{document}

相关内容