LaTeX 很慢。对于 4 页 pdf 文档,大约需要 2 分钟。我在 texmaker 中使用 pdflatex

LaTeX 很慢。对于 4 页 pdf 文档,大约需要 2 分钟。我在 texmaker 中使用 pdflatex

有人能帮我吗?我正在用 pdflatex 编译一份 Latex 文档。该过程正常退出。Latex 生成一份 4 页的 pdf 文档。但需要大约 2 分钟。对于 20 页的文档,程序通常会崩溃。我必须编译一份 150 页的文档。这是我的序言。请问有人能回答我吗?

\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[margin=1in]{geometry}
%\usepackage[demo]{graphicx}

\usepackage{graphicx}
\usepackage{subfig}
%\graphicspath{Bilder-Promotion}
\usepackage{fancyhdr}
\usepackage{pdfpages}
\usepackage{caption}
\usepackage{float}
\usepackage{amssymb}
\usepackage{mathdots}
\usepackage[classicReIm]{kpfonts}
\usepackage{enumitem}
%\usepackage[dvips]{graphicx} %%% use 'pdftex' instead of 'dvips' for PDF output
%\newcolumntype{P}[1]{>{\centering\arraybackslash}p{#1}}
%\addbibresource{mybib.bib}
\usepackage[english]{babel}
\usepackage{lmodern}
\usepackage{textcomp}
\pagestyle{fancy}
%\fancyhead[]
%\fancyfoot[]
\usepackage{amsmath}
%\includeonly{fundamental}
\usepackage{chemist}
%\includeonly{Intro,filename2,...}
\usepackage[colorlinks=true, breaklinks=true,citecolor=black,linkcolor=blue,
menucolor=black,urlcolor=blue]{hyperref}
%\usepackage{siunitx}
\usepackage{txfonts}
\usepackage[classicReIm]{kpfonts}
\usepackage{array,booktabs}
\usepackage{calc}
\numberwithin{table}{section}
\numberwithin{figure}{section}
\numberwithin{equation}{section}

\setlength{\parindent}{4em}
\setlength{\parskip}{1em}
\renewcommand{\baselinestretch}{1.5}
\usepackage{titling}

\makeatletter
\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
            {-2.5ex\@plus -1ex \@minus -.25ex}%
            {1.25ex \@plus .25ex}%
            {\normalfont\normalsize\bfseries}}
\makeatother
\setcounter{secnumdepth}{4} % how many sectioning levels to assign numbers to
\setcounter{tocdepth}{4}    % how many sectioning levels to show in ToC
\usepackage{glossaries}
\makeglossaries         
%%%%%%%%%%%%%%%%%%%%%%%%%%%%liste des abréviations%%%%%%%%%%%%%%               
\usepackage[english]{nomencl}
\makenomenclature
\renewcommand{\nomname}{Liste des abréviations, des sigles et des symboles}
\tracingall

答案1

摘自 TeXbook,第 121 页:

Plain TEX 提供了一个宏 '\tracingall',它可以打开所有可能的交互模式,包括 \tracingonline。作者使用这些功能检查了上述几个练习的答案。

它提供并写入大量信息,因此必定会花费大量时间。请比较使用和不使用 `\tracingall' 时 *.log 文件的大小。

答案2

一些数字可以作为不同情况下的开销的基准\tracingall。这些只是我的笔记本电脑中的数字,但相对数字(比率)可能很有意义。

用于测试的源文件是TeX 简介LaTeX2ε 的简短介绍TeX 按主题分类

  • 引擎tex,格式纯 TeX ( tex gentle.tex):

    • \tracingalltime tex '\input gentle' > out):~0.14 秒。
    • 使用\tracingall:(time tex '\tracingall \input gentle' > out):~0.75 秒。
    • 开销\tracingall:~5。
  • 引擎pdftex,格式纯 TeX ( pdftex gentle.tex):

    • \tracingalltime pdftex '\input gentle' > out):~0.36 秒
    • 使用\tracingall): ( time pdftex '\tracingall \input gentle' > out): ~1.15 秒
    • 开销\tracingall:〜3.2。
  • 引擎pdftex,格式 LaTeX ( pdflatex lshort.tex):

    • \tracingalltime pdflatex '\input lshort' > out):~4.5 秒。
    • 使用\tracingalltime pdflatex '\tracingall \input lshort' > out):~145 秒。
    • 开销\tracingall:〜32。
  • 引擎pdftex,格式 LaTeX ( pdflatex TeXbyTopic.tex):

    • \tracingalltime pdflatex '\input TeXbyTopic' > out):~1.3 秒。
    • 使用\tracingalltime pdflatex '\tracingall \input TeXbyTopic' > out):~33 秒。
    • 开销\tracingall:〜25。

总体而言,对于 LaTeX 文档,使用似乎\tracingall会导致速度减慢约 25 到 30 倍。这是因为 LaTeX 执行了更多\tracingall显示的工作(LaTeX 具有更复杂的宏等)。[请注意,在我的测试中,我\tracingall在导入任何软件包之前使用了它,这肯定会使结果与在序言最后使用它时产生偏差。]

就你的情况而言,如果我们从这个 25-30 的因素推断,那么删除它\tracingall可能会将你的“大约 2 分钟”缩短到大约 4-5 秒,适用于你的 4 页文档。我认为这仍然是方式太高了,因为整本 311 页的 TeXbyTopic 书只需要一秒多一点的时间就能排版完成。所以这可能不是速度慢的完整解释(这也是我在评论中要求提供完整的可编译示例的原因)。不过,简单地删除\tracingall可能会有很大帮助。

相关内容