
Моя проблема кажется простой, хотя я пока не смог найти для нее решения. Я пишу свою диссертацию в LaTeX, но я полный новичок в этом типе языка.
Я пытаюсь сослаться на рисунок следующим образом:
(see Figure~\ref{fig:transistor1})
тогда как цифра определяется сразу после ссылки как:
\begin{figure}[htb]
\centering
\includegraphics[width=0.4\linewidth]{./_pic/transistor1}
\caption[The first transistor]{The first point-contact transistor developed by Bell Laboratories}
\label{fig:transistor1}
\end{figure}
Во время компиляции возникает ошибка "Абзац закончился до того, как \Hy@setref@link был завершен", и, конечно же, в скомпилированном pdf-файле после слова Figure нет ни одного числа, более того, отсутствует и символ ).
Я пробовал менять порядок рисунка и его ссылку, оставляя знаки (), но ничего не помогло.
Я жду вашей помощи, ребята, и заранее спасибо :)
Обновлять: МВЭ:
\documentclass[a4paper,12pt,twoside,openright]{report}
\usepackage[pdfusetitle, colorlinks, filecolor={[rgb]{0,0,1}},urlcolor={[rgb]{0,0,1}}, citecolor={[rgb]{0,0,0.4}}, linkcolor={[rgb]{0,0,0.4}}, bookmarks]{hyperref}
\begin{document}
\chapter{MEMS technology}
\ref{fig:transistor1}
\begin{figure}[htb]
\centering
\caption[The first transistor]{The first point-contact transistor developed by Bell Laboratories}
\label{fig:transistor1}
\end{figure}
\end{document}
Теперь, если вы скомпилируете это без пакета hyperref, то с ним вы можете получить ту же ошибку. Если вы скомпилируете снова, ошибка исчезнет в MWE (однако во всем документе ошибка останется).
Обновление №2: Теперь, когда мне удалось найти правильный MWE, проблема возникает при использовании команды \selectlanguage:
\documentclass[a4paper,12pt,twoside,openright]{report}
\usepackage[british,german,hungarian]{babel}
\usepackage[pdfusetitle, colorlinks, filecolor={[rgb]{0,0,1}},urlcolor={[rgb]{0,0,1}}, citecolor={[rgb]{0,0,0.4}}, linkcolor={[rgb]{0,0,0.4}}, bookmarks]{hyperref}
\begin{document}
\selectlanguage{british}
\chapter{MEMS technology}
\ref{fig:transistor1}
\begin{figure}[htb]
\centering
\caption[The first transistor]{The first point-contact transistor developed by Bell Laboratories}
\label{fig:transistor1}
\end{figure}
\end{document}
Спасибо заранее, Адам.
решение1
Пакет hyperref
с пакетом nameref
изменяет внутренний формат данных \label
, поскольку им нужны дополнительные данные. Поэтому могут возникнуть ошибки, если данные в файле .aux
записаны с помощью других комбинаций пакетов, особенно с hyperref
/ или без него nameref
.
Обходные пути:
В этом случае ошибку можно проигнорировать,
.aux
записать новый файл и следующий запуск LaTeX должен пройти нормально.Или удалите вспомогательные файлы, если
hyperref
/nameref
(или некоторые другие пакеты) добавлены или удалены.
решение2
Я нашел ответ: Если вы используете "венгерский" как последний язык в опциях пакета babel, возникает ошибка. Если вы используете любые другие перестановки, код скомпилируется без проблем....