这在某种程度上与此相关将包作为可选参数加载:
我正在尝试将几何包作为可选项加载,这意味着:如果在序言中定义,则应该使用我的边距加载,如果没有,文档将具有文章,书籍,报告等的默认几何形状。
我必须得说,我根本不是一个程序员,但在我看来,我在 MWE 中写的内容是有意义的 :)。基本上,我试图找到一个公式(适合我的人文主义思想)——即,当我需要时,以简单的步骤加载一些符合我的规范的包。
我还希望对代码有一些 %%% 的评论 %%%,因为我想理解并在我想要加载的其他包上重现。
使用我的代码,利润率会发生变化,但我的规格不会发生变化......
数学家协会
% !TEX program = pdflatex
% !TeX encoding = UTF-8
\documentclass{article}
\usepackage{kantlipsum}
\usepackage{testpckg}
%\usepackage{geometry}
\begin{document}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{filecontents}[force]{testpckg.sty}
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{testpckg}[2021/02/26 Test package]
\RequirePackage[T1]{fontenc}
\RequirePackage[utf8]{inputenc}
%\RequirePackage{xstring}
%\RequirePackage{geometry}
% -- if specified in preamble load with this specs
\newif\iftestpckg@geometry
\DeclareOption{geometry}{%
\testpckg@geometrytrue
\geometry{top=.5cm,bottom=.5cm,right=.5cm,left=.5cm} % <-- just for better visualization
}
\ProcessOptions
\iftestpckg@geometry
\RequirePackage{geometry} % <-- else load default geometry from article, book, report...
\fi
\end{filecontents}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\kant
\end{document}
答案1
% !TEX program = pdflatex
% !TeX encoding = UTF-8
\begin{filecontents}[force]{testpckg.sty}
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{testpckg}[2021/02/26 Test package]
\RequirePackage[T1]{fontenc}
\RequirePackage[utf8]{inputenc}
\newif\iftestpckg@geometry
\DeclareOption{geometry}{\testpckg@geometrytrue}
\ProcessOptions
\RequirePackage{geometry}
\iftestpckg@geometry
\geometry{top=.5cm,bottom=.5cm,right=.5cm,left=.5cm}
\fi
\end{filecontents}
\documentclass{article}
\usepackage{kantlipsum}
\usepackage{testpckg}
%\geometry{margin=5cm}
\begin{document}
\kant
\end{document}
您\usepackage{testpckg}
将获得:
您\usepackage[geometry]{testpckg}
将获得: