Я бы начал с того, что сказал, что вы делаете это неправильно. (La) TeX имеет встроенную поддержку автоматической нумерации и перекрестных ссылок. Если вы нумеруете контент вручную, вам следует переосмыслить стратегию.
Если вы вставляете таблицы (как в вашем фрагменте кода), вам следует рассмотреть возможность использования среды table
(float). Вместе с пакетом caption
вы можете легко обрабатывать нумерацию с / без заголовков:
\documentclass{article}
\usepackage{caption,graphicx}
\captionsetup[table]{labelfont=bf}% For example
\begin{document}
\begin{table}
\centering
\caption{A table}% Caption with text
\begin{tabular}{ l c r }
Left & Centre & Right \\
L & C & R
\end{tabular}
\end{table}
\begin{table}
\centering
\caption{}% Caption without text (just numbering the table)
\begin{tabular}{ r c l }
Right & Centre & Left \\
R & C & L
\end{tabular}
\end{table}
\mbox{}% Just for this example
\end{document}
Примечаниекак пакет caption
автоматизирует вставку двоеточия (:
, изменяемый с помощью опции labelsep
; скажем, labelsep=period
) в зависимости от того, указана пустая подпись или нет. Счетчик table
также автоматически увеличивается с каждым использованием \caption
в среде table
.
Если вы действительно хотите автоматизировать этот процесс вручную (например, вы не хотитевещи, которые можно перемещать, или вы не знаете, как правильно использовать окружения, вы можете / должны определить команду в преамбуле, которая последовательно устанавливает нумерацию, что позволяет вам изменить ее в одном месте, если это необходимо, ибудет иметь глобальный (но непротиворечивый) эффект в вашем документе. Вот одна из таких попыток:
\documentclass{article}
\usepackage{lipsum}% Just for this example
\usepackage{graphicx}
\newcommand{\inserttablenumber}{%
\refstepcounter{table}%
\begingroup
\centering
\bfseries Table~\thetable
\par
\endgroup
}
\begin{document}
\lipsum[1]
\inserttablenumber
{\centering
\begin{tabular}{ l c r }
Left & Centre & Right \\
L & C & R
\end{tabular}\par}
\lipsum[2]
\inserttablenumber
{\centering
\begin{tabular}{ r c l }
Right & Centre & Left \\
R & C & L
\end{tabular}\par}
\lipsum[3]
\end{document}
\inserttablenumber
шаги ужеопределен и доступен счетчик table
, который делает его \ref
доступным через \refstepcounter
. Затем он устанавливает Table <table number>
в жирным шрифтом и по центру. \par
обеспечивает использование \centering
для этого \par
agraph, в то время как область действия ограничена только этим коротким фрагментом текста через группу (\begingroup
... \endgroup
).
В обоих случаях вы должны иметь возможность поставить \label{<label>}
после подписи и использования Table~\ref{<label>}
в другом месте вашего документа, и он найдет соответствующий номер таблицы.