如何处理需要 floatflt.sty 的旧源?

如何处理需要 floatflt.sty 的旧源?

我刚刚更新到 mac 版 texlive (2011) 的最新版本,突然间我再也没有了floatflt.sty。它似乎已经更改了许可证,不再随发行版提供。(我有点震惊,因为我曾被告知 LaTeX 与 MS Word 不同,它与后向版本兼容,但我想这个讨论留到以后再说吧……)

但问题是我有很多使用它的旧文档,所以现在我想知道以下几点:

  1. 我可以使用哪些替代方案,以及我的旧文档的转换有多复杂?

  2. 假设根据这个新许可证我的使用是好的,那么我该如何在我的 Mac 上的 tex live 系统上安装它?

编辑:当我尝试从 http://www.ctan.org/tex-archive/macros/latex/contrib/floatflt并运行 tex floatflt.ins 我得到:

$ tex floatflt.ins
This is TeX, Version 3.1415926 (TeX Live 2011)
(./floatflt.ins
! Undefined control sequence.
l.25 \NeedsTeXFormat
                    {LaTeX2e}[1996/12/01]
?

答案1

更新:floatflt在导致其被移除的许可证问题得到解决后,它现在再次成为 TeX Live (2011) 的一部分。现有安装的更新将安装它,例如试用tlmgr install floatflt或甚至tlmgr update --self --all完整更新。


LaTeX 本身具有很好的向后兼容性,其大部分软件包(由不同的人编写)也具有向后兼容性。然而,(La)TeX分配比如 TeX Live 可能会决定不再包含旧软件包。你应该区分这三件事。

您仍然可以floatflt从 CTAN 获取该软件包:http://www.ctan.org/tex-archive/macros/latex/contrib/floatflt。只需下载 DTX 和 INS 文件,然后latex floatflt.ins将两个文件放在一个文件夹中运行即可。它将解压floatflt.sty包文件。将此文件复制到$TEXMF/tex/latex/floatflt/floatflt.sty$TEXMF您的本地 TEXMF 结构在哪里,例如$HOME/texmfLinux)。您可能还需要更新包数据库(例如使用texhash)。您也可以将包文件放在(所有)文档文件夹中。

关于许可证:可以在floatflt.ins文件中找到并声明:

You may use the `floatflt' package freely, but at your own
risk.  The authors of floatflt.dtx and floatflt.ins (the
complete `floatflt' package distribution) can not be held
responsible for any consequence of your using any of these
files, or files created from these, including hardware,
software, and data damage.  You may not make any changes to
the files floatflt.dtx or floatflt.ins.  You are allowed to make 
changes to the `\documentclass' and/or `\usepackage' commands 
of the file `floatexm.tex'.  You may incorporate
the code from these files in other files under different
names, provided the original authors are given full credit for
their work and that you yourself take the complaints from the
user(s) of your file(s).  You may freely distribute the
files floatflt.dtx and floatflt.ins, provided that you
always distribute `floatflt.dtx' and `floatflt.ins' together
at the same time. 

因此事实上它至少对于 CTAN 上的版本来说是一个自由许可证,尽管它在那里被列为“其他非自由许可证”。


作为段落内浮动的替代,你可以使用wrapfig包裹。

答案2

我不知道你的 tl2011 从哪里来的,但是当前版本(可通过tlmgr更新获得)包含floatflt

一旦意识到其原始许可证禁止分发,它就会被删除。有人找到了作者,他说要将许可证更改为 lppl。所以我们照做了,包又回到了 tl,为 tl2012 做好准备。

因此尝试一下:

tlmgr update

其中包含您需要更新的软件包名称。(我个人会添加标志--all,但这会涉及大量更新。)

相关内容