용어집과 mylatexformat이 호환되지 않나요?

용어집과 mylatexformat이 호환되지 않나요?

mylatexformat을 사용하여 많은 패키지가 포함된 큰 서문의 속도를 높이려고 합니다. 그리고 오류가 많이 있는데, 그 중 대부분은 용어집 패키지에서 발생합니다.

내 MWE:

\documentclass[11pt,onecolumn,twoside,draft,titlepage,fleqn,a4paper,openright]{book} 
\usepackage{titlesec}
\usepackage{longtable}
\usepackage{makeidx}
\usepackage[nonumberlist, acronym, toc, section, shortcuts, nopostdot, nogroupskip]{glossaries}
\renewcommand*{\arraystretch}{1.3}  % sets the line indent in glossaries
\setlength{\glsdescwidth}{12.5cm}   
\setlength\LTleft{0pt}
\endofdump

\newglossary[slg]{symbols}{syi}{syg}{Nomenclature}
\newglossary[ilg]{indices}{iyi}{iyg}{List of indices}
\makeglossaries

\newacronym{ECD}{ECD}{equivalent circuit diagram}
\newacronym{RES}{RES}{renewable energy source}
\newglossaryentry{Rx1}
{
  name={\ensuremath{R_{x1}}},
  description={Equivalent series resistance},
  sort=Rx1, type=symbols
}
\newglossaryentry{ref}
{
  name={*},
  description={Indicates reference value},
  sort=ref, type=indices
}

\begin{document}
\glsaddall                                
\printglossary[type=\acronymtype, style=long, title=List of Abbreviations and Acronyms]
\printglossary[type=symbols, style=long, title=Nomenclature]
\printglossary[type=indices, style=long, title=List of indices]

\section*{Sample}
\begin{longtable}{ll}
Some & Text
\end{longtable}
\gls{ref}, \gls{ECD}, \gls{Rx1}
\end{document}

\endofdump 명령은 Latex의 "일반적인" 사용을 금지하므로 일반적인 실행에서는 주석 처리해야 합니다. 그러나 터미널에서 시작해야 하는 mylatexformat(*.tex 파일과 동일한 폴더에서 열림)에 필요합니다. makeformat 매뉴얼에 제시된 명령을 터미널에 입력했습니다.

etex -initialize -save-size=20000 -stack-size=20000 -jobname="mlt" "&pdflatex" mylatexformat.ltx """mlt.tex"""

여기서 mlt.tex는 *.tex 파일의 이름이자 *.fmt 파일로 추정되는 이름이기도 합니다(-jobname="mlt"). *.fmt 파일 mlt.fmt가 있지만 이를 포함하려고 시도했지만(mlt.tex의 첫 번째 줄에 %&mlt를 사용하여) 결과가 없습니다(그리고 오류도 너무 많습니다).

또한 용어집 없이 샘플 예제를 시도했는데(즉, 다른 많은 패키지가 포함되었지만 이 패키지는 포함되지 않음) 성공했습니다.

답변1

좀 더 보기 좋게 표시하는 방법을 알려주세요.

나는 빠르고 효율적인 콤보도 좋아합니다. mylatexformat을 사용한 콤보는 까다롭지만 그럼에도 불구하고 놀랍습니다. 패키지 문서는 mylatex의 끔찍한 복사본처럼 보이며 업데이트가 필요합니다.

makeglossaries 명령을 사용하여 용어집 패키지가 동적 빌드로 표시됩니다. 그래서 나는 다음 지침을 따릅니다. http://www.howtotex.com/tips-tricks/faster-latex-part-iv-use-a-precompiled-preamble/ 그들은 minitoc과 같은 패키지를 명령 뒤에 위치하도록 권장합니다.\endofdump. 나에게는 작업을 두 개의 개별 파일로 분할하는 것이 더 쉬울 것입니다. 나는 줄의 주석 처리를 해제하거나 동일한 파일을 다르게 컴파일하는 아이디어를 좋아하지 않습니다. 첫 번째 파일은 commnad를 사용하여 사전 컴파일해야 합니다.

pdftex -ini -jobname="fastformat" "&pdflatex" mylatexformat.ltx """example with a space.tex"""

이 이름에는 3개의 따옴표가 있습니다.경우에만문서에 공백이 있습니다. (그러나 OS 시스템에서는 작동하는 경우도 있음) example1.tex 파일에는 다음이 포함됩니다.

\documentclass{article}
% Add here more pacakges
\usepackage{hyperref}
% add here those packages after hyperref

% 'saves' everything above into one precompiled preamble
\endofdump
%% or
%\csname endofdump\endcsname

% No glossaries needed here. You could though. They shouldn't be read

\begin{document}
\noindent
Hola.
This shouldn't be read either on the precompilation
It does work if you comment the endofdump command 
and compile normally with pdflatex
Done
\end{document}

이제 정보를 컴파일하는 두 번째 파일에는 A 이후의 용어집 콤보가 있습니다.\endofdump. 두 번째 파일은 일반적인 명령으로만 컴파일해야 하며 pdflatex와 같이 용어집이 작동하도록 makeglossaries를 사용해 볼 수도 있습니다. [makeindex나 xindy를 사용해본 적이 없습니다.]

%&fastformat
% the name above should match the name on the precompilation.

\endofdump
%add packages taht have problem with mylatexformat
%\usepackage{minitoc}

\usepackage[acronym]{glossaries}
\makeglossaries
\input{dictionary} % dictionary.tex is the file with glossary and acronyms

\begin{document}
\noindent
First use \gls{api}\    subsequent \gls{api}
\newpage


\printglossary[type=\acronymtype]
%%% \newpage just to demonstrate that links are correct
\newpage
\printglossary[type=main]

\end{document}

tex.stackexchange 어딘가에서 찾은 용어집 파일의 마지막 예입니다.

나는 하이퍼참조를 사용하기 때문에 모든 용어집 호출에는 하이퍼링크가 있어야 합니다. 하이퍼참조를 제거할 수 있지만 전체 문서의 다른 모든 하이퍼링크가 손실될 수 있습니다.

한 번 실행하고 두 번 컴파일하고 세 번 재부팅합니다. 완료

관련 정보