将包作为可选参数加载

将包作为可选参数加载

这在某种程度上与此相关将包作为可选参数加载

我正在尝试将几何包作为可选项加载,这意味着:如果在序言中定义,则应该使用我的边距加载,如果没有,文档将具有文章,书籍,报告等的默认几何形状。

我必须得说,我根本不是一个程序员,但在我看来,我在 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}将获得:

在此处输入图片描述

相关内容