我需要在表格中放置一张图片。我无法在表格中使用图形。即使我添加了小页面也不起作用。
但可以\includegraphics
在表格中添加 OK。但现在我不能\caption
再使用了。它似乎\caption{}
只适用于figure
。
问题是,如何添加标题,但不使用图形?这是 MWE。
首先是才不是工作
\documentclass[12pt]{article}
\usepackage{graphicx}
\usepackage{longtable}
\begin{document}
\begin{longtable}{p{2in}}
\begin{figure}
\includegraphics[width=0.3\textwidth]{example-image-a}
\caption{my caption}
\end{figure}
\end{longtable}
\end{document}
所以删除了图片。但喜欢使用标题,或者类似标题的东西
\documentclass[12pt]{article}
\usepackage{graphicx}
\usepackage{longtable}
\begin{document}
\begin{longtable}{p{2in}}
%\begin{figure}
\includegraphics[width=0.3\textwidth]{example-image-a}
\caption{my caption} %only when commenting this will it compile
%\end{figure}
\end{longtable}
\end{document}
这个想法是得到与使用图形时获得的东西类似但不使用图形的东西,因为图形不能在表格内使用。
\caption
是否存在具有相同语义但不需要figure
使用的东西?
最好的方法是什么?请注意,我仅使用 lualatex 进行编译。
TL2020。
答案1
这\caption
在本地重新定义(在 内部\parbox
)。p 列中的每个单元格都是一个单独的\parbox
。
\caption@caption
是 caption 包使用的原始名称。它用于\csname
实现 @ 符号,而 @ 符号又需要\expandafter
s。
\documentclass[12pt]{article}
\usepackage{graphicx}
\usepackage{longtable}
\usepackage{caption}
\begin{document}
\begin{longtable}{p{2in}}
\expandafter\let\expandafter\caption\csname caption@caption\endcsname
\centering
\includegraphics[width=0.3\textwidth]{example-image-a}
\captionof{figure}{my caption}
\end{longtable}
\end{document}
这将创建一个不包含 @ 符号的新名称。
\documentclass[12pt]{article}
\usepackage{graphicx}
\usepackage{longtable}
\usepackage{caption}
\let\normalcaption=\caption
\begin{document}
\begin{longtable}{p{2in}}
\let\caption=\normalcaption
\centering
\includegraphics[width=0.3\textwidth]{example-image-a}
\captionof{figure}{my caption}
\end{longtable}
\end{document}