发信人: titat (#+), 信区: TeX
标 题: 论文模板中插图问题
发信站: 水木社区 (Fri Mar 23 01:26:17 2007), 站内
我需要切换使用plain和boxed两种floatstyle
\floatstyle{plain}
\restylefloat{figure}
\begin{figure}[!ht]
\centering
\includegraphics{fig.1}
\caption{blabla}
\label{fig:blabla}
\end{figure}
但是这样好像会把 模板 中的\renewcommand\figurename{图}冲掉?
或者还是别的什么原因,导致“图”字不显示了
解答:
发信人: titat (#+), 信区: TeX
标 题: Re: 论文模板中插图问题
发信站: 水木社区 (Sat Mar 24 11:15:02 2007), 站内
自己摸索搞定...
要改两个地方,首先,用了float包并用了它的style后
\figurename不再管用,需要再设置 \floatname{figure}{\figurename}
另外,用了restylefloat后,caption命令被float包接管,
而float包实现的caption 在正文中的出现有\figurename,
但在最后生成的插图列表中没有有\figurename
需要手动修改
把float.sty中...\numberline{\@nameuse{the#1}...
改为...\numberline{\@nameuse{fname@#1}\hskip0.5em\@nameuse{the#1}
即用下面的定义覆盖原来的\float@caption
\long\def\float@caption#1[#2]#3{\addcontentsline{\@nameuse{ext@#1}}{#1}%
{\protect\numberline{\@nameuse{fname@#1}\hskip0.5em\@nameuse{the#1}}
{\ignorespaces #2}}
\global\setbox\@floatcapt\vbox\bgroup\@parboxrestore
\normalsize\@fs@capt{\@nameuse{fnum@#1}}{\ignorespaces #3}%
\@ifnextchar[{\float@ccon}{\egroup}}
另外一个解决方法是不让float覆盖caption命令,
这可以用\restylefloat*代替\restylefloat
不过这样的话,boxed样式下caption在大框框的里面,感觉不太好看...
没有评论:
发表评论