设置 \textwidth 似乎会破坏 textpos 包中的 textblock* 命令?

设置 \textwidth 似乎会破坏 textpos 包中的 textblock* 命令?

我想使用包textblock*中的命令绝对定位文本textpos。最小工作示例:

\documentclass{article}
\usepackage[absolute]{textpos}
% \renewcommand{\textwidth}{17cm} % (*)
\begin{document}
  \begin{textblock*}{3cm}(1cm,0.98\paperheight)
    XXXXXXXXXXXXXXX
  \end{textblock*}
\end{document}

当我重新定义上面textwidth标记的行时,它就中断了(*)。为什么会这样,更重要的是,我该如何修复它?(“它中断”在这里意味着我得到了“!缺少数字,视为零。!非法计量单位(插入 pt)。”在包含文本的行中(上面的占位符“X...X”)。)

附加问题:我怎样才能指定类似的东西\paperheight - 1cm

答案1

对于第二个问题,您必须使用\setlength而不是\renewcommand并且:\dimexpr\paperheight-1cm\relax

\documentclass{article}
\usepackage[absolute]{textpos}
\setlength{\textwidth}{17cm} % (*)
\begin{document}
  \begin{textblock*}{3cm}(1cm,\dimexpr\paperheight-1cm\relax)
    XXXXXXXXXXXXXXX
  \end{textblock*}
\end{document}

在此处输入图片描述

相关内容