我希望使用标签来标记一张长表\label{long_table_1}
但是,当我将其插入到页面底部时,它显示
请注意,表中又添加了另一行!
我也无法调整\label
上面的最终内容\hline
,因为这会引发错误。
有人能告诉我怎样才能制作\label
一张长表而不像上面那样插入另一行吗?
示例代码:
\documentclass[12pt]{article}
%Preamble
\usepackage[margin=1in]{geometry}
\usepackage[draft]{graphicx}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amsthm}
\usepackage{amssymb}
\usepackage{mathrsfs}
\usepackage{upgreek}
\usepackage{hyperref}
\usepackage{cancel}
\usepackage{graphicx}
\usepackage{subfig}
\usepackage{ragged2e}
\usepackage{longtable}
\usepackage{array}
\usepackage{changepage}
\usepackage{stackengine}
\stackMath
\usepackage{longtable}
\usepackage{supertabular}
\title{Table Problem}
\begin{document}
\maketitle
\tableofcontents
\newpage
{\bfseries Things I love about Mexico}
\begin{longtable}{ | m{5.5cm} | m{5.5cm} |}
\hline
Princess Yagoda & Prince Khan\footnote{Tacos!}\\
\hline
\hline
{
Uno
} & Dos \\
\hline
{
Tres
} & Quarto\\
\hline
\label{The_Most_Important_Table_Ever} %<---- Problem
\end{longtable}
\end{document}
答案1
对于表格的引用,您首先应该有表格标题。标签应该跟在标题后面。longtable
设计为使标题在表格中占有一席之地:
\documentclass[12pt]{article}
%Preamble
\usepackage[margin=1in]{geometry}
%\usepackage[draft]{graphicx}
%\usepackage{amsmath}
%\usepackage{amsfonts}
%\usepackage{amsthm}
%\usepackage{amssymb}
%\usepackage{mathrsfs}
%\usepackage{upgreek}
%\usepackage{cancel}
%\usepackage{graphicx}
%\usepackage{subfig}
%\usepackage{ragged2e}
%\usepackage{longtable}
\usepackage{array}
%\usepackage{changepage}
%\usepackage{stackengine}
%\stackMath
%\usepackage{makecell}
\usepackage{longtable}
%\usepackage{supertabular}
\usepackage[colorlinks=true,
linkcolor={red},citecolor={red},
]{hyperref}
\renewcommand\arraystretch{1.3}
\title{Table Problem}
\begin{document}
\maketitle
%\tableofcontents
%\newpage
\begin{longtable}{ | m{5.5cm} | m{5.5cm} |}
\caption{Things I love about Mexico}
\label{The_Most_Important_Table_Ever}\\ %<---- Problem
\hline
Princess Yagoda & Prince Khan\footnote{Tacos!}\\
\hline
\hline
Uno & Dos \\
\hline
Tres & Quarto\\
\hline
\end{longtable}
see table \ref{The_Most_Important_Table_Ever}
\end{document}
上述 MWE 给出:
离题:在您的序言中,您有许多软件包加载了两次,hyperref
必须在序言中最后加载(您的案例中没有出现一些例外情况),supertabular
并且longtable
最好不要在同一文档中使用。为了更好地查看表格,我将其增加到\arraystretch
1.3。此外,我还注释了与您的问题无关的所有软件包。
答案2
实际上,这并不是真正\label
产生假细胞的原因。任何事物\\
在其他或类似的命令之后\hline
将启动一个新单元,{}
或者\relax
例如。
您可以将\label
more 或 less 放在表格中的任何地方,而不是您放置它的位置。如果没有\caption
as 就很奇怪了,否则就没有与生成的数字相关的可见数字\ref
,但它确实有效,如下所示。通常我会在普通表格中将 as放在\label
参数中,但是:\caption
\documentclass[12pt]{article}
%Preamble
\usepackage[margin=1in]{geometry}
\usepackage[draft]{graphicx}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amsthm}
\usepackage{amssymb}
\usepackage{mathrsfs}
\usepackage{upgreek}
\usepackage{hyperref}
\usepackage{cancel}
\usepackage{graphicx}
\usepackage{subfig}
\usepackage{ragged2e}
\usepackage{longtable}
\usepackage{array}
\usepackage{changepage}
\usepackage{stackengine}
\stackMath
\usepackage{longtable}
\usepackage{supertabular}
\title{Table Problem}
\begin{document}
\maketitle
\tableofcontents
\newpage
{\bfseries Things I love about Mexico}
\begin{longtable}{ | m{5.5cm} | m{5.5cm} |}
\hline
Princess Yagoda & Prince Khan\footnote{Tacos!}\\
\hline
\hline
{
Uno
} & Dos\label{The_Most_Important_Table_Ever} \\
\hline
{
Tres
} & Quarto\\
\hline
\end{longtable}
see \ref{The_Most_Important_Table_Ever}
\end{document}