有没有办法创建我自己的错误消息,当主字体大小未设置为 11pt 时,文档的编译开始停止时给出该消息?
更新
我正在尝试编写一个包,并使用:
\documentclass{scrreprt}%or scrbook or scrartcl
\usepackage{classicthesis}
答案1
如果你正在写一个包,foo.sty
那么说
\AtBeginDocument{
\if\@ptsize1\else
\PackageError{foo}
{Illegal font size option detected.\MessageBreak
This is a fatal error, I'll stop the run}
{You have specified a point size different from\MessageBreak
the unique size this package supports, which is 11pt.\MessageBreak
Correct your input file}
\expandafter\@@end
\fi}
会做。
答案2
如果您正在使用标准文档类之一(article
,book
或report
),则该宏\@ptsize
包含1
以下内容11pt
:
\documentclass[12pt]{article}
\makeatletter
\AtBeginDocument{%
\newcommand{\@ptsizetest}{1}% Equivalent to 11pt for a document class option.
\ifx\@ptsizetest\@ptsize\relax\else
\@latex@error
{You need to use 11pt font size}% Error message
{Add this as a document class option [11pt]}% Help text
\fi%
}
\makeatother
\begin{document}
Test document
\end{document}
这会产生错误
LaTeX 错误:您需要使用 11pt 字体大小。
如果您使用其他定义字体大小的包,则还需要做更多的工作。