我在包含表格的浮动标签中遇到了一个奇怪的问题。对于我的第一个表格,我将标签放在浮动区域内,然后在文本中的某个位置添加了交叉引用。问题是,当我创建 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,这将增加文档中所有文本的大小。
如果需要更大的尺寸,请将文档类别更改为文章(更多字体大小),为您提供了更多基底尺寸的选择。