我正在使用双列样式。我想将适合单列的表格放在其中,就像https://tex.stackexchange.com/questions/180543/creating-a-table-fitting-one-column-of-a-two-column-style-page。
但是,如果我在 a 中使用大字符串作为“large large large large large large” \rotatebox
,则会出现错误:
pdfTeX error (ext4): \pdfendlink ended up in different nesting level than \pdfstartlink. \end{document}
\begin{table}
\caption{Summary of the characteristics used in some related works.}
\label{tableRelatedWorks2}
\resizebox{\columnwidth}{!}{%
\begin{tabular}{ccccccc}
\rotatebox[origin=c]{90}{\text{large large large large large large} } & \text{KLSRf} & \text{MLDFSP} & \text{PNDND} & \text{LDFSSVM} & \rotatebox[origin=c]{90}{a} & \rotatebox[origin=c]{90}{b}\\
\hline
\end{tabular}
}
\end{table}
如果我在上面的代码中放入一个包含 5 个字符的字符串而不是“large large large large large large”,它就可以起作用。
有人可以说一下哪里出了问题吗?
答案1
错误信息有没有什么与 相关的\resizebox
。错误消息是由链接(例如,参见包hyperref
)创建的,该链接在 中断开页面. 内附链接\resizebox
绝不跨越页面边界。
页面上元素的不同框大小会改变分页符,从而产生跨页面边界的链接,这只是偶然的。
尽量避免跨页面边界的链接,驱动程序对它们支持不够。由于驱动程序不知道页面上的哪些元素属于链接,因此它们使用启发式方法来获取这些元素。启发式方法在很多情况下都有效,但也有失败的情况。
答案2
我找到了一个解决方案:
我们需要更改括号中的 !,因为它与 \columnwidth 保持了纵横比。因此,让我们用距离代替 !。例如:
\begin{table}
\caption{Summary of the characteristics used in some related works.}
\label{tableRelatedWorks2}
\resizebox{\columnwidth}{10cm}{%
\begin{tabular}{ccccccc}
\rotatebox[origin=c]{90}{\text{large large large large large large} } & \text{KLSRf} & \text{MLDFSP} & \text{PNDND} & \text{LDFSSVM} & \rotatebox[origin=c]{90}{a} & \rotatebox[origin=c]{90}{b}\\
\hline
\end{tabular}
}
\end{table}
如果 10 厘米仍然有误差,则只需增加它。