希腊教育部允许我们的教科书有两种不同的尺寸,即小尺寸(17 厘米 X 21 厘米)和大尺寸(即 21 厘米 X 25 厘米)。我使用包装来定义这两种尺寸geometry
- 例如,为了获得大尺寸,我将包装称为
\usepackage[a4paper,
inner=1.55cm,
outer=1.55cm,
left=1.55cm,
right=1.55cm,
top=1.58cm,
bottom=1.58cm,
headsep=4mm]{geometry}
并且对小尺寸使用类似的调用。我想知道是否可以按照我们在编程语言中的方式对过程进行参数化,即定义一个变量bookSize
和两个常量SMALL
并LARGE
以以下形式编写代码
if bookSize=SMALL call geometry package with values for 'small' size
if bookSize=LARGE call geometry package with values for 'large' size
如果 LaTeX 允许这样的编码,我在哪里可以找到所有相关文档来研究这些内容?非常感谢... Athanasios
答案1
\documentclass{book}
% giving value to a variable
\def\bookSize{SMALL}%
% using some conditionals
\makeatletter
\def\ATH@SMALL{SMALL}%
\def\ATH@LARGE{LARGE}%
\ifx\bookSize\ATH@LARGE
\usepackage[a4paper,
inner=1.55cm,
outer=1.55cm,
left=1.55cm,
right=1.55cm,
top=1.58cm,
bottom=1.58cm,
headsep=4mm]{geometry}
\fi
\ifx\bookSize\ATH@SMALL
\usepackage[a5paper,% or what ever
inner=1cm,
outer=1cm,
left=1cm,
right=1cm,
top=1cm,
bottom=1cm,
headsep=3mm]{geometry}
\fi
\makeatother
\begin{document}
Hello world
\end{document}
您可以在以下位置找到相关文档http://www.eijkhout.net/texbytopic/texbytopic.html。从那里进入 bitbucket 站点的链接进行免费下载。当然还有 TeXBook(不免费)。
当然,现在有许多 LaTeX 软件包将核心 TeX 基元嵌入到所谓的用户级界面中。这些软件包在一定程度上纠正了 Leslie Lamport 的书(非免费)中对 LaTeX 的初始看法,该书并非真正面向“LaTeX 编程”(我当然是指用户级)。
LaTeX3 项目已经开发出包括用户级别和包作者级别的广泛方法。我想你应该检查一下解析文档(免费......)当然,还可以在以下网址了解更多信息https://ctan.org/tex-archive/macros/latex/contrib/l3packages其中包含了已经可用的非常重要的模块。编辑:需要添加一些链接,例如正则表达式啊,我在找这个l3内核