我正在使用svg
包将旗帜表情符号作为 .svg 文件包含到我的文本中\includesvg{}
。但是,由于我需要渲染许多相同的旗帜,并且每个旗帜都需要花费大量时间,因此它会达到 Overleaf 编译时间限制。有没有办法优化相同 .svg 文件的重复渲染,以便它不会超时?不幸的是,我无法使用,因为\emoji
我正在使用的类文件需要 pdflatex 作为编译器。
\documentclass{article}
% SVG figures
\usepackage{svg}
\def\sweflag{\includesvg[width=1.5em]{flags/se}}
\begin{document}
Sweden is great! \sweflag\sweflag\sweflag\sweflag\sweflag\sweflag\sweflag\sweflag\sweflag
\end{document}
答案1
Pkgxsavebox
可能会有帮助:
time pdflatex --shell-escape swedenXsbox.tex
...
real 0m0.551s
user 0m0.510s
sys 0m0.039s
swedenXsbox.tex
:
\documentclass{article}
\usepackage{pgffor}
% SVG figures
\usepackage{svg}
\usepackage{xsavebox}
\xsbox{sweflag}{\includesvg[width=1.5em]{flags/se}}
\begin{document}
Sweden is great!
\foreach \i in {1,...,600} {\thesweflag\space}
\end{document}
然而
time pdflatex --shell-escape swedenDef.tex
...
real 0m2.733s
user 0m2.598s
sys 0m0.119s
swedenDef.tex
:
\documentclass{article}
\usepackage{pgffor}
% SVG figures
\usepackage{svg}
\def\sweflag{\includesvg[width=1.5em]{flags/se}}
\begin{document}
Sweden is great!
\foreach \i in {1,...,600} {\sweflag\space}
\end{document}