
arXiv가 내 문서를 충분한 횟수만큼 컴파일하지 않는 것 같습니다(어떤 지점에서는 최대 시도 횟수에 도달했다는 메시지가 표시되면서 중지됩니다). 결과적으로 내 문서의 일부 부분이 보기에 좋지 않습니다(반면에 latexmk를 사용하여 컴파일하면 예상대로 작동합니다).
파일을 추가하려고 했는데 main.aux
arXiv가 자동으로 파일을 제거합니다. 또한 main_backup.aux
복사본(이 파일은 제거되지 않음)이 포함된 파일을 생성하려고 시도했으며 main.aux
대신 바로 앞에 다음을 추가했습니다 \begin{document}
.
\IfFileExists{main_backup.aux}{
\message{We saw a default backup.aux file, let's use it instead of the main aux file.}
\nofiles % Disable default aux file
\makeatletter
\input{main_backup.aux}
\makeatother
}{}
그러나 여기에는 두 가지 문제가 있습니다.
- 로컬에서는 오류 없이 컴파일되고 내 문서가 더 좋아 보입니다… 지금 비어 있는 목차를 제외하면!
- arxiv에서는 aux 파일을 로드한 직후 오류와 함께 실패합니다.
We saw a default backup.aux file, let's use it instead of the main aux file.
No auxiliary output files.
(./main_backup.aux
! LaTeX Error: Missing \begin{document}.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.23 \abx@aux@cite{0}{K
il88_FoundingCrytpographyOblivious}
?
! Emergency stop.
...
l.23 \abx@aux@cite{0}{K
il88_FoundingCrytpographyOblivious}
No pages of output.
Transcript written on main.log.
[verbose]: latex 'main.tex' failed.
[verbose]: TEXMFCNF is unset.
이 오류는 내 aux 파일의 다음 줄에 도착하는 것 같습니다.
\@writefile{toc}{\authcount {1}}
\abx@aux@cite{0}{Kil88_FoundingCrytpographyOblivious}
목차가 다시 언급되어 있습니다. 따라서 두 가지 문제가 모두 관련되어 있을 수 있습니다.
편집하다 나는 또한 다음을 시도했습니다.
\IfFileExists{main_backup.aux}{
\message{We saw a default backup.aux file, let's use it instead of the main aux file.}
\makeatletter
\usepackage{etoolbox}
%% Try to patch the command given in
%% https://tex.stackexchange.com/questions/285798/how-and-when-is-the-aux-file-read-and-processed
% \regexpatchcmd{\enddocument}{\@@input\jobname.aux}{\@@input{main_backup.aux}}
\patchcmd{\enddocument}{\@@input\jobname.aux}{\@@input{main_backup.aux}}{}{}
%\input{main_backup.aux}
\makeatother
}{}
하지만 패치가 작동하지 않는 것 같습니다.
편집하다
나는 또한 다음을 시도했습니다.
%%%% Really dirty trick because arxiv does not compile enough the document, so we need our own aux file:
\IfFileExists{main_backup.aux}{
\IfFileExists{main.aux}{}{
\message{We saw a default backup.aux file, let's use it instead of the main aux file.}
\makeatletter
\input{main_backup.aux}
\makeatother
}
}{}
\begin{document}
...
이 작업은 실제로 로컬에서는 작동하지만 arxiv 서버에서는 작동하지 않습니다. 이 짜증나는 동일한 오류로 인해 다시 실패합니다…
답변1
당신은
\documentclass{article}
\usepackage{biblatex}
\makeatletter
\@writefile{toc}{\authcount {1}}
\abx@aux@cite{0}{Kil88_FoundingCrytpographyOblivious}
\begin{document}
x
\end{document}
texlive 2022 및 2023에서는 오류 없이 실행되지만 2020에서는 다음을 제공합니다.
! LaTeX Error: Missing \begin{document}.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.5 \abx@aux@cite{0}{K
il88_FoundingCrytpographyOblivious}
?
il88
은 들여쓰기되어 있기 때문에 이는 표시한 형식이 아니지만 K
발생한 오류인 것 같습니다. (나는 당신이 보여준 오류를 얻을 방법을 생각할 수 없었습니다.)
이전 버전에는 \abx@aux@cite
인수가 하나뿐이므로 저장된 파일을 편집하여 첫 번째 숫자 인수를 삭제할 수 있는 것처럼 보입니다. 첫 번째 실행에 충분히 가까워야 하며 두 번째 실행에서는 실제 2020 Aux를 선택합니다.
\documentclass{article}
\usepackage{biblatex}
\makeatletter
\@writefile{toc}{\authcount {1}}
\abx@aux@cite{Kil88_FoundingCrytpographyOblivious}
\begin{document}
x
\end{document}
2020년에도 오류 없이 실행됩니다. 2023년에는
Runaway argument?
! Paragraph ended before \abx@aux@cite was complete.
<to be read again>
\par
l.6
?
답변2
알겠습니다. 다음에는더 파고들다문제는 arXiv가 DVI 출력을 사용할 때 일부 종류의 동적 그림을 처리하지 않는 autotex라는 도구를 사용한다는 것입니다(내 테스트에서 DVI가 로컬에서 제대로 작동하더라도 문제는 autotex인 것 같습니다). 따라서 tikz의 그림은 잘못. 다음을 넣어서:
\pdfoutput=1
첫 번째 줄에서 arXiv가 PDF로 컴파일되도록 강제합니다. 클래스를 추가하면 a4paper
arXiv가 지오메트리를 가지고 놀지 못하게 될 수도 있습니다.
어떤 이유로 위의 텍스트로도 작동하게 할 수 없는 경우 PDF를 직접 제출하는 것이 더 간단할 수 있으며, 다음과 같이 PDF가 LaTeX에 의해 생성되었다는 사실을 숨길 수 있습니다(그렇지 않으면 arXiv에서는 제출을 허용하지 않습니다). PDF):
\usepackage{hyperref}
% Hide to arXiv that this pdf is produced by LaTeX:
\pdfsuppressptexinfo=-1
\hypersetup{
pdfproducer={},
pdfcreator={},
}