表格中浮动标签的问题

表格中浮动标签的问题

我在包含表格的浮动标签中遇到了一个奇怪的问题。对于我的第一个表格,我将标签放在浮动区域内,然后在文本中的某个位置添加了交叉引用。问题是,当我创建 pdf 时,这个交叉引用显示数字 2,而表格是数字 1。但后来发生了更奇怪的事情,即使我为不同的表格创建了不同的标签,pdf 中的所有交叉引用都显示数字 2,而不是与引用的表格一致的正确值

 % Vista preliminar del código fuente

%% LyX 2.0.3 created this file.  For more info, see http://www.lyx.org/.
%% Do not edit unless you really know what you are doing.
\documentclass[a4paper,english]{article}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\setlength{\parskip}{\medskipamount}
\setlength{\parindent}{0pt}
\usepackage{array}
\usepackage{multirow}
\usepackage{setspace}
\onehalfspacing

\makeatletter

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands.
\pdfpageheight\paperheight
\pdfpagewidth\paperwidth

%% Because html converters don't know tabularnewline
\providecommand{\tabularnewline}{\\}

\makeatother

\usepackage{babel}
\begin{document}
\setcounter{section}{1}


\section{\noindent evolution}

\begin{onehalfspace}
\noindent {\large This is summarized in the Table \ref{Laws}.}{\large \par}

\noindent {\large }
\begin{table}[h]
{\large }%
\begin{tabular}{|>{\centering}p{0.04\textwidth}|>{\centering}p{0.05\textwidth}|}
\hline 
\multirow{1}{0.04\textwidth}{\textbf{No. }} & \textbf{Year}\tabularnewline
\hline 
I & 1974\tabularnewline
\hline 
II & 1974\tabularnewline
\hline 
\end{tabular}{\large                                            }{\large \par}

{\large \caption{Law of evolution}
}{\large \par}

\label{Laws}
\end{table}
{\large \par}
\end{onehalfspace}

\begin{onehalfspace}

\subsection{\noindent The study }
\end{onehalfspace}

\begin{onehalfspace}
\noindent {\large Table \ref{paul} summarized the hypothesis.}{\large \par}

\noindent {\large }
\begin{table}[h]
{\large }%
\begin{tabular}{|c|>{\raggedright}m{0.35\textwidth}|}
\hline 
\textbf{Number} & \textbf{Hypothesis}\tabularnewline
\hline 
1 & Open \tabularnewline
\hline 
\end{tabular}{\large \par}

{\large \caption{Hypothesis}
}{\large \par}

\label{paul}
\end{table}
{\large \par}
\end{onehalfspace}

{\large See Table \ref{summary}.}{\large \par}

{\large }
\begin{table}[h]
{\large }%
\begin{tabular}{|c|c|}
\hline 
\textbf{\small Law} & \textbf{\small Name}\tabularnewline
\hline 
I & Continuing change\tabularnewline
\hline 
\end{tabular}{\large \par}

{\large \caption{Summary}
}{\large \par}

\label{summary}
\end{table}
{\large \par}


\subsection{Status.}

{\large Look table \ref{H}.}{\large \par}

{\large }
\begin{table}[h]
{\large }%
\begin{tabular}{|>{\raggedright}p{0.13\textwidth}|>{\raggedright}p{0.15\textwidth}|}
\hline 
\textbf{Validated laws} & \textbf{Invalidated laws}\tabularnewline
\hline 
I, VI & II, III, IV, V\tabularnewline
\hline 
I, VI & II, III, IV, V\tabularnewline
\hline 
\end{tabular}{\large \par}

{\large \caption{Studies}
}{\large \par}

{\large \label{H}}
\end{table}

\end{document}

通过此我得到了以下结果: 对于表 1,交叉引用指示数字 2 对于表 2,交叉引用指示数字 2 对于表 3,交叉引用指示数字 2 对于表 4,交叉引用指示数字 2.2

我哪里犯了错误?

谢谢

答案1

问题是,当你这样做的时候

{\large \caption{Law of software evolution }
}
\label{Laws}

标题周围的括号会“隐藏”标签中的标题编号,因此它指向其他内容,在本例中是上一节。我不知道你在 LyX 中具体是如何做到这一点的,但如果你把它改成

\caption{Law of software evolution }
\label{Laws}

它应该可以正常工作。

基于猜测的无关评论

从代码来看,您似乎一直在尝试通过到处添加来增大整个文档的字体大小\large,这是一个相当糟糕的想法。默认的基本字体大小为 10pt,如果您转到文档 --> 设置 --> 字体,您可以设置底座尺寸改为 11pt 或 12pt,这将增加文档中所有文本的大小。

如果需要更大的尺寸,请将文档类别更改为文章(更多字体大小),为您提供了更多基底尺寸的选择。

相关内容