我想在 IEEEtran 的边距中插入一个栏,但是当我使用 changebar 包时,两列图形和表格消失了。这是我的代码:
\documentclass[journal]{IEEEtran}
\usepackage{lipsum}
\usepackage{graphicx}
\usepackage[color]{changebar}
\usepackage{soul}
\usepackage{xspace}
\cbcolor{black}
\sethlcolor{yellow}
\newcommand{\edit}[1]{\cbstart\hl{#1}\cbend\xspace}
\begin{document}
\lipsum[1]
\lipsum[1]
\begin{figure*}
\centering
\includegraphics[width=15cm]{example-image}\\
\end{figure*}
\lipsum[1]
\lipsum[1]
\end{document}
如果您能提供任何帮助我将不胜感激。
答案1
changebar
是一个旧的包,它重新定义了几个乳胶内部结构,特别是浮点处理。
事实证明,它与 2015/01/01 latex 版本中的双浮点处理不完全兼容(修复了该领域的几个错误)
这有效,直到 changebar 更新:
\RequirePackage[2014/01/01]{latexrelease}
\documentclass[journal]{IEEEtran}
\usepackage{lipsum}
\usepackage{graphicx}
\usepackage[color]{changebar}
\usepackage{soul}
\usepackage{xspace}
\cbcolor{black}
\sethlcolor{yellow}
\newcommand{\edit}[1]{\cbstart\hl{#1}\cbend\xspace}
\begin{document}
\lipsum[1]
\lipsum[1]
\begin{figure*}
\centering
\includegraphics[width=15cm]{example-image}
\end{figure*}
\lipsum[1]
\lipsum[1]
\end{document}
答案2
我能够通过changebar.sty
从我的发行版(TeX Live 2015,但该文件在大约 10 年内没有更新)复制并删除与浮点相关的宏来解决相同的问题 -
\let\end@float\cb@end@float % remove from here
\let\flt@float@end\float@end
·
·
·
\flt@float@dblend
} % up until here
将新文件重命名为 eg mychangebar.sty
,而\usepackage{mychangebar}
不是 stock changebar
。
在尝试了可接受的解决方案并注意到由于 2014 年浮动行为的不同,它完全改变了我的布局后,我这样做了。当然,这意味着您的更改栏将无法在浮动中或跨浮动工作;需要更彻底地重写这些宏才能真正解决问题。
答案3
它看起来像changebar.sty
替换了一些 latex 内核宏。本例中的相关宏是\end@float
。
如果愿意,您可以尝试以下解决方案(对我有用twocol
)
将其添加到文档的序言中:
\makeatletter \newcommand{\cboff}{\let\end@float\ltx@end@float} \newcommand{\cbon}{\let\end@float\cb@end@float} \makeatother
在 和 之前和 之后分别添加命令
\cboff
、。例如\cbon
\begin{figure*}
\end{figure*}
\cboff \begin{figure*} ... \end{figure*} \cbon
这是一个愚蠢的解决方法,但似乎有效。