Memoir、Showframe 和 curve2e 不能很好地協同工作

Memoir、Showframe 和 curve2e 不能很好地協同工作

看來memoir類別和showframe包的組合curve2e不能很好地協同工作。下面是我用於測試的 MWE。

% memframeprob.tex

%\documentclass{book}
\documentclass[a4paper]{memoir}
\usepackage{showframe}
\usepackage{lipsum}
\usepackage{comment}

%\begin{comment}
\setlrmarginsandblock{0.5in}{*}{*}
\setulmarginsandblock{0.5in}{*}{1}
\checkandfixthelayout
\pagestyle{empty}
\usepackage{url}
%\end{comment]

\usepackage{pict2e}
\usepackage{curve2e} % problem 


%\begin{comment}
\newcommand*{\X}{{\LARGE\textbf{.}}}
\renewcommand*{\X}{\makebox(0,0){{\large\textbf{+}}}}
\newcommand*{\Flag}{{\LARGE$\uparrow$}}
\newcommand*{\mk}{\makebox(0,0){$\circ$}}
\newcommand*{\Mk}{\makebox(0,0){$\bullet$}}
%\end{comment}

\begin{document}
\lipsum[1]
\end{document}

正如您所看到的,我嘗試透過註解掉一些程式碼來找到問題所在。當我編譯 MWE 時,我得到了

(/usr/local/texlive/2020/texmf-dist/context/base/mkii/sypp-pdf.mkii
[Loading MPS to PDF converter (version 2006.09.02).]
)
! Missing number, treated as zero.
<to be read again>
                   \bgroup
l.31 \end{document}

book當我使用該類別(刪除所有特定命令)時不會發生這種情況,並且當我不使用該套件時也memoir不會發生這種情況。memoirbookcurve2e

我不知道是什麼原因導致了這個問題。

答案1

自 2020 年 10 月 1 日發布以來,乳膠圖片模式允許\put座標長度(先前的功能,但由picture套件提供的不同)。

Curve2e 已更新,但遺漏了一些情況,包括\line

% memframeprob.tex

%\documentclass{book}
\documentclass[a4paper]{memoir}
\usepackage{showframe}
\usepackage{lipsum}
\usepackage{comment}

%\begin{comment}
\setlrmarginsandblock{0.5in}{*}{*}
\setulmarginsandblock{0.5in}{*}{1}
\checkandfixthelayout
\pagestyle{empty}
\usepackage{url}
%\end{comment]

\usepackage{pict2e}
\usepackage{curve2e} % problem 

\makeatletter



\def\line(#1)#2{\begingroup
  \@defaultunitsset\@linelen{#2}\unitlength
  \ifdim\@linelen<\z@\@badlinearg\else
    \expandafter\DirOfVect#1to\Dir@line
    \GetCoord(\Dir@line)\d@mX\d@mY
    \ifdim\d@mX\p@=\z@\else
      \edef\sc@lelen{\fpeval{1 / abs(\d@mX)}}\relax
      \@linelen=\sc@lelen\@linelen
    \fi
    \moveto(0,0)\pIIe@lineto{\d@mX\@linelen}{\d@mY\@linelen}%
    \strokepath
  \fi
\endgroup\ignorespaces}%


\makeatother


%\begin{comment}
\newcommand*{\X}{{\LARGE\textbf{.}}}
\renewcommand*{\X}{\makebox(0,0){{\large\textbf{+}}}}
\newcommand*{\Flag}{{\LARGE$\uparrow$}}
\newcommand*{\mk}{\makebox(0,0){$\circ$}}
\newcommand*{\Mk}{\makebox(0,0){$\bullet$}}
%\end{comment}

\begin{document}
\lipsum[1]
\end{document}

相關內容