如何将几何包与 newlfm 文档一起使用?

如何将几何包与 newlfm 文档一起使用?

我正在使用 newlfm 字母文档类,并尝试加载几何包。这将返回以下错误:

! LaTeX Error: Command \geometry already defined.

我想要做的是在文本和页面顶部之间留出更多空间(边距)。下面提供了 MWE:

\documentclass{newlfm}
\usepackage[margin=0mm, top=2mm]{geometry}

\begin{document}
\begin{letter}{Recipient Company\\ Recipient Address}

\opening{Dear Sir or Madam,}

Here goes the letter content

\end{letter}
\end{document}

我究竟做错了什么?

答案1

该命令\geometry似乎已由类定义 newflm。如果您不想使用默认页面设置,请将

\let\geometry\relax

略低于\documentclass{newlfm}

您的文件将变为:

\documentclass{newlfm}
\let\geometry\relax
\usepackage[margin=0mm, top=2mm]{geometry}

\begin{document}
\begin{letter}{Recipient Company\\ Recipient Address}

\opening{Dear Sir or Madam,}

Here goes the letter content

\end{letter}
\end{document}

更新忽略文档类定义的命令肯定会在某些时候引起麻烦(同意@Mico)。因此,使用这些命令总是更好的。这个 MWE 展示了如何使用类newlfm本身的内置命令来处理不同的边距。

\documentclass[a4paper]{newlfm}
%% to change margins-----------------------
\leftmarginsize{0in}
\rightmarginsize{0in}
\topmarginsize{2mm}
\topmarginskip{0in}
\headermarginsize{0in}
\headermarginskip{0in}
%%-----------------------------------------
\usepackage{lipsum} %% to add dummy text
%%-----------------------------------------
\nameto{George Bush} \addrto{\parbox{2in}{The White House \\ Washington, DC}}
\namefrom{Paul Thompson} \addrfrom{\parbox{2in}{The Pink House \\ Belleville, IL}}
%%-----------------------------------------
\begin{document}
\closeline{Sincerely yours,} \greetto{Dear Mr. Bush,}
\begin{newlfm}
How are the azaleas?

\lipsum[5]
\end{newlfm}
\end{document}

如需了解更多详细信息,可以texdoc newlfm从命令提示符运行,这些长度的详细信息可在手册第 8 页找到。我附上了相同的屏幕截图。

在此处输入图片描述

答案2

(评论太长)

来自用户指南新lfm文档类别:

geometry不再用于尺寸设置。相反,所有尺寸都是内部设置的。这是使用默认值、页眉和页脚大小以及用户输入的值的组合来完成的。这些主要包括页面大小命令leftmarginsizetextwidthsizerightmarginsize

我猜这段话的意思是,如果你要用这个文档类来处理信件、传真和备忘录,你应该尝试不是使用geometry包及其方法;而是尝试直接使用文档类提供的参数newlfm。相反,即使您geometry最终能够通过首先取消定义命令来加载包(参见@HarishKumar 的回答) \geometry,您可能会发现与页面相关的参数无法按照您期望的方式工作,例如在article文档类中。

附录:这里有一个简单的示例,说明如果您希望左右边距各为 1.5 英寸宽,可以如何操作:

\leftmarginsize{1.5in}
\rightmarginsize{1.5in}

然后,文本块的宽度将计算为<paperwidth>-2*1.5";如果纸张恰好是“美国信纸”尺寸(8.5 英寸 x 11 英寸),则文本块最终宽度将为 5.5 英寸。其他与页面相关的参数通常由您作为命令参数提供的选项决定\documentclass[...]{newlfm}

相关内容