![表格標題未出現在 PNAS 文件類別中](https://rvso.com/image/286346/%E8%A1%A8%E6%A0%BC%E6%A8%99%E9%A1%8C%E6%9C%AA%E5%87%BA%E7%8F%BE%E5%9C%A8%20PNAS%20%E6%96%87%E4%BB%B6%E9%A1%9E%E5%88%A5%E4%B8%AD.png)
使用時我無法顯示表格標題PNAStwo 文件類從 2008 年開始(最新版本包含我不想要的印表機標記)。
文件說“圖形和表格標題應輸入在文件末尾...” 但作為標題是顯示為數字,我希望它們也顯示為表格。
我希望他們的建議不會作為對作者的限製而實施,但看起來確實如此,或者我錯過了什麼?如果沒有,我可以採用解決方法嗎?
\documentclass{pnastwo} \usepackage{graphicx} \usepackage{pnastwoF} \usepackage{amssymb、amsfonts、amsmath} \開始{文件} \開始{文章} \開始{表}[h] \開始{表格}{cc} 1 & 2 \\ 3 & 4 \end{表格} \caption{未出現的標題。 \茶几} \開始{圖} \caption{確實出現的標題。 \結束{圖} \結束{文章} \結束{文件}
答案1
我剛剛遇到了同樣的問題。 (當嘗試產生具有列印品質的預印版論文時,這真的很煩人。)在 pnastwo.cls 中瀏覽,我發現了以下修復:
找到 pnastwo.cls 中的第一行,其中寫著
\ifx\@captype\xtable
將此更改為
\ifx\@captype\table
或者,如果您不想觸及類文件,您可以將以下內容放入文件的序言中:
% Fix wierd behavior which prevents table captions from appearing for
% tables in the body of the article
\makeatletter
\long\def\@makecaption#1#2{%
\ifx\@captype\table
\let\currtabcaption\relax
\gdef\currtabcaption{
\tabnumfont\relax #1. \tabtextfont\relax#2\par
\vskip\belowcaptionskip
}
\else
\vskip\abovecaptionskip
\sbox\@tempboxa{\fignumfont#1.\figtextfont\hskip.5em\relax #2}%
\ifdim \wd\@tempboxa >\hsize
\fignumfont\relax #1.\figtextfont\hskip.5em\relax#2\par
\else
\global \@minipagefalse
\hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
\fi
\fi
}
\makeatother
一個附加評論:一旦修復了這個錯誤,如果您使用 PNAS 兩列類別來產生生產品質的輸出,您幾乎肯定會遇到另一個您想要修復的問題:除非您在此處使用 h " 定義浮點數「放置時,它會丟失標籤,因此所有圖形和表格的交叉引用都會中斷。這是直接貼到文件序言中的修復方法。您也可以修補巨集 \DonormalEndcol pnastwo.cls,這是同樣的錯誤 6 次以上...
% And another fix. PNAS class loses the label of floats unless they
% were defined with the [h] option (so not really floats at all). It
% all comes down to wrong scope in the following routine which pushes
% out the floats onto the page. This is the fixed version:
\makeatletter
\def\DonormalEndcol{%
%% top float ==>
\ifx\toporbotfloat\xtopfloat%
%% figure ==>
\ifcaptypefig%
\expandafter\gdef\csname topfloat\the\figandtabnumber\endcsname{%
\vbox{\vskip\PushOneColTopFig%
\unvbox\csname figandtabbox\the\loopnum\endcsname%
\vskip\abovefigcaptionskip%
\csname caption\the\loopnum\endcsname%
\csname letteredcaption\the\loopnum\endcsname%
\csname continuedcaption\the\loopnum\endcsname%
\csname letteredcontcaption\the\loopnum\endcsname
\ifredefining%
\csname label\the\loopnum\endcsname%
\expandafter\gdef\csname topfloat\the\loopnum\endcsname{}\fi}%
\vskip\intextfloatskip%%
\vskip-4pt %% probably an artifact of topskip??
}%
\else%
%% plate ==>
\ifcaptypeplate%
\expandafter\gdef\csname topfloat\the\figandtabnumber\endcsname{%
\vbox{\vskip\PushOneColTopFig%
\unvbox\csname figandtabbox\the\loopnum\endcsname
\vskip\abovefigcaptionskip
\csname caption\the\loopnum\endcsname
\csname letteredcaption\the\loopnum\endcsname
\csname continuedcaption\the\loopnum\endcsname
\csname letteredcontcaption\the\loopnum\endcsname
\ifredefining
\csname label\the\loopnum\endcsname
\expandafter\gdef\csname topfloat\the\loopnum\endcsname{}\fi}
\vskip\intextfloatskip %%
\vskip-4pt %% probably an artifact of topskip??
}%
\else% table ==>
\expandafter\gdef\csname topfloat\the\figandtabnumber\endcsname{%
\vbox{\vskip\PushOneColTopTab %%
\csname caption\the\loopnum\endcsname
\csname letteredcaption\the\loopnum\endcsname
\csname continuedcaption\the\loopnum\endcsname
\csname letteredcontcaption\the\loopnum\endcsname
\vskip\captionskip
\unvbox\csname figandtabbox\the\loopnum\endcsname
\ifredefining
\csname label\the\loopnum\endcsname
\expandafter\gdef\csname topfloat\the\loopnum\endcsname{}\fi
}\vskip\intextfloatskip %% why don't we need this?
\vskip-10pt}
\fi\fi%
%
\else% bottom float
%
\ifcaptypefig
\expandafter\gdef\csname botfloat\the\figandtabnumber\endcsname{%
\vskip\intextfloatskip
\vbox{\unvbox\csname figandtabbox\the\loopnum\endcsname
\vskip\abovefigcaptionskip
\csname caption\the\loopnum\endcsname
\csname letteredcaption\the\loopnum\endcsname%
\csname continuedcaption\the\loopnum\endcsname%
\csname letteredcontcaption\the\loopnum\endcsname%
\vskip\PushOneColBotFig%%
\ifredefining%
\csname label\the\loopnum\endcsname
\expandafter\gdef\csname botfloat\the\loopnum\endcsname{}\fi}}%
\else
\ifcaptypeplate
\expandafter\gdef\csname botfloat\the\figandtabnumber\endcsname{%
\vskip\intextfloatskip
\vbox{\unvbox\csname figandtabbox\the\loopnum\endcsname
\vskip\abovefigcaptionskip
\csname caption\the\loopnum\endcsname
\csname letteredcaption\the\loopnum\endcsname%
\csname continuedcaption\the\loopnum\endcsname%
\csname letteredcontcaption\the\loopnum\endcsname%
\vskip\PushOneColBotFig%%
\ifredefining%
\csname label\the\loopnum\endcsname
\expandafter\gdef\csname botfloat\the\loopnum\endcsname{}\fi}}%
\else% TABLE
\expandafter\gdef\csname botfloat\the\figandtabnumber\endcsname{%
\vskip\intextfloatskip
\vbox{\csname caption\the\loopnum\endcsname
\csname letteredcaption\the\loopnum\endcsname
\csname continuedcaption\the\loopnum\endcsname
\csname letteredcontcaption\the\loopnum\endcsname%
\vskip.5\intextfloatskip
\unvbox\csname figandtabbox\the\loopnum\endcsname%
\vskip\PushOneColBotTab
\ifredefining%
\csname label\the\loopnum\endcsname
\expandafter\gdef\csname botfloat\the\loopnum\endcsname{}\fi}}%
\fi\fi\fi}
\makeatother
答案2
與班級一起分發的範本文件說
%----------------------------------------------------------------------------------------
% FIGURES AND TABLES
%----------------------------------------------------------------------------------------
%% Adding Figure and Table References
%% Be sure to add figures and tables after \end{article}
%% and before \end{document}
這是例子:
\documentclass{pnastwo}
\usepackage{graphicx}
%\usepackage{pnastwoF} % this is not required
\usepackage{amssymb,amsfonts,amsmath}
\usepackage{lipsum} % just for the example
\begin{document}
\title{X}
\author{A. Uthor\affil{1}{University of Nowhere}}
\contributor{Submitted to Proceedings of the National Academy of Sciences
of the United States of America}
%----------------------------------------------------------------------------------------
\maketitle % The \maketitle command is necessary to build the title page
\begin{article}
\lipsum
\end{article}
\begin{table}[h]
\caption{A caption that appears.}
\begin{tabular}{cc}
1 & 2 \\
3 & 4
\end{tabular}
\end{table}
\begin{figure}[h]
\caption{A caption that does appear.}
\end{figure}
\end{document}
請注意,表格標題的排版寬度與環境的寬度相同tabular
。為什麼?我不知道。