cutwin 软件包中有错误吗?

cutwin 软件包中有错误吗?

我正在学习如何使用 cutwin 包。我将代码复制到https://tex.stackexchange.com/a/74702/247085

\documentclass{book}
\usepackage{amsthm}
\usepackage{cutwin}
\usepackage{lipsum}
\theoremstyle{plain}
\newtheorem{thm}{Theorem}
\begin{document}
\renewcommand\windowpagestuff{\rule{2cm}{2cm}}
\opencutleft
\begin{thm}
\begin{cutout}{2}{0pt}{\dimexpr\linewidth-2.5cm\relax}{6}
    \lipsum[1]
  \end{cutout}
\end{thm}
\end{document} 

但我无法获得与https://tex.stackexchange.com/a/74702/247085,图片比预期高出了一些行: 在此处输入图片描述

我正在使用 TexLive 2021,通过 XeLaTeX 编译上述代码。

答案1

更新的 cutwin 现已在 ctan(2021-10-31)上可用,并且很快就会在 tex 发行版中推出,因此下面的原始答案不再适用。


Cutwin 显然需要一些更新(与 latex 中新图片模式实现的交互),在此之前,您可以将格式回滚到兼容版本

在此处输入图片描述

\RequirePackage[2020/02/08]{latexrelease}
\documentclass{book}
\usepackage{amsthm}
\usepackage{cutwin}
\usepackage{lipsum}
\theoremstyle{plain}
\newtheorem{thm}{Theorem}
\begin{document}
\renewcommand\windowpagestuff{\rule{2cm}{2cm}}
\opencutleft
\begin{thm}
\begin{cutout}{2}{0pt}{\dimexpr\linewidth-2.5cm\relax}{6}
    \lipsum[1]
  \end{cutout}
\end{thm}
\end{document}

答案2

更新 2021-10-31

cutwin 已在 ctan 上更新,不再需要补丁


旧答案

cutwin 在两个地方使用长度,\@tempdimc但无法确保两次使用之间长度不会改变——而 picture 现在正是这样做的。如果 cutwin 使用自己的临时长度,代码将再次有效:

\documentclass{book}
\usepackage{amsthm}
\usepackage{cutwin}
\usepackage{etoolbox}
\makeatletter
\newlength\cut@tempdimc
% patch twice:
\patchcmd\pageinwindow{\@tempdimc}{\cut@tempdimc}{}{\fail}
\patchcmd\pageinwindow{\@tempdimc}{\cut@tempdimc}{}{\fail}
\usepackage{lipsum}
\theoremstyle{plain}
\newtheorem{thm}{Theorem}
\begin{document}
\renewcommand\windowpagestuff{\rule{2cm}{2cm}}
\opencutleft
\begin{thm}
\begin{cutout}{2}{0pt}{\dimexpr\linewidth-2.5cm\relax}{6}
    \lipsum[1]
  \end{cutout}
\end{thm}
\end{document}

这是一个明显的错误cutwin(并且它也应该改变它的用法\@tempdimb,这也不安全)。

相关内容