创建语言包选项

创建语言包选项

这本质上是同一个问题:编写一个包含语言相关字符串的类。但我没找到任何有效的解决方案。

我正在尝试创建一个语言是包选项的包,如下所示:

\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{mypackage}[2019]
\RequirePackage[utf8]{inputenc}                  
\RequirePackage{babel}                           

\DeclareOption{nynorsk}{
    \PassOptionToPackage{main=nynorsk}{babel}
        %\AtEndOfClass{\main@language{nynorsk}}
}        % Gir pakken med nynorsk babel
\DeclareOption{bokmål}{
    \PassOptionToPackage{main=norsk}{babel}
        %\AtEndOfClass{\main@language{norsk}}
}           % Gir pakken med bokmål babel
\DeclareOption{english}{
    \PassOptionToPackage{main=english}{babel}
        %\AtEndOfClass{\main@language{english}}
}         % Gives the package with english babel
\DeclareOption*{\PackageWarning{examplepackage}{Unknown ‘\CurrentOption’}} % for unknown input
\ProcessOptions\relax
\endinput

在文档中它看起来像这样:

\documentclass{article}
\usepackage[english]{mypackage}

\beging{document}
Hello, this is a document
\end{document}

我在文档中的 \usepackage[english]{mypackage} 行上收到此错误:

LaTeX Error: Unknown option `english' for package `mypackage*. Missing
= inserted for \infum. Missing numer,treated as zero.

在 \begindocument 行上我收到此错误:

LaTeX error: \RequirePackage or \LoadClass in Options section

那么,如何创建具有语言选项的多语言包?

编辑:我尝试将 babel 包包含在 mypackage 中,这样我可以写道:

\usepackage[english]{mypackage}

代替:

\usepakckage{mypackage}
\usepackage[english]{babel}

答案1

包加载后无法应用包选项,因此请移到\RequirePackage{babel}最后。

其次,不要使用非 ASCII 字符(如 å)。

第三,名字是\PassOptionsToPackage(注意“s”)。

相关内容