这本质上是同一个问题:编写一个包含语言相关字符串的类。但我没找到任何有效的解决方案。
我正在尝试创建一个语言是包选项的包,如下所示:
\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”)。