이 임의 오류의 원인은 무엇입니까?

이 임의 오류의 원인은 무엇입니까?

예전 LaTeX 논문을 PDF로 편집하고 싶습니다. 텍스트는 컴퓨터와 도구가 약간 다른 1999년(emTeX라고 생각합니다)에 만들어졌습니다. 읽어보세요. 14년 만에 LaTeX로 돌아왔습니다. 그것은 모든 것을 잊어버릴 만큼 긴 시간입니다. :) 그 당시에는 바벨이 체코어에 사용되지 않았습니다.

지금까지(여러 번의 시행/실패를 거쳐 메모리에서 정보를 파헤치고 약간 검색한 후) 소스를 UTF-8로 변환하고

\documentclass[a4paper,11pt]{report}
\usepackage{czech}

에게

\documentclass[a4paper,11pt]{report}
\usepackage[czech]{babel}
\usepackage[utf8]{inputenc}

pdflatex --versionWindows 7에서 다음을 실행하는 경우

pdfTeX 3.1415926-2.5-1.40.14 (TeX Live 2013/W32TeX)
kpathsea version 6.1.1
Copyright 2013 Peter Breitenlohner (eTeX)/Han The Thanh (pdfTeX).
There is NO warranty.  Redistribution of this software is
covered by the terms of both the pdfTeX copyright and
the Lesser GNU General Public License.
For more information about these matters, see the file
named COPYING and the pdfTeX source.
Primary author of pdfTeX: Peter Breitenlohner (eTeX)/Han The Thanh (pdfTeX).
Compiled with libpng 1.5.16; using libpng 1.5.16
Compiled with zlib 1.2.7; using zlib 1.2.7
Compiled with xpdf version 3.03

(그리고 my.aux 파일에 대해 bibtex를 실행하고 를 여러 번 다시 실행해도 pdflatex pri98dis.tex여전히 다음과 같은 문제가 보고됩니다.

) [141] (./pri98dis.aux (./dekuji.aux) (./abstrakt.aux)
! Missing \endcsname inserted.
<to be read again> 
                   \unhbox 
l.223 ...`\discretionary {-}{}{}step}{{3.1.5}{52}}

The control sequence marked <to be read again> should
not appear between \csname and \endcsname.

! Improper alphabetic constant.
<to be read again> 
                   \discretionary 
l.223 ...`\discretionary {-}{}{}step}{{3.1.5}{52}}

A one-character control sequence belongs after a ` mark.
So I'm essentially inserting \0 here.

! Extra \endcsname.
\@newl@bel ... \bbl@tempa \csname #1@#2\endcsname 
                                                  \def \bbl@tempb {#3}\@safe...
l.223 ...`\discretionary {-}{}{}step}{{3.1.5}{52}}

I'm ignoring this, since I wasn't doing a \csname.

)

LaTeX Warning: There were undefined references.


LaTeX Warning: There were multiply-defined labels.

[141]문서의 가장 마지막 페이지입니다 . ( ! Missing \endcsname inserted.및 이후의 에 주목하세요 ! Extra \endcsname.)

pri98dis.aux(주 문서에 속함) 에서 222행과 223행은 다음과 같습니다.

\@writefile{toc}{\contentsline {paragraph}{Krok modelov\IeC {\'e}ho \IeC {\v c}asu.}{52}}
\newlabel{time\unhbox \voidb@x \kern \z@ \char `\discretionary {-}{}{}step}{{3.1.5}{52}}

소스의 다음 부분에 속하는 것 같습니다.

\paragraph{Krok modelového času.}

... text of one paragraph...

\begin{verbatim}
    in('EvQue', 'head', ?head_time);                               { 1 }
    in('EvQue', 'list', head_time, ?next_time);                    { 2 }
    out('EvQue', 'head', next_time);                               { 3 }
\end{verbatim}
\label{time-step}

문제는 \label{time-step}.

문제를 어떻게 해결할 수 있나요?

(감사합니다. 새해 복 많이 받으시고, 앞으로도 좋은 일들만 가득하시길 바랍니다.)

답변1

이는 패키지(바벨 언어 속기?)가 -활성화되도록 정의한 다음 이를 다음과 같이 정의하여 "정상적으로" 작동하려고 시도하기 때문에 발생했을 가능성이 높습니다.

\leavevmode\char`\-

거의 동일한 오류가 발생합니다(문맥은 약간 다르지만 동일함).

time\unhbox \voidb@x \char `\discretionary {-}{}{}step

다음 중:

\documentclass{article}

\catcode`\-\active
\def-{\leavevmode\char`\-}

\begin{document}

aa \section{zzz\label{time-step}} aa

zzz\ref{time-step}

\end{document}

매크로를 변경하고 싶지 않은 경우 오류를 방지하는 간단한 방법은 -label, ref 및 cite 인수를 사용하지 않는 것입니다.

관련 정보