Підписи, що відповідають номеру

Поставте мітку після підпису, щоб число закріпилося.

Підписи, що відповідають номеру

Перехресні посилання є однією з речей, які LaTeX робить краще, ніж текстовий процесор. Ви ніколи не набираєте «Рисунок 3» вручну. Замість цього ви прикріплюєте мітку до фігури та дозволяєте LaTeX заповнювати число скрізь, де воно згадується, тому числа залишаються правильними незалежно від того, скільки ви змінюєте порядок, вставляєте чи видаляєте. Механізм має одне правило, яке хоча б раз спрацьовує майже кожному: порядок \caption і \label має значення.

Чому порядок важливий

Команда \caption виконує дві роботи. Він друкує текст підпису під вашим малюнком або таблицею та змінює лічильник, перетворюючи цей плаваючий елемент на малюнок 3. Команда \label робить щось дурніше, ніж люди очікують: вона записує будь-який останній призначений номер, що б це не сталося. Він навіть не підозрює, що знаходиться «всередині фігури». Тому мітка має бути після підпису:

\caption{A neat diagram.}
\label{fig:neat}

Якщо ви поставите \label перед \caption, підпис ще не перевищив лічильник цифр, тому мітка фіксує останній номер з іншого місця, зазвичай поточного розділу. Потім у вашому тексті написано «див. рисунок 2.4», тоді як малюнок насправді є малюнком 7. Це класичний симптом: посилання, які вказують на номери розділів замість номерів малюнків, майже завжди означають, що мітка розміщена занадто рано. Найбезпечнішою звичкою є писати \label у рядку, що йде відразу після \caption, кожного разу як на малюнках, так і в таблицях.

Посилання на мітку

У своєму тексті напишіть посилання так:

Figure~\ref{fig:neat}

\ref{fig:neat} розширюється до простого числа, і ви самі вказуєте слово “Рисунок”. ~ між ними — це нерозривний пробіл, який не дозволяє LaTeX закінчувати рядок після «Рисунок» і починати наступний з «3». Префікси на кшталт fig:, tab:, sec: і eq: є чистою умовністю, LaTeX їх не інтерпретує, але вони роблять ваші мітки читабельними та запобігають випадковому використанню спільної назви малюнка та таблиці.

Зауважте, що \pageref{fig:neat} дає номер сторінки, на яку потрапив малюнок, що корисно в довгих документах, де плаваюча частина може відійти далеко від свого згадування. Щоб отримати повний огляд команд для посилань, перегляньте пояснення кожної команди.

Двічі компілювати та інші підводні камені

Посилання вирішуються під час виконання компілятора: перший прохід записує позиції міток у файл .aux, а другий прохід читає їх назад. До цього другого проходу посилання друкуються жирним шрифтом, тому ?? у вашому PDF-файлі зазвичай означає лише «компілювати знову», а не те, що щось пошкоджено. Більшість редакторів, у тому числі Oleafly, повторно запускають пропуски для вас автоматично. Якщо ?? витримує повторні компіляції, мітка не існує. Ймовірними причинами є друкарська помилка в назві мітки або \caption, який ви видалили, залишивши \label позаду.

Назад до Поплавці та чорнило