序言中有用和不必要的包

序言中有用和不必要的包

每当我在 XeLaTeX 中发现新东西时,我总是在序言中添加新包。结果,它变得非常沉重和缓慢。我的序言中是否有不必要的包,因为它们被其他人覆盖了?(为了立即删除它们而不丢失任何东西)

\documentclass[a4paper,10pt]{article}
\usepackage{xltxtra}
\usepackage{xgreek}
\usepackage{mathtools}
\usepackage{amscd}
\usepackage{amsthm}
\usepackage[mathup=sym]{unicode-math}
\usepackage{tikz}
\usepackage{makeidx}
\usepackage{graphicx}
\usepackage{pgf,tikz}
\usepackage{tkz-tab}
\usetikzlibrary{shapes,arrows,backgrounds}
\usetikzlibrary{scopes,svg.path,shapes.geometric,shadows}
\usepackage[left=1.5cm,right=1.5cm,top=2cm,bottom=1.5cm]{geometry}
\usepackage{kmath,kerkis}
\usepackage{xcolor, colortbl}
\usepackage{fancyhdr}
\usepackage{tcolorbox}
\usepackage{cancel}
\usepackage{shadowtext}
\usepackage{hyperref}
\hypersetup{%
    pdfborder = {0 0 0}
}
\usepackage{multicol}
\setmainfont[Mapping=tex-text]{Kerkis}
\setmathfont[Scale=MatchUppercase]{STIX Two Math}
\tcbuselibrary{listings,theorems,skins,raster,xparse,breakable}
\begin{document}

\end{document}

答案1

每当我在 XeLaTeX 中发现新东西时,我总是在序言中添加新的包。

这是一个糟糕的政策,尽管你的序言并不像我们在这里看到的那些有数百个未使用的包裹的序言那么糟糕。

从空的序言开始,只需根据需要添加包。


\usepackage{xltxtra}

最好使用当前的 xelatex 来避免这种情况,您可以用fontspec除了您已经在使用的unicode-math加载之外的替换fontspec,因此只需删除即可。


\usepackage{xgreek}

好的,假设你使用希腊语(你没有说)


\usepackage{amscd}
\usepackage{amsthm}
\usepackage[mathup=sym]{unicode-math}

好吧,假设你有数学和交换图,虽然当你使用 tikz 时你可以考虑使用tikz-cd而不是amscd


\usepackage{tikz}

没问题,只要你使用 tikz 即可。加载它会加载数十个文件,这可能是导致序言速度变慢的主要原因,因此如果你没有任何文件,请不要加载它tikzpicture


\usepackage{makeidx}
\usepackage{graphicx}

好的,假设您有一个字母索引和图像。


\usepackage{pgf,tikz}

删除这个,tikz load pgf,你已经在两行之前加载了tikz


\usepackage{tkz-tab}

tikz 的一个扩展,如果你正在使用它,请再次加载它,如果你没有使用它,请不要加载


\usetikzlibrary{shapes,arrows,backgrounds}
\usetikzlibrary{scopes,svg.path,shapes.geometric,shadows}

如果你正在使用这些 tikz 库,OK


\usepackage[left=1.5cm,right=1.5cm,top=2cm,bottom=1.5cm]{geometry}

好的


 \usepackage{kmath,kerkis}

删除它,这是设置传统的 8 位字体编码,但您正在使用 Unicode。


\usepackage{fancyhdr}
\usepackage{tcolorbox}
\usepackage{cancel}
\usepackage{shadowtext}
\usepackage{hyperref}
\hypersetup{%
    pdfborder = {0 0 0}
}
\usepackage{multicol}

如果您正在使用这些功能,则一切正常。如果您不使用它们,请不要加载。


\setmainfont[Mapping=tex-text]{Kerkis}
\setmathfont[Scale=MatchUppercase]{STIX Two Math}

好的,尽管您可以删除[Mapping=tex-text]它,但它什么也不做,因为这是默认选项。


\tcbuselibrary{listings,theorems,skins,raster,xparse,breakable}

好的,如果您使用这些功能tcolorbox


答案2

不必要的包取决于您的需求和用途,所以我们无法告诉您要删除什么:我可能会删除一些我不需要的包,但这反映的是我的使用情况而不是您的使用情况。

我总是在序言中添加新的包。

添加新包时,首先添加注释,指出其主要目的和具体用途。例如

\usepackage{graphicx} % images inclusion

其次,保留所有这些注释行...

%\usepackage{tikz} % draw/plot figures
%\usepackage{makeidx} % build glossary
%\usepackage{graphicx} % include images

...并仅取消注释您的文档真正需要的那些。在这些情况下,我还在以下注释中加入了让我使用它的命令。

相关内容