diff options
author | Norbert Preining <norbert@preining.info> | 2023-10-02 03:05:35 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2023-10-02 03:05:35 +0000 |
commit | 5f9c1e9c3c9b2ac59c6f868744ee6fafee27ab39 (patch) | |
tree | 0eeb99db5c67d9d98c690cdc0322bb1f9d2f3be6 /macros/unicodetex/latex | |
parent | 8a05034cb5d7ae61b2de6857258caa3e43b496aa (diff) |
CTAN sync 202310020305
Diffstat (limited to 'macros/unicodetex/latex')
-rw-r--r-- | macros/unicodetex/latex/bithesis/README.md | 2 | ||||
-rw-r--r-- | macros/unicodetex/latex/bithesis/bithesis.dtx | 3549 | ||||
-rw-r--r-- | macros/unicodetex/latex/bithesis/bithesis.ins | 6 | ||||
-rw-r--r-- | macros/unicodetex/latex/bithesis/bithesis.pdf | bin | 1178694 -> 556835 bytes | |||
-rw-r--r-- | macros/unicodetex/latex/polyglossia/README.md | 2 | ||||
-rw-r--r-- | macros/unicodetex/latex/polyglossia/polyglossia.dtx | 2082 | ||||
-rw-r--r-- | macros/unicodetex/latex/polyglossia/polyglossia.pdf | bin | 370782 -> 371303 bytes |
7 files changed, 1323 insertions, 4318 deletions
diff --git a/macros/unicodetex/latex/bithesis/README.md b/macros/unicodetex/latex/bithesis/README.md index 8326e57558..e281ceb931 100644 --- a/macros/unicodetex/latex/bithesis/README.md +++ b/macros/unicodetex/latex/bithesis/README.md @@ -13,7 +13,7 @@ The current maintainer of this project is [Feng Kaiyu](https://github.com/fky201 BIThesis is an unofficial LaTeX template set for your **undergraduate, master, or doctoral thesis** as well as other academic writing here at BIT. -This project is supported by the _[Dept. of Undergraduate Academic Affairs, BIT](https://jwc.bit.edu.cn/)_ and the _[School of Computer Science and Technology, BIT](https://cs.bit.edu.cn/)_. See [Acknowledgements - Official Sponsors](https://bithesis.bitnp.net/guide/acknowledgements.html#%E5%AE%98%E6%96%B9%E8%B5%9E%E5%8A%A9-official-sponsors). +This project is supported by the _[Dept. of Undergraduate Academic Affairs, BIT](https://jwb.bit.edu.cn/)_ and the _[School of Computer Science and Technology, BIT](https://cs.bit.edu.cn/)_. See [Acknowledgements - Official Sponsors](https://bithesis.bitnp.net/guide/acknowledgements.html#%E5%AE%98%E6%96%B9%E8%B5%9E%E5%8A%A9-official-sponsors). At present, `bithesis` only supports XeTeX and LuaTeX engines. `bithesis` only allows `UTF-8` encoding. diff --git a/macros/unicodetex/latex/bithesis/bithesis.dtx b/macros/unicodetex/latex/bithesis/bithesis.dtx index 4ff2271a14..f930ad8eed 100644 --- a/macros/unicodetex/latex/bithesis/bithesis.dtx +++ b/macros/unicodetex/latex/bithesis/bithesis.dtx @@ -21,1892 +21,26 @@ %<thesis>\ProvidesExplClass{bithesis} %<report>\ProvidesExplClass{bitreport} %<beamer>\ProvidesExplClass{bitbeamer} -%<cls>{2023-05-01}{3.5.4}{BIT Thesis Templates} -% -%<oldcls>\NeedsTeXFormat{LaTeX2e}[2020/10/01] -%<book>\ProvidesClass{bitbook} -%<article>\ProvidesClass{bitart} -%<graduate>\ProvidesClass{bitgrad} -%<oldcls> [2022/05/09 v2.1.1 BIT Thesis Templates] +%<cls>{2023-10-01}{3.6.0}{BIT Thesis Templates} % %<*driver> -\ProvidesFile{bithesis.dtx}[2023/05/01 3.5.4 BIT Thesis Templates] +\ProvidesFile{bithesis.dtx}[2023/10/01 3.6.0 BIT Thesis Templates] \documentclass[letterpaper]{l3doc} \usepackage{dtx-style} -\EnableCrossrefs -\CodelineIndex +\DisableCrossrefs \RecordChanges \begin{document} - \DocInput{\jobname.dtx} + \DocInput{\jobname-doc.tex} \PrintChanges \def\indexname{代码索引} - \PrintIndex + %%%%% \PrintIndex \end{document} %</driver> % \fi % -% \DoNotIndex{\newenvironment,\@bsphack,\@empty,\@esphack,\sfcode} -% \DoNotIndex{\addtocounter,\label,\let,\linewidth,\newcounter} -% \DoNotIndex{\noindent,\normalfont,\par,\parskip,\phantomsection} -% \DoNotIndex{\providecommand,\ProvidesPackage,\refstepcounter} -% \DoNotIndex{\RequirePackage,\setcounter,\setlength,\string,\strut} -% \DoNotIndex{\textbackslash,\texttt,\ttfamily,\usepackage} -% \DoNotIndex{\begin,\end,\begingroup,\endgroup,\par,\\} -% \DoNotIndex{\if,\ifx,\ifdim,\ifnum,\ifcase,\else,\or,\fi} -% \DoNotIndex{\let,\def,\xdef,\edef,\newcommand,\renewcommand} -% \DoNotIndex{\expandafter,\csname,\endcsname,\relax,\protect} -% \DoNotIndex{\Huge,\huge,\LARGE,\Large,\large,\normalsize} -% \DoNotIndex{\small,\footnotesize,\scriptsize,\tiny} -% \DoNotIndex{\normalfont,\bfseries,\slshape,\sffamily,\interlinepenalty} -% \DoNotIndex{\textbf,\textit,\textsf,\textsc} -% \DoNotIndex{\hfil,\par,\hskip,\vskip,\vspace,\quad} -% \DoNotIndex{\centering,\raggedright,\ref} -% \DoNotIndex{\c@secnumdepth,\@startsection,\@setfontsize} -% \DoNotIndex{\ ,\@plus,\@minus,\p@,\z@,\@m,\@M,\@ne,\m@ne} -% \DoNotIndex{\@@par,\DeclareOperation,\RequirePackage,\LoadClass} -% \DoNotIndex{\AtBeginDocument,\AtEndDocument,\AtBeginEnvironment} -% -% \GetFileInfo{\jobname.dtx} % -% -% \def\indexname{索引} -% \IndexPrologue{\section{\indexname}} -% -% \title{\includegraphics[width=0.3\textwidth]{images/icon.png} -% \\[1cm] -% \bfseries 北京理工大学{\LaTeX}学位论文及报告模板 } -% \author{北京理工大学网络开拓者协会 \\ \texttt{webmaster@bitnp.net}} % -% \date{\zihao{-4} \today\quad \color{RubineRed}{\kaishu {\BIThesis}版本\version}} -% \maketitle\thispagestyle{empty} -% -% \def\abstractname{} -% \begin{abstract}\noindent -% 此宏包旨在建立一个简单易用的北京理工大学学位论文 $\LaTeX$ 模板 -% (以及其他模板),包括本科毕业设计与研究生学位论文。 -% \end{abstract} -% -% \vspace{5mm} -% -% \begin{center} -% \noindent\rule[0.25\baselineskip]{0.5\textwidth}{0.7pt} -% \end{center} -% -% \def\abstractname{免责声明} -% \begin{abstract} -% \noindent -% \begin{enumerate} -% \item 本模板的发布遵守 \LPPL ,使用前请认真阅读协议内容。 -% \item 与\BIThesis 相关的文档内容采用 -% \href{https://github.com/BITNP/BIThesis-wiki/blob/main/LICENSE}{CC0-1.0 协议} 发布。 -% \item 任何个人或组织以本模板为基础进行修改、扩展而生成的新的专用模板, -% 请严格遵守 \LaTeX{} Project Public License 协议。 -% 由于违犯协议而引起的任何纠纷争端均与本模板作者无关。 -% \end{enumerate} -% \end{abstract} -% -% \vspace{5mm} -% -% \def\abstractname{简介} -% \begin{abstract} -% \BIThesisLaTeX 是北京理工大学本科生毕业设计与研究生学位论文, -% 以及其他课程报告、实验报告的 {\LaTeX} 模板集合。 -% 如果你厌烦了 Word 格式的不人性化、参考文献的难以管理、 -% 公式输入的差劲体验……那么欢迎来尝试用专业的学术稿件排版利器 —— {\LaTeX}, -% 来排版你的论文。 -% 专业高端、学界认可、开源免费,{\LaTeX} 是你论文排版的最佳搭档。 -% -% \BIThesisLaTeX 目前支持使用 {\hologo{XeLaTeX}} 进行编译, -% 使用以 biber 为后端的 BibLaTeX 进行参考文献的生成, -% 符合《信息与文献参考文献著录规则》 -% (\href{http://openstd.samr.gov.cn/bzgk/gb/newGbInfo?hcno=7FA63E9BBA56E60471AEDAEBDE44B14C}{GB/T 7714—2015}) -% 的标准。 -% -% 目前,\BIThesisLaTeX 主要设计完成了 -% 本科生毕业(设计)论文、研究生学位论文、本科生毕业(设计)论文外文翻译、 -% 全英文专业本科生毕业(设计)论文与通用实验报告的 {\LaTeX} 模板。 -% -% \end{abstract} -% \newpage -% -% \tableofcontents -% \clearpage -% \setlength{\parskip}{0.8ex} -% -% \section{常用术语表} -% \label{sec:terms} -% \begin{description} -% \item[\LaTeX] \LaTeX{} 是一个高质量的文档排版系统 -% ,他是基于 \TeX{} 进一步封装实现的。 -% \item[\LaTeX2e] \LaTeX2e 是 \LaTeX{} 的最新稳定版本, -% 目前大家使用的都是这个版本。 -% \item[\LaTeX3] \LaTeX3 是 \LaTeX{} 的下一代版本, -% 目前还在开发中(近十年了)。 -% \LaTeX3 旨在为宏基编写人员提供一套通用的编程层。 -% 目前,\LaTeX3 的功能已经 -% 通过 \pkg{expl3} 等宏包在 \LaTeX2e 中提供。 -% 目前,|bithesis| 就是通过 \pkg{expl3} 实现的。 -% \item[\LaTeX 引擎] 引擎就是将TeX代码转化为页面描述语言(PDL)的核心部分, -% 就像C语言的编译器一样。比如 \hologo{XeLaTeX}、\hologo{LuaLaTeX} 等。 -% \item[编辑器] TeX的编辑器给用户提供了较为方便的交互工具, -% 将一些编译的过程都做成了按钮, -% 省去了我们需要去命令行一步步编译,且提供了较为方便的编辑环境, -% 如快捷键注释、语法高亮等等功能。常见的编辑器有 TeXstudio 等。 -% 另一些编辑器则是通过插件的方式来实现 TeX 的编辑,如 VSCode、Neovim、Vim 等。 -% \item[宏包 (package)] \LaTeX{} 语言本质上是一个宏语言(通过文本替换而层层展开), -% 而宏包就是一些宏的集合。CTAN 中的 bithesis 就是一个宏包。 -% \item[宏集] 宏集是一些宏包的集合,比如 ctex 宏集。 -% \item[CTAN] Comprehensive TeX Archive Network,CTAN 是 TeX 项目的官方网站, -% 也是 TeX 项目的主要资源库。 -% 你使用的 \LaTeX{} 发行版中的宏包都是通过 CTAN 来发布的。 -% \item[发行版] 发行版是将引擎,格式,宏包等等打包成一套安装文件的软件, -% TeX Live、MiKTeX 等。 -% \item[文档类] 文档类指代一类以 |.cls| 结尾的文件,它们定义了文档的基本结构, -% 通常包括文档的标题、作者、日期、页眉、页脚、正文样式等等。 -% 你可以通过 \tn{documentclass} 命令来指定文档类。 -% 没错,|bithesis| 为你提供的模板功能就是通过数个文档类实现的。 -% \end{description} -% -% \section{项目简介} -% \subsection{历史与贡献者们} -% \begin{itemize} -% \item 在 2017 年之前,网络上已经出现一些北京理工大学学位论文 \LaTeX 模板。 -% 它们是“2012大眼小蚂蚁版”和“2016汪卫版”,均以上海交通大学的模板为基础。 -% \item 2017 - 2018 年,计算机学院 2016 级研究生杨雅婷等人受研究生院委托, -% 制作了\href{https://github.com/BIT-thesis/LaTeX-template}{BIT-Thesis} -% 研究生学位论文模板。 -% \item 2019 - 2020 年,\BIThesis 最早由 2016 级的 -% 武上博、王赞、唐誉铭、牟思睿和詹熠莎等人维护。 -% \begin{itemize} -% \item 此时,\BIThesis 仅支持本科生毕业论文的排版。 -% \item 在此期间,\BIThesis 从无到有诞生了,包括使用手册、 -% 在线文档和开箱即用的模板。 -% \item 同时,2017 级的赵池等同学完成了一系列 \BIThesisLaTeX -% 的视频教程。 -% \end{itemize} -% \item 2020 - 2021 年,2017 级的冯开宇、杨思云、郝正亮和顾骁等人 -% 接管了维护开发工作。 -% \begin{itemize} -% \item 在此期间,冯开宇将原来的 .tex 文件制作成了宏包,并发布到 CTAN 上。 -% \item 项目代码也随之被拆分成了 \BIThesisMacroPackage, -% \BIThesisWiki 和 \BIThesisScaffold。 -% \item 此版本是 V2 版本,代号为 Birthday Cake. -% \end{itemize} -% \item 2021 - 2022 年,2021 级(硕士研究生)的冯开宇针对 2021、 -% 2022 毕业季收到的反馈对该项目进行维护升级。 -% \begin{itemize} -% \item 在此期间,冯开宇合入了杨雅婷等人在 2017 年开发的研究生学位论文模板。 -% \item 在项目架构上,BIThesis-scaffold 合入 BIThesis 以便于进一步维护。 -% \item 次年暑假期间,冯开宇用 \pkg{expl3} 重构了\LaTeX 样式代码, -% 向用户提供了简易易用的接口。 -% \item 同时,也增加了本科全英文专业的毕设论文模板样式。 -% \item 此版本是 V3 版本,代号为 Summer Time. -% \end{itemize} -% \item 2023 年,冯开宇在此版本上增加了多种新的功能,并修复了一些已知的问题。 -% 并推进了官方(教务部、研究生院)对 \BIThesis 的认可。 -% \end{itemize} -% -% \subsection{\BIThesis 是什么?} -% \BIThesis 之名是英文单词 Beijing Institution of Technology(北京理工大学) -% 的首字母缩写“BIT” 与“Thesis”结合而成。在纯文本环境下,该名字应写作“BIThesis”。 -% 同理,其 IPA 发音为 |/ˈbiːˈaiˈtiːˈθiː.sis/|。 -% -% \BIThesisLaTeX 是由北京理工大学众多学子发起并维护的开源项目。 -% 该项目旨在建立一套简单易用的北京理工大学 \LaTeX 学位论文模板。 -% -% \subsection{为什么要使用 \BIThesis?} -% 学位论文通常具有比较严格的格式要求,这是为了方便同行学术交流的起码要求, -% 同时也是科学研究严谨性的体现。 -% 然而,由于市场各种排版软件混杂,使用者水平不一,学生对格式的重视程度不够, -% 学生编写标准格式的学位论存在很多问题。 -% \BIThesisLaTeX 为符合北京理工大学硕士(博士)学位论文的LaTeX模板。 -% 通过使用\BIThesisLaTeX 模板,学生可以轻松撰写符合学校格式要求的学位论文, -% 避免繁琐的论文格式调整;从而将关注点更多地放在高质量的内容本身。 -% -% 要使用这个模板协助你完成学位论文的创作,下面的条件必须满足: -% \begin{itemize} -% \item 操作系统字体目录中有中文字体; -% \item \TeX~系统有~\XeTeX~引擎(一般发行版均已经具备); -% \item 你有使用~\LaTeX~ 的经验,或者愿意为此学习; -% \end{itemize} -% -% \subsubsection{\BIThesisLaTeX 的组成} -% 我们将 \BIThesisLaTeX 划分为了两个主要仓库: -% \begin{table}[H] -% \centering -% \begin{tabular}{@{}l l p{6cm} @{}} -% \toprule -% 项目 & 项目地址 & 主要目的 \\ \midrule -% BIThesis & \href{https://github.com/BITNP/BIThesis}{BITNP/BIThesis} -% & 主要存储 \BIThesis 宏包以及开箱即用的模板样式 \\ -% BIThesis-wiki -% & \href{https://github.com/BITNP/BIThesis-wiki}{BITNP/BIThesis-wiki} -% & 存储 \BIThesisLaTeX 项目在线文档 \\ \bottomrule -% \end{tabular} -% \end{table} -% -% 如果你仅想解决「我如何使用 \BIThesisLaTeX 来帮助我完成实验论文?」这个问题, -% 那么欢迎你访问我们的\href{https://bithesis.bitnp.net}{在线文档}以获得更多信息。 -% -% 如果你想深入了解 \BIThesisLaTeX 提供的接口的各种选项,那么请继续阅读。 -% -% \subsection{\BIThesis 如何的设计原则是什么?} -% -% \BIThesis 的基本设计原则是: -% \begin{itemize} -% \item \textbf{保持开箱即用的特性},即用户不需要修改任何代码即可使用 \BIThesisLaTeX 。 -% \item \textbf{保持对官方模板的兼容性},让用户只用关注内容本身。 -% \item \textbf{关注用户体验},提供简单易用的接口,对于有争议的设计,我们会提供多种选择。 -% \item \textbf{模板即软件},「罗马不是一天建成的」,我们会积极地维护 \BIThesisLaTeX 。 -% \end{itemize} -% -% 为了保证以上原则,我们引入了多种测试机制(如集成测试、回归测试)来保证 \BIThesis 的质量。 -% 并采用了正规软件开发的流程,如版本控制、代码审查、持续集成等,来保证 \BIThesis 的可维护性。 -% -% \subsection{\BIThesis 宏包的组成} -% 为了适应用户的不同需求,我们将 \BIThesisMacroPackage -% 的主要功能设计安排在两个中文文档类当中,具体的组成见 \ref{tab:classes}。 -% \begin{table}[H] -% \centering -% \caption{测试} -% \label{tab:classes} -% \begin{tabular}{@{}lll@{}} -% \toprule -% 类别 & 文件 -% & 说明 \\ \midrule -% \multirow{2}{*}{文档类} & \cls{bithesis.cls}\ref{sec:bithesis} -% & 封装本科生与研究生的毕业论文样式。 \\ -% & \cls{bitreport.cls}\ref{sec:bitreport} -% & 封装了本科生开题报告(已废弃)与实验报告样式。 \\ \cmidrule(l){2-3} -% & \cls{bitbeamer.cls} -% & 对应 ctexbeamer.cls ,提供了北理工的 Beamer 模板样式。 -% \\ \cmidrule(l){2-3} -% \end{tabular} -% \end{table} -% -% \subsection{\BIThesisLaTeX 是如何发布的?} -% \label{sec:release} -% -% \BIThesisLaTeX 每一个版本会有三种发布方式: -% -% \begin{itemize} -% \item CTAN 发布: -% \href{https://ctan.org/pkg/bithesis}{CTAN bithesis package} -% \item GitHub 发布: -% \href{https://github.com/BITNP/BIThesis/releases}{Github Releases} -% \footnote{最推荐使用此种方式} -% \item Overleaf 发布: -% \href{https://bithesis.bitnp.net}{Overleaf Templates} -% \end{itemize} -% 其中,CTAN 上发布的是 bithesis 宏包,也就是 |*.cls| 组成的文件, -% 它们可以通过 \TeX 发行版自带的包管理器 tlmgr 来更新。 -% -% GitHub 和 Overleaf 上发布的是 \BIThesisLaTeX 的完整模板,因此想要升级 -% 到最新版本,你需要重新下载最新模板。然后,选择下列方法的一种来更新: -% -% \begin{itemize} -% \item 将新模板中的 |*.cls| 文件替换到你原有模板的工作目录中。 -% \item 将旧模板中的写作内容复制到新模板中。 -% \end{itemize} -% -% 需要注意的是,Github 和 Overleaf 的模板中包含了当前版本的 |*.cls| 文件, -% 因此不会因为 CTAN 上的更新而导致模板无法编译。(但代价当然是需要手动升级) -% -% \subsection{版本号与升级} -% -% \BIThesisLaTeX 的版本号遵循 \href{https://semver.org/lang/zh-CN/}{语义化版本}, -% 也就是说,每个版本号由三个数字组成,分别表示主版本号、次版本号和修订号。 -% 例如,版本号 |1.2.3| 表示主版本号为 1,次版本号为 2,修订号为 3。 -% -% \BIThesisLaTeX 的主版本号会在有重大变化时(且无法前向兼容时)更新, -% 例如,模板的结构发生了变化、宏命令的使用方式发生了改变。 -% 次版本号会在有新功能添加时更新,例如,添加了新的功能和宏命令。 -% 修订号会在有 bug 修复时更新,例如,修复了某些宏命令的 bug、补充了某些文档。 -% -% 因此对于用户来说,主版本号的更新是不兼容的,次版本号与修订号的更新是向前兼容的。 -% 进行兼容性升级时,你只需要将新版本的 |*.cls| 文件替换到你原有模板的工作目录中即可。 -% 进行不兼容性升级时,你需要将旧模板中的写作内容复制到新模板中(记得要做好备份哦)。 -% -% \section{安装} -% -% \subsection{\BIThesis 宏包的安装和更新} -% -% 最常见的 \TeX 发行版(\hologo{TeX} Live 和 \hologo{MiKTeX})已收录 -% \BIThesisMacroPackage 及其依赖的宏包和宏集。 -% -% \begin{itemize} -% \item Windows、Linux用户推荐安装 TeX Live 套装, -% 并更新宏包(Linux系统由于版权问题,未能预装宋体等 Windows 下的字体,需要手动安装) -% \item OSX用户推荐安装 Mac TeX。 -% \item 由于CTeX套装所含宏包比较陈旧,可能会导致编译无法通过,故不推荐安装。 -% 如果已安装 CTeX,\textbf{建议将其卸载}。 -% \end{itemize} -% -% 如果安装以上发行版的时间较早,可能你本地的环境中不存在 -% \BIThesisMacroPackage 或者不是最新版本的。 -% 那么你需要通过包管理器来安装/更新 \BIThesisMacroPackage: -% -% \begin{shell}[morekeywords={tlmgr,install}] -% tlmgr install bithesis -% \end{shell} -% -% 更新可以通过图形界面进行,或者通过命令行: -% -% \begin{shell}[morekeywords={tlmgr,install}] -% tlmgr update bithesis -% \end{shell} -% -% \textbf{ -% 在安装完发行版之后,还需要安装编辑 \LaTeX 所需的编辑器,在这里推荐 TexStudio。 -% } -% -% \textit{更多安装教程请访问我们的 -% \href{https://bithesis.bitnp.net}{wiki 网站},那里收录了使用模板以外的信息。} -% -% \subsubsection{升级模板版本} -% -% 由于软件维护是一个持续的过程,我们会不定期地更新 \BIThesisMacroPackage 的版本。 -% 更新的版本可能会修复一些 bug,也可能会增加新的功能。 -% -% 因此,首先建议你首先查看最新版本与你当前版本的差异,以便决定是否升级。 -% 你可以通过 Github Releases 或者 ChangeLog 来查看更新内容。 -% -% 当你决定升级时,请首先备份你的工作目录,然后按照\ref{sec:release}节的描述进行升级。 -% -% \section{编译方式} -% -% \subsection{使用 Latexmk(推荐)} -% -% 在项目模板中,已经预制好了 latexmk 的配置文件 |.latexmkrc|。 -% -% 因此只需要在命令行里执行,或者在代码编辑器里配置并运行以下命令即可: -% -% \begin{shell} -% latexmk -% \end{shell} -% -% \subsubsection{手动四次编译} -% -% \begin{shell} -% xelatex -no-pdf --interaction=nonstopmode main -% biber main -% xelatex -no-pdf --interaction=nonstopmode main -% xelatex --interaction=nonstopmode main -% \end{shell} -% -% 运行bibtex的时候会提示一些错误,可能是~{{\sc Bib}\TeX}~对UTF-8支持不充 -% 分,一般不影响最终结果。加入~\verb|--interaction=nonstopmode|~参数是不让错误打断编译过程。 -% \XeTeX~ 仍存在一些宏包兼容性问题,而这些错误通常不会影响最终的编译结果。 -% -% \section{\cls{bithesis.cls} 使用与配置} -% \label{sec:bithesis} -% -% 推荐使用\BIThesisRelease (开箱即用)。 -% -% \BIThesisRelease 提供了多种最常用的模板,你可以在 -% \href{https://github.com/BITNP/BIThesis/releases}{主项目的 Releases}中找到它们。 -% -% 使用此文档类的模板有: -% \begin{itemize} -% \item \BIThesisTemplates{UT} -% \item \BIThesisTemplates{UTE} -% \item \BIThesisTemplates{PT} -% \item \BIThesisTemplates{GT} -% \end{itemize} -% -% \subsection{最小用例} -% -% \begin{latex} -% \documentclass[type=bachelor]{bithesis} -% \BITSetup{ -% info = { -% author = FKY, -% ...... -% } -% } -% \begin{document} -% \end{document} -% \end{latex} -% -% 如您所见,在 \LaTeX 中,用户使用的命令通常以「|\|」作为开头,后面依次跟随 -% 命令名称、若干可选参数和若干必需参数。如: -% -% \begin{latex} -% \MakeCover -% \BITSetup{} -% \FooBar[]{} -% \end{latex} -% -% 同理,用户使用的环境通常以 begin 和 end 进行包裹, -% 同样可以传入可选参数和必需参数: -% -% \begin{latex} -% \begin{abstract} -% \end{abstract} -% -% \begin{abstract}[addTOC=false] -% \end{abstract} -% -% \begin{foo}{param1} -% \end{foo} -% \end{latex} -% -% 需要强调的是:以方框号表示的可选参数,在没有参数传入的时候,是可以忽略的。 -% 比如以下两个命令等价: -% \begin{latex} -% \FooBar -% \FooBar[] -% \end{latex} -% -% 环境同理。 -% -% \subsection{模板选项} \label{sec:template-options} -% -% 所谓“模板选项”,指需要在引入文档类的时候指定的选项: -% -% \begin{latex}[deletetexcs={\documentclass},morekeywords={\documentclass}] -% \documentclass(*\oarg{模板选项}*){bithesis} -% \end{latex} -% -% \begin{function}{type} -% \begin{bitsyntax}[emph={[1]type}] -% type = (*<(bachelor)|\mbox{bachelor_translation}|\mbox{bachelor_english}|master|doctor>*) -% \end{bitsyntax} -% 选择论文类型,它们分别对应: -% \begin{itemize} -% \item \BIThesisTemplates{UT} -% \item \BIThesisTemplates{PT} -% \item \BIThesisTemplates{UTE} -% \item \BIThesisTemplates{GT} 研究生 -% \item \BIThesisTemplates{GT} 博士生 -% \end{itemize} -% \end{function} -% -% \begin{function}[added=2023-03-16]{english} -% \begin{bitsyntax}[emph={[1]english}] -% english = (*<(false)|true>*) -% \end{bitsyntax} -% 开启英文模式。此选项会将论文的标题、摘要、目录、参考文献等部分的 -% 中文部分替换为英文部分。适用于英文论文的撰写。 -% -% \begin{note} -% 本选项仅适用于 \BIThesisTemplates{GT} 模板,本科全英文专业的同学 -% 请直接使用 \BIThesisTemplates{UTE} 模板。 -% \end{note} -% \end{function} -% -% \begin{function}{blindPeerReview} -% \begin{bitsyntax}[emph={[1]blindPeerReview}] -% blindPeerReview = (*<(false)|true>*) -% \end{bitsyntax} -% -% 此选项用于输出符合盲审要求的论文。所有可能暴露个人信息的页面都将隐藏, -% 比如封面、信息页、原创性声明、个人简介、致谢等等。 -% \end{function} -% -% \begin{function}[added=2023-02-02]{quirks} -% \begin{bitsyntax}[emph={[1]quirks}] -% quirks = (*<(false)|true>*) -% \end{bitsyntax} -% -% 此选项用于开启针对北理工官方示例的兼容模式。 -% -% 具体包括: -% \begin{itemize} -% \item \pkg{biblatex} 中的 |patent| 类型将不再采用国标 GB/T 7714-2015 的格式, -% 而是采用北理工官方示例的格式。 -% \end{itemize} -% -% 之所以需要此选项,是因为北理工官方示例中的格式 -% 与国标 GB/T 7714-2015 中的格式不一致; -% 而这部分改动可能引入潜在的兼容性问题。 -% 而这些差异其实比较细微,所以我们将其作为一个默认不开启的选项。 -% -% 在未来,如果持续有用户反馈问题,亦或是没有边界问题, -% 我们可能会将其中的功能移入默认效果中。 -% -% \end{function} -% -% \begin{function}{twoside} -% \begin{bitsyntax}[emph={[1]twoside}] -% twoside = (*<(false)|true>*) -% \end{bitsyntax} -% \end{function} -% -% \begin{function}{ctex} -% \begin{bitsyntax}[emph={[1]ctex}] -% ctex = (*{传给 ctexbook 的模板选项}*) -% \end{bitsyntax} -% -% 该选项用于传入模板选项至 ctexbook。 -% -% 例如:想要同时修改 ctex 的字体参数和标点符号处理格式 -% (更多选项请参考 ctex 手册)。 -% -% \begin{latex}[emph={[1]type,master,ctex,fontset,fandol,punct,banjiao,bithesis}] -% \documentclass[type=master,ctex={fontset=fandol,punct=banjiao}]{bithesis} -% \end{latex} -% \end{function} -% -% \begin{function}[added=2023-03-10]{autoFakeBold} -% \begin{bitsyntax}[emph={[1]autoFakeBold}] -% autoFakeBold = (*<(3)|false|{数字}>*) -% \end{bitsyntax} -% -% 该选项用于调整 \cls{xeCJK} 中 |AutoFakeBold| 选项以定义伪粗体的粗细程度。 -% -% 默认为 3,一般按照经验来说,2.5——3 比较符合 Words 中的粗体样式。 -% -% \end{function} -% -% \subsection{参数设置} -% -% \begin{function}{\BITSetup} -% \begin{bitsyntax}[emph={[1]BITSetup}] -% \BITSetup = {(*\oarg{键值对}*)} -% \end{bitsyntax} -% \end{function} -% -% 本模板提供了一系列选项,可由您自行配置。载入文档类之后,以下所有选项均可通过统一的 -% 命令 \cs{BITSetup} 来设置。 -% -% \cs{BITSetup} 的参数是一组由(英文)逗号隔开的选项列表,列表中的选项通常是 \meta{key} = -% \meta{value} 的形式。部分选项的 \meta{value} 可以省略。对于同一项,后面的设置将会覆盖前面的设 -% 置。在下文的说明中,将用粗体表示默认值。 -% -% \cs{BITSetup} 采用 LATEX3 风格的键值设置,支持不同类型以及多种层次的选项设定。键值列 -% 表中,“=”左右的空格不影响设置;但需注意,参数列表中不可以出现空行。 -% 与模板选项相同,布尔型的参数可以省略 \meta{选项} = true 中的“= true”。 -% 另有一些选项包含子选项,如 cover 和 info 等。它们可以按如下两种等价方式来设定: -% -% \begin{latex}[morekeywords={\BITSetup},emph={[1]BITSetup,cover,date,info,title,author}] -% \BITSetup{ -% cover = { -% date = xxxx年x月, -% }, -% info = { -% author = Feng Kaiyu, -% title = A Thesis Title for Your Paper, -% } -% } -% \end{latex} -% -% 或者 -% -% \begin{latex}[morekeywords={\BITSetup},emph={[1]BITSetup,cover,date,info,title,author}] -% \BITSetup{ -% cover / date = xxxx年x月, -% info / author = Feng Kaiyu, -% info / title = A Thesis Title for Your Paper, -% } -% \end{latex} -% -% \textbf{请注意:以下选项根据模板的不同,可能会有不同的默认值。 -% 有些模板可能不会使用某些选项。使用与否以及使用方式是根据学校的论文撰写要求实现的。} -% -% \subsubsection{封面选项} \label{sec:cover} -% -% \begin{function}{cover} -% \begin{bitsyntax}[emph={[1]cover}] -% cover = (*\marg{键值列表}*) -% cover/(*\meta{key}*) = (*\meta{value}*) -% \end{bitsyntax} -% -% 该选项包含许多子项目,用于设置论文格式。具体内容见下。 -% \end{function} -% -% \begin{function}{cover/date} -% \begin{bitsyntax}[emph={[1]date}] -% date = (*\marg{任意字符串}*) -% \end{bitsyntax} -% -% 覆盖封面的日期。 -% \end{function} -% -% \begin{function}{cover/headerImage} -% \begin{bitsyntax}[emph={[1]headerImage}] -% headerImage = (*\marg{图片路径}*) -% \end{bitsyntax} -% -% 设置封面顶部的“北京理工大学”字样图片。 -% \end{function} -% -% \begin{function}{cover/xiheiFont} -% \begin{bitsyntax}[emph={[1]xiheiFont}] -% xiheiFont = (*\marg{字体路径}*) -% \end{bitsyntax} -% -% 配置此选项以在部分模板封面中使用“华文细黑”,保证与 Word 模板中的字体一致。 -% -% 在 Windows 和 MacOS 中,该字体已经安装;在 Linux 中一般需要用户自行安装。 -% \end{function} -% -% \begin{function}{cover/dilimiter} -% \begin{bitsyntax}[emph={[1]dilimiter}] -% dilimiter = (*\marg{任意字符串}*) -% \end{bitsyntax} -% -% \textit{此选项一般不需要用户自行修改。} -% -% 设置封面信息中标签和值的分隔符。一般为全角或者半角的冒号。 -% \end{function} -% -% \begin{function}{cover/autoWidth} -% \begin{bitsyntax}[emph={[1]autoWidth}] -% autoWidth = (*<(true)|false>*) -% \end{bitsyntax} -% -% \textit{此选项一般不需要用户自行修改。} -% -% 自动计算封面中下划线的长度。 -% -% 如果关闭了该选项,则建议配合\kvopt{cover/labelMaxWidth}{\meta{长度}}\\ -% 和\kvopt{cover/valueMaxWidth}{\meta{长度}}使用,以控制下划线的长度。 -% \end{function} -% -% \begin{function}{cover/autoWidthPadding} -% \begin{bitsyntax}[emph={[1]autoWidthPadding}] -% autoWidthPadding = (*<\marg{任意长度}>*) -% \end{bitsyntax} -% -% 自适应下划线长度时,下划线的长度会比标签和值的长度多出一些空白。 -% 该选项用于设置这些空白的长度。默认为 0.25em。 -% -% \textit{此选项一般不需要用户自行修改。} -% -% \end{function} -% -% \begin{function}{cover/labelMaxWidth} -% \begin{bitsyntax}[emph={[1]labelMaxWidth}] -% labelMaxWidth = (*\marg{任意长度}*) -% \end{bitsyntax} -% -% 此选项仅当\kvopt{cover/autoWidth}{false}时生效。 -% -% 设置封面信息中标签的占位长度。 -% \end{function} -% -% \begin{function}{cover/valueMaxWidth} -% \begin{bitsyntax}[emph={[1]valueMaxWidth}] -% valueMaxWidth = (*\marg{任意长度}*) -% \end{bitsyntax} -% -% \textit{此选项一般不需要用户自行修改。} -% -% 设置封面信息中值的占位长度。\textbf{同时也会影响下划线的长度。} -% \end{function} -% -% \begin{function}{cover/labelAlign} -% \begin{bitsyntax}[emph={[1]labelAlign}] -% labelAlign = (*<c|l|r>*) -% \end{bitsyntax} -% -% \textit{此选项一般不需要用户自行修改。} -% -% 设置封面信息中值的对其方式(居中,左对齐、右对齐)。 -% \end{function} -% -% \begin{function}{cover/valueAlign} -% \begin{bitsyntax}[emph={[1]valueAlign}] -% valueAlign = (*<c|l|r>*) -% \end{bitsyntax} -% -% 此选项仅当\kvopt{cover/autoWidth}{false}时生效。 -% -% 设置封面信息中标签的对其方式(居中,左对齐、右对齐)。 -% \end{function} -% -% \begin{function}{cover/underlineThickness} -% \begin{bitsyntax}[emph={[1]underlineThickness}] -% underlineThickness = (*\marg{任意长度}*) -% \end{bitsyntax} -% -% 设置封面信息中下划线的厚度。 -% \end{function} -% -% \begin{function}{cover/underlineOffset} -% \begin{bitsyntax}[emph={[1]underlineOffset}] -% underlineOffset = (*(-10pt)|\marg{任意长度}*) -% \end{bitsyntax} -% -% 设置封面信息中下划线的偏移量。 -% \end{function} -% -% \subsubsection{论文基本信息} -% -% \begin{function}{info} -% \begin{bitsyntax}[emph={[1]info}] -% info = (*\marg{键值列表}*) -% info/(*\meta{key}*) = (*\meta{value}*) -% \end{bitsyntax} -% -% 该选项包含许多子项目,用于录入论文信息。具体内容见下。 -% 一般以「En」结尾的项目表示对应的英文字段。 -% -% 这其中的很多字段将用于封面信息的渲染,此时,可以使用 |\\| 来换行,以防止单行内容过长。 -% \end{function} -% -% \begin{function}{info/title,info/titleEn} -% \begin{bitsyntax}[emph={[1]title,titleEn}] -% title = (*\marg{字符串}*) -% titleEn = (*\marg{字符串}*) -% \end{bitsyntax} -% -% 论文标题。 -% \end{function} -% -% \begin{function}{info/verticalTitle} -% \begin{bitsyntax}[emph={[1]verticalTitle}] -% verticalTitle = (*\marg{字符串}*) -% \end{bitsyntax} -% -% 书籍页竖排标题。此选项默认为空。为空时,会被 \kvopt{info/title}{字符串} 替代。 -% -% 如想要使用竖排英文,可以使用 \lstinline|{X }|。 -% 其中 X 为英文字符,每个竖排英文间需要空一格。 -% 比如,想要竖排「LaTeX」,可以使用: -% -% \begin{latex}[emph={[1]}] -% verticalTitle = {其他文字{L } {a } {T } {e } {X }其他文字} -% \end{latex} -% -% 如果想要使用旋转竖排英文,可以使用 -% \lstinline|\rotatebox[origin=c]{-90}{English text}|。 -% -% \begin{latex}[emph={[1]}] -% verticalTitle = {其他文字 \lstinline{\rotatebox[origin=c]{-90}{English text}} 其他文字} -% \end{latex} -% -% \end{function} -% -% \begin{function}{info/school,info/schoolEn} -% \begin{bitsyntax}[emph={[1]school,schoolEn}] -% school = (*\marg{字符串}*) -% schoolEn = (*\marg{字符串}*) -% \end{bitsyntax} -% -% 学院名称。 -% \end{function} -% -% \begin{function}{info/major,info/majorEn} -% \begin{bitsyntax}[emph={[1]major,majorEn}] -% major = (*\marg{字符串}*) -% majorEn = (*\marg{字符串}*) -% \end{bitsyntax} -% -% 专业名称。 -% \end{function} -% -% \begin{function}{info/author,info/authorEn} -% \begin{bitsyntax}[emph={[1]author,authorEn}] -% author = (*\marg{字符串}*) -% authorEn = (*\marg{字符串}*) -% \end{bitsyntax} -% -% 作者姓名。 -% \end{function} -% -% \begin{function}{info/studentId} -% \begin{bitsyntax}[emph={[1]studentId}] -% studentId = (*\marg{字符串}*) -% \end{bitsyntax} -% -% 学号。 -% \end{function} -% -% \begin{function}{info/supervisor,info/supervisorEn} -% \begin{bitsyntax}[emph={[1]supervisor,supervisorEn}] -% supervisor = (*\marg{字符串}*) -% supervisorEn = (*\marg{字符串}*) -% \end{bitsyntax} -% -% 指导教师。 -% \end{function} -% -% \begin{function}{info/externalSupervisor} -% \begin{bitsyntax}[emph={[1]externalSupervisor}] -% externalSupervisor = (*\marg{字符串}*) -% \end{bitsyntax} -% -% 校外指导教师。 -% \end{function} -% -% \begin{function}{info/keywords,info/keywordsEn} -% \begin{bitsyntax}[emph={[1]keywords,keywordsEn}] -% keywords = (*\marg{字符串;以全角分号分割}*) -% keywordsEn = (*\marg{字符串;以分号分割}*) -% \end{bitsyntax} -% -% 摘要关键词。 -% \end{function} -% -% \begin{function}{info/translationTitle} -% \begin{bitsyntax}[emph={[1]translationTitle}] -% translationTitle = (*\marg{字符串}*) -% \end{bitsyntax} -% -% 文献翻译中,翻译后的论文名称。 -% \end{function} -% -% \begin{function}{info/translationOriginTitleEn} -% \begin{bitsyntax}[emph={[1]translationOriginTitleEn}] -% translationOriginTitleEn = (*\marg{字符串}*) -% \end{bitsyntax} -% -% 文献翻译中,翻译前的论文名称。 -% \end{function} -% -% \begin{function}{info/classification} -% \begin{bitsyntax}[emph={[1]classification}] -% classification = (*\marg{字符串}*) -% \end{bitsyntax} -% -% 中国分类号。 -% \end{function} -% -% \begin{function}{info/UDC} -% \begin{bitsyntax}[emph={[1]UDC}] -% UDC = (*\marg{字符串}*) -% \end{bitsyntax} -% -% UDC分类号。 -% \end{function} -% -% \begin{function}{info/chairman,info/chairmanEn} -% \begin{bitsyntax}[emph={[1]chairman,chairmanEn}] -% chairman = (*\marg{字符串}*) -% chairmanEn = (*\marg{字符串}*) -% \end{bitsyntax} -% -% 答辩委员会主席。 -% \end{function} -% -% \begin{function}{info/degree,info/degreeEn} -% \begin{bitsyntax}[emph={[1]degree,degreeEn}] -% degree = (*\marg{字符串}*) -% degreeEn = (*\marg{字符串}*) -% \end{bitsyntax} -% -% 申请学位。 -% \end{function} -% -% \begin{function}{info/institute,info/instituteEn} -% \begin{bitsyntax}[emph={[1]institute,instituteEn}] -% institute = (*(北京理工大学)|\marg{字符串}*) -% instituteEn = (*(Beijing~Institute~of~Technology)|\marg{字符串}*) -% \end{bitsyntax} -% -% 学位授予单位。 -% \end{function} -% -% \begin{function}{info/defenseDate,info/defenseDateEn} -% \begin{bitsyntax}[emph={[1]defenseDate,defenseDateEn}] -% defenseDate = (*\marg{字符串}*) -% defenseDateEn = (*\marg{字符串}*) -% \end{bitsyntax} -% -% 答辩日期。 -% \end{function} -% -% \begin{function}{info/classifiedLevel} -% \begin{bitsyntax}[emph={[1]classifiedLevel}] -% classifiedLevel = (*\marg{字符串}*) -% \end{bitsyntax} -% -% 密级。 -% \end{function} -% -% \subsubsection{样式信息} -% -% \begin{function}{style} -% \begin{bitsyntax}[emph={[1]style}] -% style = (*\marg{键值列表}*) -% style/(*\meta{key}*) = (*\meta{value}*) -% \end{bitsyntax} -% -% 该选项包含许多子项目,用于调整样式。具体内容见下。 -% \end{function} -% -% \begin{function}{style/head} -% \begin{bitsyntax}[emph={[1]head}] -% head = (*\marg{字符串}*) -% \end{bitsyntax} -% -% \textit{此选项一般不需要用户自行修改。} -% -% 页眉文字。 -% \end{function} -% -% \begin{function}{style/bibliographyIndent} -% \begin{bitsyntax}[emph={[1]bibliographyIndent}] -% bibliographyIndent = (*(true)|false*) -% \end{bitsyntax} -% -% \textit{此选项一般不需要用户自行修改。} -% -% 控制参考文献的每一项中,首行之后的行是否缩进。 -% -% 之所以提供这个选项, -% 是因为在 Word 模板中参考文献的格式要求首行之后的行不缩进。 -% 但是国标要求首行之后的行缩进。 -% \end{function} -% -% \begin{function}[added=2023-03-19]{style/pageVerticalAlign} -% \begin{bitsyntax}[emph={[1]pageVerticalAlign}] -% pageVerticalAlign = (*(top)|scattered*) -% \end{bitsyntax} -% 设置页面垂直方向的对齐方式。 -% \begin{optdesc} -% \item[top] 顶部对齐。\textit{默认}。页面中的内容保持它的自然高度, -% 每一页的页面底部用空白填满。 -% \item[scattered] 分散对齐。页面高度均匀地填满,使每一页的底部直接对齐。 -% \end{optdesc} -% \end{function} -% -% \begin{function}[added=2023-03-29]{style/mathFont} -% \begin{bitsyntax}[emph={[1]mathFont}] -% mathFont = (*(cm)|asana|fira|...|xits|none*) -% \end{bitsyntax} -% 设置数学字体,具体配置见表~\ref{tab:math-font}。除 |Computer Modern| (默认)字体以外,均使用 \pkg{unicode-math} 宏包调用字体。 -% -% \end{function} -% -% \begin{table}[] -% \begin{tabular}{cc|cc} -% \toprule -% \textbf{选项名称} & \textbf{字体名称} & \textbf{选项名称} & \textbf{字体名称} \\ \midrule -% cm & Computer Modern & \cellcolor[HTML]{EFEFEF}newcm & \cellcolor[HTML]{EFEFEF}New Computer Modern Math \\ -% \cellcolor[HTML]{EFEFEF}asana & \cellcolor[HTML]{EFEFEF}Asana Math & stix & STIX Math \\ -% concrete & Concrete Math & \cellcolor[HTML]{EFEFEF}stix2 & \cellcolor[HTML]{EFEFEF}STIX Two Math \\ -% \cellcolor[HTML]{EFEFEF}erewhon & \cellcolor[HTML]{EFEFEF}Erewhon Math & xcharter & XCharter Math \\ -% euler & Euler Math & \cellcolor[HTML]{EFEFEF}xits & \cellcolor[HTML]{EFEFEF}XITS Math \\ -% \cellcolor[HTML]{EFEFEF}fira & \cellcolor[HTML]{EFEFEF}Fira Math & bonum & TeX Gyre Bonum Math \\ -% garamond & Garamond Math & \cellcolor[HTML]{EFEFEF}dejavu & \cellcolor[HTML]{EFEFEF}TeX Gyre DejaVu Math \\ -% \cellcolor[HTML]{EFEFEF}gfsneohellenic & \cellcolor[HTML]{EFEFEF}GFS Neohellenic Math & pagella & TeX Gyre Pagella Math \\ -% kp & KpMath & \cellcolor[HTML]{EFEFEF}schola & \cellcolor[HTML]{EFEFEF}TeX Gyre Schola Math \\ -% \cellcolor[HTML]{EFEFEF}libertinus & \cellcolor[HTML]{EFEFEF}Libertinus Math & termes & TeX Gyre Termes Math \\ -% lm & Latin Modern Math & & \\ \bottomrule -% \end{tabular} -% \caption{数学字体配置选项与名称说明} -% \label{tab:math-font} -% \end{table} -% -% \begin{function}[added=2023-03-29]{style/unicodeMathOptions} -% \begin{bitsyntax}[emph={[1]unicodeMathOptions}] -% unicodeMathOptions = (*({})|任意选项*) -% \end{bitsyntax} -% -% 传递给 \pkg{unicode-math} 的选项。 -% -% \end{function} -% -% \subsubsection{目录选项} -% -% \begin{function}{TOC} -% \begin{bitsyntax}[emph={[1]TOC}] -% TOC = (*\marg{键值列表}*) -% TOC/(*\meta{key}*) = (*\meta{value}*) -% \end{bitsyntax} -% -% 该选项包含许多子项目,用于调整其他选项。具体内容见下: -% \end{function} -% -% \begin{function}{TOC/abstract,TOC/abstractEn} -% \begin{bitsyntax}[emph={[1]abstract,abstractEn}] -% abstract = (*(true)|false*) -% \end{bitsyntax} -% -% \textit{此选项一般不需要用户自行修改。} -% -% 是否在目录中索引摘要。 -% \end{function} -% -% \begin{function}{TOC/symbols} -% \begin{bitsyntax}[emph={[1]symbols}] -% abstract = (*(true)|false*) -% \end{bitsyntax} -% -% \textit{此选项一般不需要用户自行修改。} -% -% 是否在目录中索引主要符号对照表。 -% \end{function} -% -% \subsubsection{附录选项} -% -% \begin{function}{appendices} -% \begin{bitsyntax}[emph={[1]appendices}] -% appendices = (*\marg{键值列表}*) -% appendices/(*\meta{key}*) = (*\meta{value}*) -% \end{bitsyntax} -% -% 该选项包含许多子项目,用于调整其他选项。具体内容见下: -% \end{function} -% -% \begin{function}{appendices/chapterLevel} -% \begin{bitsyntax}[emph={[1]chapterLevel}] -% chapterLevel = (*<(false)|true>*) -% \end{bitsyntax} -% -% \textit{此选项一般不需要用户自行修改。} -% -% 开启后,可以使用以「chapter」为顶层的附录格式: -% -% \begin{latex}[emph={[1]appendices,chapter}] -% \begin{appendices} -% \chapter{附录A 题目} -% (*\meta{附录A 内容}*) -% \chapter{附录B 题目} -% (*\meta{附录B 内容}*) -% \end{appendices} -% \end{latex} -% -% 默认不开启,使用以「section」为顶层的附录格式。 -% -% \end{function} -% -% \begin{function}{appendices/title} -% \begin{bitsyntax}[emph={[1]title}] -% title = (*(附录)|\meta{字符串}*) -% \end{bitsyntax} -% -% 可以覆盖附录的标题名称,默认为「附录」。 -% \end{function} -% -% \begin{function}{appendices/TOCTitle} -% \begin{bitsyntax}[emph={[1]TOCTitle}] -% TOCTitle = (*(附录)|\meta{字符串}*) -% \end{bitsyntax} -% -% 可以覆盖附录在目录中的名称,默认为「附录」。 -% \end{function} -% -% \subsubsection{攻读学位期间发表论文与研究成果清单选项} -% -% \begin{function}{publications} -% \begin{bitsyntax}[emph={[1]publications}] -% publications = (*\marg{键值列表}*) -% publications/(*\meta{key}*) = (*\meta{value}*) -% \end{bitsyntax} -% -% 该选项包含许多子项目,用于调整其他选项。具体内容见下: -% \end{function} -% -% \begin{function}{publications/sorting} -% \begin{bitsyntax}[emph={[1]sorting}] -% sorting = (*(true)|false*) -% \end{bitsyntax} -% -% 根据学校要求,攻读学位期间发表论文与研究成果清单 -% 中的论文应按照发表时间排序。 -% 但是在实际使用中,有时候需要按照用户意愿自定义排序。 -% 该选项用于控制是否按照发表时间排序。 -% -% \textit{注意,如果编译后编号产生错误, -% 请使用 |latexmk -c| 或手动清空缓存后再编译} -% \end{function} -% -% \begin{function}{publications/omit} -% \begin{bitsyntax}[emph={[1]omit}] -% omit = (*(false)|true*) -% \end{bitsyntax} -% -% 在盲审模式下,不渲染「攻读学位期间发表论文与研究成果清单」。 -% -% \textit{一般不需要用户自行修改。} -% \end{function} -% -% \begin{function}[added=2023-02-18]{publications/maxbibnames} -% \begin{bitsyntax}[emph={[1]maxbibnames}] -% maxbibnames = (*(3)|\marg{正整数}*) -% \end{bitsyntax} -% -% 影响「攻读学位期间发表论文与研究成果清单」中所有名称列表(author、editor 等)的阈值。 -% 如果名称列表超过了该阈值,即,它包含的姓名数量超过 \marg{正整数}, -% 那么就会根据 \kvopt{publications/minbibnames}{正整数} 选项的设置进行自动截断。 -% -% \end{function} -% -% \begin{function}[added=2023-02-18]{publications/minbibnames} -% \begin{bitsyntax}[emph={[1]minbibnames}] -% minbibnames = (*(1)|\marg{正整数}*) -% \end{bitsyntax} -% -% 影响「攻读学位期间发表论文与研究成果清单」中所有名称列表(author、editor 等)的限制值。 -% 如果某个列表包含的姓名数量超 -% 过 |maxbibnames| 个,那么就会自动截断至 |minbibnames| 个姓名。|minbibnames| 的值必须小于或 -% 等于 |maxbibnames|。 -% -% 对于用户来说,可以将 |minbibnames| 理解为「姓名列表的最小长度」。 -% \textbf{例如,你在全部文献中最低排在第四位,那么可以将 |minbibnames| 和 |maxbibnames| 都设置为 4。} -% -% \end{function} -% -% \subsubsection{其他配置} -% -% \begin{function}{misc} -% \begin{bitsyntax}[emph={[1]misc}] -% misc = (*\marg{键值列表}*) -% misc/(*\meta{key}*) = (*\meta{value}*) -% \end{bitsyntax} -% -% 该选项包含许多子项目,用于调整其他选项。具体内容见下: -% \end{function} -% -% \begin{function}{misc/arialFont} -% \begin{bitsyntax}[emph={[1]arialFont}] -% arialFont = (*\marg{字符串}*) -% \end{bitsyntax} -% -% \textit{此选项一般不需要用户自行修改。} -% -% 本科生毕业设计模板(全英文专业)需要设置 Arial 字体。 -% (Windows 和 MacOS 自带,Linux 需要用户自行安装) -% \end{function} -% -% \begin{function}[added=2023-04-22]{misc/tabularFontSize} -% \begin{bitsyntax}[emph={[1]tabularFontSize}] -% tabularFontSize = (*(5)|其他字号*) -% \end{bitsyntax} -% -% \textit{此选项一般不需要用户自行修改。} -% -% 此选项用于调整表格中的字号。默认值为 5 号字。 -% -% 如果你需要临时调整表格中的字号,可以使用 |\BITSetup| 命令 -% 在局部范围内覆盖此选项(注意使用大括号)。 -% -% \begin{latex} -% { -% \BITSetup{ misc / tabularFontSize = -4} -% -% \begin{table}[hbt] -% \centering -% \caption{水系聚氨酯分类} \label{tab:category} -% \begin{tabular*}{0.9\textwidth}{@{\extracolsep{\fill}}cccc} -% \toprule -% 类别 &水溶型 &胶体分散型 &乳液型 \\ -% \midrule -% 状态 &溶解$\sim$胶束 &分散 &白浊 \\ -% 外观 &水溶型 &胶体分散型 &乳液型 \\ -% 粒径$/\mu m$ &$<0.001$ &$0.001-0.1$ &$>0.1$ \\ -% 重均分子量 &$1000\sim 10000$ &数千$\sim 20$万 &$>5000$ \\ -% \bottomrule -% \end{tabular*} -% \end{table} -% } -% \end{latex} -% \end{function} -% -% \begin{function}[added=2023-04-22]{misc/autoref/algo, misc/autoref/them, misc/autoref/lem, -% misc/autoref/prop, misc/autoref/cor, misc/autoref/axi, misc/autoref/defn, misc/autoref/conj, -% misc/autoref/exmp, misc/autoref/case, misc/autoref/rem} -% \begin{bitsyntax}[emph={[1]tabularFontSize}] -% autoref = { -% algo = (*(算法)|\marg{字符串}*), -% them = (*(定理)|\marg{字符串}*), -% lem = (*(引理)|\marg{字符串}*), -% prop = (*(命题)|\marg{字符串}*), -% cor = (*(推论)|\marg{字符串}*), -% axi = (*(公理)|\marg{字符串}*), -% defn = (*(定义)|\marg{字符串}*), -% conj = (*(猜想)|\marg{字符串}*), -% exmp = (*(例)|\marg{字符串}*), -% case = (*(情形)|\marg{字符串}*), -% rem = (*(备注)|\marg{字符串}*), -% } -% \end{bitsyntax} -% -% \textit{此选项一般不需要用户自行修改。} -% -% 此选项用于定义 |autoref| 命令的输出格式。英文模板中, -% 默认值会自动变成相应的英文格式(如|Figure|)。 -% -% \textit{此选项的默认值实际上是受到 \autoref{sec:const} 中 |const/autoref/xxx| \\ -% (如 \cmd{misc/autoref/algo})选项的影响。} -% -% \end{function} -% -% \subsubsection{常量名称覆盖} -% \label{sec:const} -% -% 在\BIThesis{} 中,模板定义了很多常量字符串,如页眉文字、章节名称等。 -% 你可以通过修改这里的选项来覆盖这些常量。 -% -% \begin{function}{const} -% \begin{bitsyntax}[emph={[1]const}] -% const = (*\marg{键值列表}*) -% const/(*\meta{key}*) = (*\meta{value}*) -% \end{bitsyntax} -% -% 该选项包含许多子项目,用于调整其他选项。具体内容见下: -% \end{function} -% -% \begin{variable}[added=2023-04-22]{const/autoref/algo,const/autoref/them, -% const/autoref/lem,const/autoref/prop,const/autoref/cor,const/autoref/axi, -% const/autoref/defn,const/autoref/conj,const/autoref/exmp, -% const/autoref/case,const/autoref/rem} -% \begin{bitsyntax}[emph={[1]tabularFontSize}] -% autoref = { -% algo = (*(算法)|\marg{字符串}*), -% them = (*(定理)|\marg{字符串}*), -% lem = (*(引理)|\marg{字符串}*), -% prop = (*(命题)|\marg{字符串}*), -% cor = (*(推论)|\marg{字符串}*), -% axi = (*(公理)|\marg{字符串}*), -% defn = (*(定义)|\marg{字符串}*), -% conj = (*(猜想)|\marg{字符串}*), -% exmp = (*(例)|\marg{字符串}*), -% case = (*(情形)|\marg{字符串}*), -% rem = (*(备注)|\marg{字符串}*), -% } -% \end{bitsyntax} -% -% \textit{此选项一般不需要用户自行修改。} -% -% 此选项用于定义 |autoref| 命令的输出格式。英文模板中, -% 默认值会自动变成相应的英文格式(如|Figure|)。 -% -% \end{variable} -% \section{正文编写} -% -% 请注意,请在\env{document} 之内使用以下命令 。 -% -% \subsection{封面及基本信息} -% -% \begin{function}{\MakeCover} -% -% \textit{封面内容会根据模板选项(具体参见节 -% \ref{sec:template-options})中\meta{type=xxx}的值而变化。} -% \textit{封面的下划线效果会受到参数设置中封面选项 -% (具体见节\ref{sec:cover})的影响。} -% -% 绘制封面。 -% -% 在默认配置下,封面中的下划线会自动计算最大宽度。 -% 此时,如果用户需要换行,可以通过「\\」控制换行。 -% -% 当关闭自动计算下划线宽度后, -% 可以通过 -% -% \meta{labelMaxWidth=xxx} -% -% 与 -% -% \meta{valueMaxWidth=xxx} -% -% 来指定下划线的宽度。一般情况下,我们不建议您这样做。 -% \end{function} -% -% \begin{function}{\MakePaperBack} -% -% 绘制书脊。 -% \end{function} -% -% \begin{function}{\MakeTitle} -% -% 绘制中英文信息页。 -% \end{function} -% -% \begin{function}{\MakeOriginality} -% -% 绘制中英文信息页。 -% \end{function} -% -% \subsection{前置部分} -% -% \begin{function}{\frontmatter} -% -% 声明前置部分开始。 -% -% 此时页码会使用罗马数字进行计数。 -% \end{function} -% -% \begin{function}[updated=2023-02-17]{abstract} -% \begin{bitsyntax}[emph={[1]abstract}] -% \begin{abstract} -% (*\meta{中文摘要}*) -% \end{abstract} -% \end{bitsyntax} -% \end{function} -% -% \begin{function}[updated=2023-02-17]{abstractEn} -% \begin{bitsyntax}[emph={[1]abstractEn}] -% \begin{abstractEn} -% (*\meta{英文摘要}*) -% \end{abstractEn} -% \end{bitsyntax} -% -% 摘要。 -% -% 摘要的最后会显示关键词,关键词通过 \cs{BITSetup} 录入。 -% -% \end{function} -% -% \begin{function}{\MakeTOC,\listoffigures,\listoftables} -% -% 绘制目录、插图目录与表格目录。 -% \end{function} -% -% \begin{function}{symbols} -% \begin{bitsyntax}[emph={[1]symbols}] -% \begin{symbols} -% \item[BIT] 北京理工大学的英文缩写 -% \item[\LaTeX] 一个很棒的排版系统 -% \end{symbols} -% \end{bitsyntax} -% -% 主要符号对照表。 -% -% 主要符号对照表类似于一个列表环境,用以添加文章中使用的关键符号与缩略词。 -% -% \end{function} -% -% \begin{function}{addTOC} -% \begin{bitsyntax}[emph={[1]addTOC}] -% addTOC = (*<(true)|false>*) -% \end{bitsyntax} -% -% 主要符号对照表的可选参数。 -% -% 添加主要符号对照表到目录,默认开启。 -% \end{function} -% -% \subsection{正文部分} -% -% \begin{function}{\mainmatter} -% -% 声明正文部分开始。 -% -% 此时页码会使用阿拉伯数字进行计数。 -% \end{function} -% -% \subsubsection{定理类环境} -% \paragraph{默认格式} -% -% \begin{function}[updated=2023-03-05]{algo,them,lem,prop,cor,axi,defn,conj,exmp,case,rem} -% \begin{bitsyntax}[emph={[2]proof}] -% \begin{them}[留数定理] -% (*\meta{定理内容}*) -% \end{them} -% -% \begin{proof}(*\oarg{小标题}*) -% (*\meta{证明过程}*) -% \end{proof} -% \end{bitsyntax} -% 一系列预定义的数学环境。具体含义见表~\ref{tab:theorem}。 -% \end{function} -% -% \begin{table}[] -% \caption{预定义的数学环境} -% \centering -% \subfloat[][plain样式]{ -% \begin{tabular}{@{}ccccccc@{}} -% \toprule -% \textbf{名称} & algo & them & lem & prop & cor & axi \\ \midrule -% \textbf{全称} & algorithm & theorem & lemma & proposition & corollary & axiom \\ -% \textbf{含义} & 算法 & 定理 & 引理 & 命题 & 推论 & 公理 \\ -% \textbf{样式} & \multicolumn{6}{c}{\textbf{定理2.1.} \textit{定理内容……}} \\ \bottomrule -% \end{tabular} -% } -% -% \subfloat[][definition样式]{ -% \begin{tabular}{@{}ccccc@{}} -% \toprule -% \textbf{名称} & defn & conj & exmp & case \\ \midrule -% \textbf{全称} & definition & conjecture & example & case \\ -% \textbf{含义} & 定义 & 猜想 & 例 & 情形 \\ -% \textbf{样式} & \multicolumn{4}{c}{\textbf{定义2.1.} 定义内容……} \\ \bottomrule -% \end{tabular} -% } -% -% \subfloat[][remark样式]{ -% \begin{tabular}{@{}cc@{}} -% \toprule -% \textbf{名称} & rem \\ \midrule -% \textbf{全称} & remark \\ \midrule -% \textbf{含义} & 注 \\ -% \textbf{样式} & \multicolumn{1}{c}{\textit{注1.} 内容……} \\ \bottomrule -% \end{tabular} -% } -% -% \subfloat[][proof样式]{ -% \begin{tabular}{@{}cc@{}} -% \toprule -% \textbf{名称} & proof \\ \midrule -% \textbf{全称} & proof \\ -% \textbf{含义} & 证明 \\ -% \textbf{样式} & \multicolumn{1}{c}{\textit{证明. } 内容…… 「证毕符号」} \\ \bottomrule -% \end{tabular} -% } -% \label{tab:theorem} -% \end{table} -% -% \subsection{后置部分} -% -% \begin{function}{\backmatter} -% -% 声明后置部分开始。 -% -% 会取消章节标题的的编号。 -% -% \end{function} -% -% \begin{function}{conclusion} -% \begin{bitsyntax}[emph={[1]conclusion}] -% \begin{conclusion} -% (*\meta{结论}*) -% \end{conclusion} -% \end{bitsyntax} -% \end{function} -% -% \begin{function}{bibprint} -% \begin{bitsyntax}[emph={[1]bibprint}] -% \begin{bibprint} -% \printbibliography[heading=none] -% \end{bibprint} -% \end{bitsyntax} -% -% 打印参考文献。 -% -% 在使用\BIThesisTemplates{GT}时需要注意, -% 由于研究生学位论文也要求使用国标形式输出「攻读学位期间发表论文与研究成果清单」, -% 因此 bithesis 同样使用 bibtex 管理其文献。 -% 而由于 biblatex 的排序是全局的, -% 因此需要使用 \meta{category} 功能来分割出两个不同的类别。 -% -% 因此,请使用下列语句输出参考文献: -% -% \begin{latex}[emph={[1]bibprint}] -% \begin{bibprint} -% \printbibliography[heading=none,notcategory=mypub,resetnumbers=true] -% \end{bibprint} -% \end{latex} -% \end{function} -% -% \begin{function}{appendices} -% \begin{bitsyntax}[emph={[1]appendices}] -% \begin{appendices} -% \section{附录A题目} -% (*\meta{附录A内容}*) -% \section{附录B题目} -% (*\meta{附录B内容}*) -% \end{appendices} -% \end{bitsyntax} -% -% 附录。 -% \end{function} -% -% \begin{function}{publications} -% \begin{bitsyntax}[emph={[1]publications,addpubs,printbibliography}] -% 文献较少的时候。 -% \begin{publications} -% \addpubs{\meta{引用内容的key},\meta{引用内容的key2}} -% -% \printbibliography[heading=none,category=mypub,resetnumbers=true] -% \end{publications} -% -% 文献较多,需要分类的时候。 -% \begin{publications} -% \addpubs{\meta{引用内容的key},\meta{引用内容的key2}} -% \pubsection{文章} -% -% \printbibliography[heading=none,type=article,category=mypub,resetnumbers=true]{} -% -% \pubsection{一些书} -% -% \printbibliography[heading=none,type=book,category=mypub,resetnumbers=true,notkeyword=dummy]{} -% -% \pubsection{另一些书} -% -% \printbibliography[heading=none,type=book,category=mypub,keyword=dummy,resetnumbers=true]{} -% \end{publications} -% \end{bitsyntax} -% -% 攻读学位期间发表论文与研究成果清单。 -% \end{function} -% -% \begin{function}[added=2022-10-23]{\addpubs,\addpub} -% \begin{bitsyntax}[emph={[1]publications,addpubs,addpub}] -% \begin{publications} -% \addpub{\meta{单条引用内容的key}} -% \addpubs{\meta{引用内容的key},\meta{引用内容的key2}} -% \end{publications} -% \end{bitsyntax} -% -% \textbf{请注意,如果你的参考文献同时出现在「攻读学位期间发表论文与研究成果清单」和「参考文献」中, -% 请将条目分别添加进入两个 |.bib| 文件中;切勿重复使用。} -% -% \textit{在「攻读学位期间发表论文与研究成果清单」环境中使用。} -% 用于添加个人成果,添加过的成果可以通过 |printbibliography| 打印。 -% \end{function} -% -% \begin{function}[added=2022-10-23]{\pubsection} -% \begin{bitsyntax}[emph={[1]publications,pubsection,printbibliography}] -% \begin{publications} -% \addpubs{\meta{引用内容的key},\meta{引用内容的key2}} -% -% \pubsection{分类一} -% \printbibliography[heading=none,category=mypub,type=book,resetnumbers=true] -% -% \pubsection{分类二} -% \printbibliography[heading=none,category=mypub,type=article,resetnumbers=true] -% \end{publications} -% \end{bitsyntax} -% -% \textit{在「攻读学位期间发表论文与研究成果清单」环境中使用。} -% 用于添加分类的目录。 -% \end{function} -% -% \begin{function}[added=2022-10-23]{\Author,\AuthorEn} -% \begin{bitsyntax}[emph={[1]Author}] -% \Author[<n(表示第几作者,默认为 1)>][<覆盖普通模式下内容>][<覆盖盲审模式下内容>] -% \end{bitsyntax} -% -% \textit{通常在「攻读学位期间发表论文与研究成果清单」的 |.bib| 文件中使用。} -% \begin{itemize} -% \item 在普通模式下,输出作者姓名(由用户在 |info/author| 中配置)。 -% \item 如果指定了覆盖普通模式下内容,则输出覆盖内容。 -% \item 在盲审模式下,输出「第n作者」。 -% \item 如果指定了覆盖盲审模式下内容,则输出覆盖内容。 -% \end{itemize} -% \end{function} -% -% \begin{function}{acknowledgements} -% \begin{bitsyntax}[emph={[1]acknowledgements}] -% \begin{acknowledgements} -% (*\meta{致谢内容}*) -% \end{acknowledgements} -% \end{bitsyntax} -% -% 致谢。 -% \end{function} -% -% \begin{function}{resume} -% \begin{bitsyntax}[emph={[1]resume}] -% \begin{resume} -% (*\meta{个人简介内容}*) -% \end{resume} -% \end{bitsyntax} -% -% 个人简介。 -% \end{function} -% -% \section{常见问题和疑难解答} -% -% \subsection{为什么我的研究生模板开头有间隔的空白页?} -% -% 根据《北京理工大学研究生学位论文撰写规范》,摘要前的页面需要单面打印,之后的内容需要双面打印。 -% 因此多出的空白页可以让你免于切换单、双面打印的烦恼——统一使用双面打印即可。 -% -% 或者,你可以关闭 |twoside| \ref{doc/function//twoside} 选项来去除这些空白。 -% -% \subsection{如何修改数学公式的字体?} -% -% 可以在导言区引入 \pkg{unicode-math} 宏包, -% 并使用 |\setmathfont{XITS Math}| 修改数学环境下字体: -% -% \begin{latex} -% \usepackage{unicode-math} -% \unimathsetup{ -% math-style = ISO, -% bold-style = ISO, -% } -% \setmathfont{XITSMath-Regular.otf} -% \end{latex} -% -% \textit{请事先安装 XITS 字体。} -% -% \textit{更多字体与使用方法请参考 -% \url{https://ctan.org/pkg/unicode-math?lang=zh}。} -% -% \subsection{如何采用与 Word 相同的中文字体?} -% -% 首先需要明确的是,我们所指的 Word 中的中文字体属于「中易字库」。 -% -% 对于 Windows 用户,一般无需修改设置,开箱即用。 -% -% 对于 Linux 和 macOS 用户,由于版权问题,系统中并不包含中易字库。 -% 因此,用户有两种选择: -% \begin{itemize} -% \item 手动在系统中安装中易字库(一般包括 SimSun、SimHei、KaiTi、FangSong 等)。 -% 并通过 |\documentclass[...,ctex={fontset=windows}]{bithesis}| 选项 -% 强制使用中易字库。 -% \item 在 Windows 系统下编译最终的 PDF 文件。 -% \end{itemize} -% -% \subsection{列表项的间距过大该如何解决?} -% -% 相比 Word,$\LaTeX$ 的列表项间距会比行间距更大一些。 -% 这样做在一个列表项中包含多行时,可以更好地区分不同的列表项。 -% 但是,如果你只是想要一个简单的列表,这种间距可能会显得过大。 -% 想要\textbf{临时}取消这种间距,可以在环境中添加选项 |nosep|: -% -% \begin{latex} -% \begin{itemize}[nosep] -% \item 选项一 -% \item 选项二 -% \end{itemize} -% \end{latex} -% -% 想要\textbf{永久}取消这种间距,可以在导言区添加如下代码: -% -% \begin{latex} -% \setlist{nosep} -% \end{latex} -% -% 详见:https://github.com/BITNP/BIThesis/issues/293 -% -% \textit{以上功能由 \pkg{enumitem} 宏包支持。通过导入 \pkg{bithesis} -% ,该宏包已经被自动导入。} -% -% \section{\cls{bitreport.cls} 使用与配置} -% \label{sec:bitreport} -% -% 推荐使用\BIThesisRelease (开箱即用)。 -% -% \BIThesisRelease 提供了多种最常用的模板,你可以在 -% \href{https://github.com/BITNP/BIThesis/releases}{主项目的 Releases} -% 中找到它们。 -% -% 使用此文档类的模板有: -% \begin{itemize} -% \item \BIThesisTemplates{UP} -% \item \BIThesisTemplates{LR} -% \end{itemize} -% -% \subsection{最小用例} -% -% \begin{latex} -% \documentclass[]{bitreport} -% \BITSetup{ -% info = { -% author = FKY, -% ...... -% } -% } -% \begin{document} -% \end{document} -% \end{latex} -% -% \subsection{模板选项} -% -% 所谓“模板选项”,指需要在引入文档类的时候指定的选项: -% -% \begin{latex}[deletetexcs={\documentclass},morekeywords={\documentclass}] -% \documentclass(*\oarg{模板选项}*){bithesis} -% \end{latex} -% -% \begin{function}{type} -% \begin{bitsyntax}[emph={[1]type}] -% type = (*<(common)|\mbox{undergraduate_proposal}>*) -% \end{bitsyntax} -% 选择论文类型,它们分别对应: -% \begin{itemize} -% \item \BIThesisTemplates{LR} -% \item \BIThesisTemplates{UP} -% \end{itemize} -% \end{function} -% -% \begin{function}{ctex} -% \begin{bitsyntax}[emph={[1]ctex}] -% ctex = (*传给 ctexbook 的模板选项*) -% \end{bitsyntax} -% -% 该选项用于传入模板选项至 ctexbook。 -% -% 例如:想要同时修改 ctex 的字体参数和标点符号处理格式(更多选项请参考 ctex 手册)。 -% -% \begin{latex}[emph={[1]type,common,ctex,fontset,fandol,punct,banjiao,bitreport}] -% \documentclass[type=common,ctex={fontset=fandol,punct=banjiao}]{bitreport} -% \end{latex} -% \end{function} -% -% \subsection{参数设置} -% -% \begin{function}{\BITSetup} -% \begin{bitsyntax}[emph={[1]BITSetup}] -% \BITSetup = {(*\oarg{键值对}*)} -% \end{bitsyntax} -% \end{function} -% -% 本模板提供了一系列选项,可由您自行配置。载入文档类之后,以下所有选项均可通过统一的 -% 命令 \cs{BITSetup} 来设置。 -% -% \cs{BITSetup} 的参数是一组由(英文)逗号隔开的选项列表,列表中的选项通常是 \meta{key} = -% \meta{value} 的形式。部分选项的 \meta{value} 可以省略。对于同一项,后面的设置将会覆盖前面的设 -% 置。在下文的说明中,将用粗体表示默认值。 -% -% \cs{BITSetup} 采用 LATEX3 风格的键值设置,支持不同类型以及多种层次的选项设定。键值列 -% 表中,“=”左右的空格不影响设置;但需注意,参数列表中不可以出现空行。 -% 与模板选项相同,布尔型的参数可以省略 \meta{选项} = true 中的“= true”。 -% 另有一些选项包含子选项,如 cover 和 info 等。它们可以按如下两种等价方式来设定: -% -% \begin{latex}[morekeywords={\BITSetup},emph={[1]BITSetup,cover,date,info,title,author}] -% \BITSetup{ -% cover = { -% date = xxxx年x月, -% }, -% info = { -% author = Feng Kaiyu, -% title = A Report Title for Your Experiment, -% } -% } -% \end{latex} -% -% 或者 -% -% \begin{latex}[morekeywords={\BITSetup},emph={[1]BITSetup,cover,date,info,title,author}] -% \BITSetup{ -% cover / date = xxxx年x月, -% info / author = Feng Kaiyu, -% info / title = A Thesis Title for Your Paper, -% } -% \end{latex} -% -% \subsubsection{封面选项} -% -% \begin{function}{cover} -% \begin{bitsyntax}[emph={[1]cover}] -% cover = (*\marg{键值列表}*) -% cover/(*\meta{key}*) = (*\meta{value}*) -% \end{bitsyntax} -% -% 该选项包含许多子项目,用于设置论文格式。具体内容见下。 -% \end{function} -% -% \begin{function}{cover/date} -% \begin{bitsyntax}[emph={[1]date}] -% date = (*\marg{任意字符串}*) -% \end{bitsyntax} -% -% 覆盖封面的日期。 -% \end{function} -% -% \subsubsection{文档基本信息} -% -% \begin{function}{info} -% \begin{bitsyntax}[emph={[1]info}] -% info = (*\marg{键值列表}*) -% info/(*\meta{key}*) = (*\meta{value}*) -% \end{bitsyntax} -% -% 该选项包含许多子项目,用于录入论文信息。具体内容见下。 -% \end{function} -% -% \begin{function}{info/title} -% \begin{bitsyntax}[emph={[1]title}] -% title = (*\marg{字符串}*) -% \end{bitsyntax} -% -% 论文或报告标题。 -% \end{function} -% -% \begin{function}{info/school} -% \begin{bitsyntax}[emph={[1]school}] -% school = (*\marg{字符串}*) -% \end{bitsyntax} -% -% 学院名称。 -% \end{function} -% -% \begin{function}{info/major} -% \begin{bitsyntax}[emph={[1]major}] -% major = (*\marg{字符串}*) -% \end{bitsyntax} -% -% 专业名称。 -% \end{function} -% -% \begin{function}{info/author} -% \begin{bitsyntax}[emph={[1]author}] -% author = (*\marg{字符串}*) -% \end{bitsyntax} -% -% 作者姓名。 -% \end{function} -% -% \begin{function}{info/studentId} -% \begin{bitsyntax}[emph={[1]studentId}] -% studentId = (*\marg{字符串}*) -% \end{bitsyntax} -% -% 学号。 -% \end{function} -% -% \begin{function}{info/supervisor} -% \begin{bitsyntax}[emph={[1]supervisor}] -% supervisor = (*\marg{字符串}*) -% \end{bitsyntax} -% -% 指导教师。 -% \end{function} -% -% \begin{function}{info/externalSupervisor} -% \begin{bitsyntax}[emph={[1]externalSupervisor}] -% externalSupervisor = (*\marg{字符串}*) -% \end{bitsyntax} -% -% 校外指导教师。 -% \end{function} -% -% \begin{function}{info/class} -% \begin{bitsyntax}[emph={[1]class}] -% class = (*\marg{字符串}*) -% \end{bitsyntax} -% -% 班级。 -% \end{function} -% -% \subsubsection{其他选项} -% -% \begin{function}{misc} -% \begin{bitsyntax}[emph={[1]misc}] -% misc = (*\marg{键值列表}*) -% misc/(*\meta{key}*) = (*\meta{value}*) -% \end{bitsyntax} -% -% 该选项包含许多子项目,用于额外的控制。具体内容见下。 -% \end{function} -% -% \begin{function}{misc/reviewTable} -% \begin{bitsyntax}[emph={[1]reviewTable}] -% reviewTable = (*\marg{指向评审表的路径}*) -% \end{bitsyntax} -% -% 用于指定已经填写好的评审表 PDF 文件。 -% \end{function} -% -% \section{致谢} -% \begin{itemize} -% \item 感谢历届贡献者对 BIThesis 的悉心维护。 -% \item 感谢学校及老师们对 BIThesis 的支持。 -% \begin{itemize} -% \item 感谢北京理工大学教务部、计算机学院对本科模板的支持。 -% \item 感谢北京理工大学研究生院对研究生模板的支持。 -% \end{itemize} -% \item 感谢众多优秀的开源 $\LaTeX$ 项目,他们为后来者提供了前进的方向。 -% \begin{itemize} -% \item \href{https://github.com/hushidong/biblatex-gb7714-2015}{biblatex-gb7714-2015} -% 提供了易用的国标引用格式以及细心指导。 -% \item \href{https://github.com/BIT-thesis/LaTeX-template} -% {北京理工大学硕士(博士)学位论文 $\LaTeX$ 模板} 提供了 -% 研究生模板样式的代码参考。 -% \item \href{https://github.com/stone-zeng/fduthesis} -% {fduthesis(复旦大学学位论文 $\LaTeX$ 模板)} 提供了包编写的最佳实践。 -% \item \href{https://github.com/tuna/thuthesis} -% {ThuThesis(清华大学学位论文 $\LaTeX$ 模板)} 提供了 dtx 文件的编写参考。 -% \end{itemize} -% \end{itemize} -% -% 最后,感谢你的使用。 -% -% \section{软件许可证} -% -% \begin{itemize} -% \item 北京理工大学校徽校名图片的版权归北京理工大学所有。 -% \item \BIThesisLaTeX 宏包以及相关文档类使用 \LPPL 授权。 -% \item \BIThesisLaTeX 文档及其他附属文件通过 CC0-1.0 授权。 -% \end{itemize} +% \begin{macro} % \section{实现细节} % % \begin{macrocode} @@ -2001,6 +135,30 @@ % % \subsubsection{辅助函数与常量} % +% \begin{macro}[added=2023-05-06,updated=2023-07-04]{\@@_secret_info:nn,\@@_secret_info:N,\@@_secret_info:n} +% 普通模式下显示参数一,盲审模式下显示参数二。 +% \begin{macrocode} +\cs_new:Npn \@@_hide:n #1 { + \g_@@_const_substitute_symbol_tl +} + +\cs_new:Npn \@@_secret_info:nn #1 #2 { + \bool_if:nTF \g_@@_blind_mode_bool { + #2 + } { + #1 + } +} + +\cs_new:Npn \@@_secret_info:N #1 { + \@@_secret_info:nn {#1} {\tl_map_function:NN #1 \@@_hide:n } +} +\cs_new:Npn \@@_secret_info:n #1 { + \@@_secret_info:nn {#1} {\tl_map_function:NN {#1} \@@_hide:n } +} +% \end{macrocode} +% +% \end{macro} % % \begin{macro}[added=2023-03-16]{\@@_get_const:} % 获取标题、章节、表格、图形等的常量名称。 @@ -2148,7 +306,7 @@ { {code} {代码}, {udc} {UDC分类号:}, - {classification} {中国分类号:}, + {classification} {中图分类号:}, {classified_level} {密级}, {type} {种类}, } @@ -2161,7 +319,6 @@ % \begin{macrocode} \clist_map_inline:nn { - {title} {本科生毕业设计(论文)}, {originality} {原创性声明}, {originality_clause} {本人郑重声明:所呈交的毕业设计(论文), 是本人在指导老师的指导下独立进行研究所取得的成果。除文中已经注明引用的内容外, @@ -2186,7 +343,6 @@ % \begin{macrocode} \clist_map_inline:nn { - {title} {}, {originality} {原创性声明~Statement~of~Originality}, {originality_clause} { 本人郑重声明:所呈交的毕业设计(论文), @@ -2283,11 +439,14 @@ { {school} {学\qquad 院} {School}, {major} {专\qquad 业} {Degree}, + {course} {课程名称} {Course}, {class} {班\qquad{}级} {Class}, {author} {学生姓名} {Author}, {student_id} {学\qquad 号} {Student~ID}, {supervisor} {指导教师} {Supervisor}, {co_supervisor} {校外指导教师} {Co-Supervisor}, + {teacher} {任课教师} {Teacher}, + {semester} {上课学期} {Semester}, {keywords} {关键词:} {Key~Words:~}, {toc} {目\label_space: 录} {Table~of~Contents}, {abstract} {摘\label_space: 要} {Abstract}, @@ -2315,21 +474,26 @@ {exmp} {例} {Example}, {case} {情形} {Case}, {rem} {注} {Remark}, + {fig} {图} {Figure}, + {tab} {表} {Table}, + {equ} {式} {Equation}, } {\@@_define_label:nnn #1} % \end{macrocode} % \end{variable} % -% \begin{variable}{\c_@@_bachelor_thesis_header_clist,\c_@@_bachelor_thesis_cover_title_clist} -% 本科生模板的封面标题与页眉标题常量列表。 +% \begin{variable}{\c_@@_bachelor_thesis_header_clist,\c_@@_bachelor_thesis_headline_clist} +% 本科生模板的页眉标题与封面大标题常量列表,其中封面大标题不适用于硕士、博士学位论文,只适用于本科生毕业设计(论文)及其衍生物。 % \begin{macrocode} \clist_const:Nn \c_@@_bachelor_thesis_header_clist { 北京理工大学本科生毕业设计(论文), 北京理工大学本科生毕业设计(论文)外文翻译, - Beijing~Institute~of~Technology~Bachelor's~Thesis + Beijing~Institute~of~Technology~Bachelor's~Thesis, + 北京理工大学硕士学位论文, + 北京理工大学博士学位论文, } -\clist_const:Nn \c_@@_bachelor_thesis_cover_title_clist +\clist_const:Nn \c_@@_bachelor_thesis_headline_clist { 本科生毕业设计(论文), 本科生毕业设计(论文)外文翻译, @@ -2409,6 +573,8 @@ underlineThickness .initial:n = {1pt}, underlineOffset .dim_set:N = \l_@@_cover_underline_offset_dim, underlineOffset .initial:n = { -10pt }, + hideCoverInPeerReview .bool_set:N = \l_@@_style_hide_cover_in_peer_review_bool, + hideCoverInPeerReview .initial:n = {false}, } % \end{macrocode} % @@ -2423,51 +589,43 @@ % 因为是覆盖选项,所以不需要设置初始值。 verticalTitle .tl_set:N = \l_@@_value_vertical_title_tl, school .tl_set:N = \l_@@_value_school_tl, - school .initial:n = {网络空间安全学院(示例)}, major .tl_set:N = \l_@@_value_major_tl, - major .initial:n = {网络空间安全(示例)}, class .tl_set:N = \l_@@_value_class_tl, - class .initial:n = {07111701}, + % 课程名称,读书报告使用 + course .tl_set:N = \l_@@_value_course_tl, author .tl_set:N = \l_@@_value_author_tl, - author .initial:n = {张三(示例)}, studentId .tl_set:N = \l_@@_value_student_id_tl, - studentId .initial:n = {3120211xxx(示例)}, + % 指导教师 supervisor .tl_set:N = \l_@@_value_supervisor_tl, - supervisor .initial:n = {李四教授(示例)}, % 因为默认不显示,所以不需要设置初始值。 externalSupervisor .tl_set:N = \l_@@_value_external_supervisor_tl, + % 任课教师,读书报告使用 + teacher .tl_set:N = \l_@@_value_teacher_tl, + % 上课学期,读书报告使用 + semester .tl_set:N = \l_@@_value_semester_tl, keywords .tl_set:N = \l_@@_value_keywords_tl, keywords .initial:n = {聚氨酯,形状记忆,织物(示例)}, keywordsEn .tl_set:N = \l_@@_value_keywords_en_tl, keywordsEn .initial:n = {Polyurethane,Shape Memory,Textiles (example)}, translationTitle .tl_set:N = \l_@@_value_trans_title_tl, translationOriginTitle .tl_set:N = \l_@@_value_trans_origin_title_tl, - % 中国分类号,研究生学位论文使用 + % 中图分类号,研究生学位论文使用 classification .tl_set:N = \l_@@_value_classification_tl, classification .initial:n = {TQ~028.1(示例)}, % UDC 分类号,研究生学位论文使用 UDC .tl_set:N = \l_@@_value_udc_tl, UDC .initial:n = {540(示例)}, chairman .tl_set:N = \l_@@_value_chairman_tl, - chairman .initial:n = {王五教授(示例)}, degree .tl_set:N = \l_@@_value_degree_tl, - degree .initial:n = {工学博士(示例)}, degreeEn .tl_set:N = \l_@@_value_degree_en_tl, - degreeEn .initial:n = {Doctor~of~Engineering~(example)}, institute .tl_set:N = \l_@@_value_institute_tl, - institute .initial:n = {\c_@@_label_university_tl}, + institute .initial:n = {\tl_use:N \c_@@_label_university_tl}, defenseDate .tl_set:N = \l_@@_value_defense_date_tl, - defenseDate .initial:n = {2019年6月(示例)}, authorEn .tl_set:N = \l_@@_value_author_en_tl, - authorEn .initial:n = {San~Zhang~(example)}, schoolEn .tl_set:N = \l_@@_value_school_en_tl, - schoolEn .initial:n = {School~of~Network~Space~Security\\(example)}, supervisorEn .tl_set:N = \l_@@_value_supervisor_en_tl, - supervisorEn .initial:n = {Prof.~Si~Li~(example)}, chairmanEn .tl_set:N = \l_@@_value_chairman_en_tl, - chairmanEn .initial:n = {Prof.~Wu~Wang~(example)}, majorEn .tl_set:N = \l_@@_value_major_en_tl, - majorEn .initial:n = {Cyberspace~Security~and~Technology\\(example)}, instituteEn .tl_set:N = \l_@@_value_institute_en_tl, instituteEn .initial:n = {\c_@@_label_university_en_tl}, defenseDateEn .tl_set:N = \l_@@_value_defense_date_en_tl, @@ -2507,6 +665,14 @@ autoref / case .initial:n = {\g_@@_const_autoref_case_tl}, autoref / rem .tl_set:N = \remautorefname, autoref / rem .initial:n = {\g_@@_const_autoref_rem_tl}, + hideLinks .bool_set:N = \l_@@_misc_hide_links_bool, + hideLinks .initial:n = {true}, + autoref / figure .tl_set:N = \figureautorefname, + autoref / figure .initial:n = {\g_@@_const_autoref_fig_tl}, + autoref / table .tl_set:N = \tableautorefname, + autoref / table .initial:n = {\g_@@_const_autoref_tab_tl}, + autoref / equ .tl_set:N = \equationautorefname, + autoref / equ .initial:n = {\g_@@_const_autoref_equ_tl}, } % \end{macrocode} % @@ -2514,30 +680,61 @@ % \begin{macrocode} \keys_define:nn { bithesis / const } { - autoref / algo .tl_set:N = \g_@@_const_autoref_algo_tl, - autoref / algo .initial:n = {\@@_get_const:N {algo}}, - autoref / them .tl_set:N = \g_@@_const_autoref_them_tl, - autoref / them .initial:n = {\@@_get_const:N {them}}, - autoref / lem .tl_set:N = \g_@@_const_autoref_lem_tl, - autoref / lem .initial:n = {\@@_get_const:N {lem}}, - autoref / prop .tl_set:N = \g_@@_const_autoref_prop_tl, - autoref / prop .initial:n = {\@@_get_const:N {prop}}, - autoref / cor .tl_set:N = \g_@@_const_autoref_cor_tl, - autoref / cor .initial:n = {\@@_get_const:N {cor}}, - autoref / axi .tl_set:N = \g_@@_const_autoref_axi_tl, - autoref / axi .initial:n = {\@@_get_const:N {axi}}, - autoref / defn .tl_set:N = \g_@@_const_autoref_defn_tl, - autoref / defn .initial:n = {\@@_get_const:N {defn}}, - autoref / conj .tl_set:N = \g_@@_const_autoref_conj_tl, - autoref / conj .initial:n = {\@@_get_const:N {conj}}, - autoref / exmp .tl_set:N = \g_@@_const_autoref_exmp_tl, - autoref / exmp .initial:n = {\@@_get_const:N {exmp}}, - autoref / case .tl_set:N = \g_@@_const_autoref_case_tl, - autoref / case .initial:n = {\@@_get_const:N {case}}, - autoref / rem .tl_set:N = \g_@@_const_autoref_rem_tl, - autoref / rem .initial:n = {\@@_get_const:N {rem}}, + autoref .meta:nn = { bithesis / const / autoref } { #1 }, + style .meta:nn = { bithesis / const / style } { #1 }, + info .meta:nn = { bithesis / const / info } { #1 }, + } +\keys_define:nn { bithesis / const / autoref } + { + algo .tl_set:N = \g_@@_const_autoref_algo_tl, + algo .initial:n = {\@@_get_const:N {algo}}, + them .tl_set:N = \g_@@_const_autoref_them_tl, + them .initial:n = {\@@_get_const:N {them}}, + lem .tl_set:N = \g_@@_const_autoref_lem_tl, + lem .initial:n = {\@@_get_const:N {lem}}, + prop .tl_set:N = \g_@@_const_autoref_prop_tl, + prop .initial:n = {\@@_get_const:N {prop}}, + cor .tl_set:N = \g_@@_const_autoref_cor_tl, + cor .initial:n = {\@@_get_const:N {cor}}, + axi .tl_set:N = \g_@@_const_autoref_axi_tl, + axi .initial:n = {\@@_get_const:N {axi}}, + defn .tl_set:N = \g_@@_const_autoref_defn_tl, + defn .initial:n = {\@@_get_const:N {defn}}, + conj .tl_set:N = \g_@@_const_autoref_conj_tl, + conj .initial:n = {\@@_get_const:N {conj}}, + exmp .tl_set:N = \g_@@_const_autoref_exmp_tl, + exmp .initial:n = {\@@_get_const:N {exmp}}, + case .tl_set:N = \g_@@_const_autoref_case_tl, + case .initial:n = {\@@_get_const:N {case}}, + rem .tl_set:N = \g_@@_const_autoref_rem_tl, + rem .initial:n = {\@@_get_const:N {rem}}, + figure .tl_set:N = \g_@@_const_autoref_fig_tl, + figure .initial:n = {\@@_get_const:N {fig}}, + table .tl_set:N = \g_@@_const_autoref_tab_tl, + table .initial:n = {\@@_get_const:N {tab}}, + equ .tl_set:N = \g_@@_const_autoref_equ_tl, + equ .initial:n = {\@@_get_const:N {equ}}, + } +\keys_define:nn { bithesis / const / style } + { + substituteSymbol .tl_set:N = \g_@@_const_substitute_symbol_tl, + substituteSymbol .initial:n = {*}, + } +\keys_define:nn { bithesis / const / info } + { + degree .tl_set:N = \g_@@_const_info_degree_tl, + degree .initial:n = { + \c_@@_graduate_label_degree_tl + }, + major .tl_set:N = \g_@@_const_info_major_tl, + major .initial:n = { + \@@_if_graduate:TF { + \c_@@_graduate_label_major_tl + } { + \@@_get_const:N {major} + } + }, } - % \end{macrocode} % % 定义 |bithesis/style| 键值对类。 @@ -2546,14 +743,11 @@ { head .tl_set:N = \l_@@_style_head_tl, head .initial:n = { - \int_case:nn {\g_@@_thesis_type_int} - { - {1} {北京理工大学本科生毕业设计(论文)} - {2} {北京理工大学本科生毕业设计(论文)外文翻译} - {3} {Beijing~Institute~of~Technology~Bachelor's~Thesis} - {4} {北京理工大学硕士学位论文} - {5} {北京理工大学博士学位论文} - } + \clist_item:Nn \c_@@_bachelor_thesis_header_clist \g_@@_thesis_type_int + }, + headline .tl_set:N = \l_@@_style_headline_tl, + headline .initial:n = { + \clist_item:Nn \c_@@_bachelor_thesis_headline_clist \g_@@_thesis_type_int }, bibliographyIndent .bool_set:N = \l_@@_style_bibliography_indent_bool, bibliographyIndent .initial:n = {true}, @@ -2572,6 +766,12 @@ mathFont .initial:n = {cm}, % Options that will be pass to `unicode-math` pkgs. unicodeMathOptions .tl_set:N = \l_@@_unicode_math_options_tl, + % Windows 平台开启宋体伪粗体。 + windowsSimSunFakeBold .bool_set:N = \l_@@_style_windows_simsum_fake_bold, + windowsSimSunFakeBold .initial:n = {false}, + % 控制英文是否使用 hyphen 进行换行 + hyphen .bool_set:N = \l_@@_style_hyphen_bool, + hyphen .initial:n = {true}, } % \end{macrocode} % @@ -2635,6 +835,12 @@ \PassOptionsToClass{scheme=plain}{ctexbook} } % \end{macrocode} +% 如果设置 blindPeerReview 选项,则抑制 twoside 选项。 +% \begin{macrocode} +\bool_if:NT \g_@@_blind_mode_bool { + \bool_set_false:N \g_@@_twoside_bool +} +% \end{macrocode} % % 如果没有开启双面打印选项,则在 ctexbook 中开启单面打印选项。 % 允许 chapter 直接另起一页(即使是偶数(左手)页)。 @@ -2669,6 +875,7 @@ % 加载所需的宏包。 % \begin{macrocode} \RequirePackage{geometry} +\RequirePackage[table,xcdraw]{xcolor} \RequirePackage{xeCJK} \RequirePackage{titletoc} \RequirePackage{setspace} @@ -2681,8 +888,7 @@ \RequirePackage{tikz} \RequirePackage{etoolbox} % Hide color and border in hyperref. -\RequirePackage[hidelinks,bookmarksnumbered]{hyperref} -\RequirePackage{xcolor} +\RequirePackage[bookmarksnumbered]{hyperref} % 详见 `caption` 宏包手册和 % https://github.com/CTeX-org/forum/issues/86 \RequirePackage[strut=off]{caption} @@ -2852,8 +1058,23 @@ % 在 |preamble| 中,加载各个模板需要的字体。 % \begin{macrocode} \ctex_at_end_preamble:n { + % 针对 Windows 字体采用 Fake Bold 宋体 + \bool_if:NT \l_@@_style_windows_simsum_fake_bold + { + \RequirePackage{ifplatform} + \ifwindows + \setCJKmainfont{SimSun}[AutoFakeBold,AutoFakeSlant] + \fi + } + % 在导言区末尾加载数学字体。 \@@_load_font: + + % misc / hideLinks 选项 + \bool_if:NT \l_@@_misc_hide_links_bool + { + \hypersetup { hidelinks } + } \@@_if_thesis_english:TF { \@@_if_thesis_int_type:nT {3} { @@ -3115,20 +1336,28 @@ \titlecontents{chapter}[0pt]{\songti \zihao{4}} {\thecontentslabel\hspace{\ccwd}}{} {\hspace{.5em}\titlerule*{.}\contentspage} + % section 标题为宋体小四号。缩进为两个字符宽度。 + \titlecontents{section}[2\ccwd]{\songti \zihao{-4}} + {\thecontentslabel\hspace{\ccwd}}{} + {\hspace{.5em}\titlerule*{.}\contentspage} + % subsection 标题为宋体小四号。缩进为四个字符宽度。 + \titlecontents{subsection}[4\ccwd]{\songti \zihao{-4}} + {\thecontentslabel\hspace{\ccwd}}{} + {\hspace{.5em}\titlerule*{.}\contentspage} } { % 对于其他,定义各章标题为宋体小四号。 \titlecontents{chapter}[0pt]{\songti \zihao{-4}} {\thecontentslabel\hspace{\ccwd}}{} {\hspace{.5em}\titlerule*{.}\contentspage} + % section 标题为宋体小四号。 + \titlecontents{section}[1\ccwd]{\songti \zihao{-4}} + {\thecontentslabel\hspace{\ccwd}}{} + {\hspace{.5em}\titlerule*{.}\contentspage} + % subsection 标题为宋体小四号。 + \titlecontents{subsection}[2\ccwd]{\songti \zihao{-4}} + {\thecontentslabel\hspace{\ccwd}}{} + {\hspace{.5em}\titlerule*{.}\contentspage} } -% section 标题为宋体小四号。 -\titlecontents{section}[1\ccwd]{\songti \zihao{-4}} -{\thecontentslabel\hspace{\ccwd}}{} -{\hspace{.5em}\titlerule*{.}\contentspage} -% subsection 标题为宋体小四号。 -\titlecontents{subsection}[2\ccwd]{\songti \zihao{-4}} -{\thecontentslabel\hspace{\ccwd}}{} -{\hspace{.5em}\titlerule*{.}\contentspage} % listoffigure 样式优化 \titlecontents{figure}[0pt]{\songti\zihao{-4}} {\figurename~\thecontentslabel\quad}{\hspace*{-1.5cm}} @@ -3178,7 +1407,8 @@ % \begin{macrocode} \RenewDocumentCommand \mainmatter {} { % 另起一个空页,以便于后续的章节标题编号。 - \clearpage + % \clearpage + \cleardoublepage % 这部分的章节标题进行编号。 \ctexset{ chapter = { @@ -3265,19 +1495,24 @@ \cs_set:Npn \theequation {\thechapter\g_@@_label_divide_char_tl\arabic{equation}} % code snippet -\cs_set:Npn \thelstlisting {\thechapter\g_@@_label_divide_char_tl\arabic{lstlisting}} -\cs_set:Npn \lstlistingname {\c_@@_label_code_tl} -\captionsetup[listing]{font=small,labelsep=space} +\AtBeginDocument{ + \cs_gset:Npn \thelstlisting {\thechapter\g_@@_label_divide_char_tl\arabic{lstlisting}} + \cs_gset:Npn \lstlistingname {\c_@@_label_code_tl} +} +\captionsetup[lstlisting]{font=small,labelsep=space} % \end{macrocode} % \end{macro} % % 调整底层 TeX 排版引擎参数以保证所有段落能够很好地以两端对齐的方式呈现。 % 是的,这是祖传代码。 +% 在英文模式下禁用,因为这段代码会禁用 hyphenation. % \begin{macrocode} -\tolerance=1 -\emergencystretch=\maxdimen -\hyphenpenalty=10000 -\hbadness=10000 +\bool_if:NF \l_@@_style_hyphen_bool { + \hbadness=10000 + \tolerance=1 + \emergencystretch=\maxdimen + \hyphenpenalty=10000 +} % \end{macrocode} % % 自定义一个默认的 lstlisting 样式。 @@ -3515,7 +1750,7 @@ {\heiti\zihao{-2} \l_@@_value_title_tl} \vskip 60mm % 黑体 小三 - {\heiti \zihao{-3} \l_@@_value_author_tl} + {\heiti \zihao{-3} \@@_secret_info:nn{\l_@@_value_author_tl}{\g_@@_const_substitute_symbol_tl~\g_@@_const_substitute_symbol_tl~\g_@@_const_substitute_symbol_tl}} \vskip 10mm % 黑体 小三 {\heiti \zihao{-3} \l_@@_cover_date_tl} @@ -3541,7 +1776,7 @@ {\l_@@_value_title_tl}{\l_@@_value_vertical_title_tl} } \vfill - {\heiti\zihao{3}\l_@@_value_author_tl} + {\heiti\zihao{3}\@@_secret_info:nn{\l_@@_value_author_tl}{\g_@@_const_substitute_symbol_tl\quad\g_@@_const_substitute_symbol_tl\quad\g_@@_const_substitute_symbol_tl}} \vfill {\heiti\zihao{3}\c_@@_label_university_tl} \end{center} @@ -3598,12 +1833,12 @@ % 渲染信息。 \clist_set:Nn \l_@@_input_clist { - {\c_@@_graduate_label_author_tl} {\l_@@_value_author_tl}, + {\c_@@_graduate_label_author_tl} {\@@_secret_info:nn{\l_@@_value_author_tl}{\g_@@_const_substitute_symbol_tl\g_@@_const_substitute_symbol_tl\g_@@_const_substitute_symbol_tl}}, {\c_@@_graduate_label_school_tl} {\l_@@_value_school_tl}, - {\c_@@_graduate_label_supervisor_tl} {\l_@@_value_supervisor_tl}, - {\c_@@_graduate_label_chairman_tl} {\l_@@_value_chairman_tl}, - {\c_@@_graduate_label_degree_tl} {\l_@@_value_degree_tl}, - {\c_@@_graduate_label_major_tl} {\l_@@_value_major_tl}, + {\c_@@_graduate_label_supervisor_tl} {\@@_secret_info:N{\l_@@_value_supervisor_tl}}, + {\c_@@_graduate_label_chairman_tl} {\@@_secret_info:N{\l_@@_value_chairman_tl}}, + {\g_@@_const_info_degree_tl} {\l_@@_value_degree_tl}, + {\g_@@_const_info_major_tl} {\l_@@_value_major_tl}, {\c_@@_graduate_label_institute_tl} {\l_@@_value_institute_tl}, {\c_@@_graduate_label_defense_date_tl} {\l_@@_value_defense_date_tl}, } @@ -3655,10 +1890,10 @@ % 渲染信息。 \clist_set:Nn \l_@@_input_clist { - {\c_@@_graduate_label_author_en_tl} {\l_@@_value_author_en_tl}, + {\c_@@_graduate_label_author_en_tl} {\@@_secret_info:N{\l_@@_value_author_en_tl}}, {\c_@@_graduate_label_school_en_tl} {\l_@@_value_school_en_tl}, - {\c_@@_graduate_label_supervisor_en_tl} {\l_@@_value_supervisor_en_tl}, - {\c_@@_graduate_label_chairman_en_tl} {\l_@@_value_chairman_en_tl}, + {\c_@@_graduate_label_supervisor_en_tl} {\@@_secret_info:N{\l_@@_value_supervisor_en_tl}}, + {\c_@@_graduate_label_chairman_en_tl} {\@@_secret_info:N{\l_@@_value_chairman_en_tl}}, {\c_@@_graduate_label_degree_en_tl} {\l_@@_value_degree_en_tl}, {\c_@@_graduate_label_major_en_tl} {\l_@@_value_major_en_tl}, {\c_@@_graduate_label_institute_en_tl} {\l_@@_value_institute_en_tl}, @@ -3802,12 +2037,26 @@ % \end{macrocode} % \end{macro} % +% \begin{macro}{\SecretInfo} +% 用于包裹涉及个人信息的内容。 +% \begin{macrocode} +\DeclareDocumentCommand \SecretInfo { m o } + { + \IfValueTF {#2} { + \@@_secret_info:nn {#1} {#2} + } { + \@@_secret_info:n {#1} + } + } +% \end{macrocode} +% \end{macro} +% % \begin{macro}{\MakeCover} % 制作封面。 % \begin{macrocode} \DeclareDocumentCommand \MakeCover {} { - \begin{blindPeerReview} + \begin{blindPeerReview}[\l_@@_style_hide_cover_in_peer_review_bool] \group_begin: \int_case:nn {\g_@@_thesis_type_int} @@ -3825,7 +2074,7 @@ \vspace*{-3mm} - \zihao{-0}\textbf{\ziju{0.12}\songti{\c_@@_bachelor_label_title_tl}}\par + \zihao{-0}\textbf{\ziju{0.12}\songti{\l_@@_style_headline_tl}}\par \vspace{16mm} @@ -3856,13 +2105,16 @@ } \clist_set:Nn \l_@@_input_clist { + {\c_@@_label_semester_tl} {\l_@@_value_semester_tl}, {\c_@@_label_school_tl} {\l_@@_value_school_tl}, - {\c_@@_label_major_tl} {\l_@@_value_major_tl}, - {\c_@@_label_class_tl} {\l_@@_value_class_tl}, - {\c_@@_label_author_tl} {\l_@@_value_author_tl}, - {\c_@@_label_student_id_tl} {\l_@@_value_student_id_tl}, - {\c_@@_label_supervisor_tl} {\l_@@_value_supervisor_tl}, - {\c_@@_label_co_supervisor_tl} {\l_@@_value_external_supervisor_tl}, + {\g_@@_const_info_major_tl} {\l_@@_value_major_tl}, + {\c_@@_label_class_tl} {\@@_secret_info:N \l_@@_value_class_tl}, + {\c_@@_label_author_tl} {\@@_secret_info:N \l_@@_value_author_tl}, + {\c_@@_label_student_id_tl} {\@@_secret_info:N \l_@@_value_student_id_tl}, + {\c_@@_label_course_tl} {\l_@@_value_course_tl}, + {\c_@@_label_supervisor_tl} {\@@_secret_info:N \l_@@_value_supervisor_tl}, + {\c_@@_label_co_supervisor_tl} {\@@_secret_info:N \l_@@_value_external_supervisor_tl}, + {\c_@@_label_teacher_tl} {\l_@@_value_teacher_tl}, } \zihao{3} @@ -3894,7 +2146,7 @@ \vspace{1.2mm} - \zihao{2}\textbf{\songti{本科生毕业设计(论文)外文翻译}} + \zihao{2}\textbf{\songti{\l_@@_style_headline_tl}} \vspace{10mm} @@ -3955,11 +2207,11 @@ \clist_set:Nn \l_@@_input_clist { {\c_@@_label_school_tl} {\l_@@_value_school_tl}, {\c_@@_label_major_tl} {\l_@@_value_major_tl}, - {\c_@@_label_class_tl} {\l_@@_value_class_tl}, - {\c_@@_label_author_tl} {\l_@@_value_author_tl}, - {\c_@@_label_student_id_tl} {\l_@@_value_student_id_tl}, - {\c_@@_label_supervisor_tl} {\l_@@_value_supervisor_tl}, - {\c_@@_label_co_supervisor_tl} {\l_@@_value_external_supervisor_tl}, + {\c_@@_label_class_tl} {\@@_secret_info:N \l_@@_value_class_tl}, + {\c_@@_label_author_tl} {\@@_secret_info:N \l_@@_value_author_tl}, + {\c_@@_label_student_id_tl} {\@@_secret_info:N \l_@@_value_student_id_tl}, + {\c_@@_label_supervisor_tl} {\@@_secret_info:N \l_@@_value_supervisor_tl}, + {\c_@@_label_co_supervisor_tl} {\@@_secret_info:N \l_@@_value_external_supervisor_tl}, } \@@_render_cover_entry:n \l_@@_input_clist @@ -3981,8 +2233,7 @@ \vspace*{-3mm} - \zihao{1}\textbf{\ziju{0.12}Beijing\nobreak{~}Institute - \nobreak{~}of\nobreak{~}Technology~Bachelor's~Thesis}\par + \zihao{1}\textbf{\ziju{0.12}\l_@@_style_headline_tl}\par \vspace{18mm} @@ -4047,13 +2298,14 @@ % \end{macrocode} % \end{macro} % +% % \begin{macro}{\MakeOriginality} % 原创性声明。 % \begin{macrocode} \NewDocumentCommand \MakeOriginality {} { \group_begin: - \begin{blindPeerReview} + \begin{blindPeerReview}[\l_@@_style_hide_cover_in_peer_review_bool] \int_case:nn {\g_@@_thesis_type_int} { {1} @@ -4161,7 +2413,7 @@ % \begin{macrocode} \NewDocumentCommand \MakePaperBack {} { - \begin{blindPeerReview} + \begin{blindPeerReview}[\l_@@_style_hide_cover_in_peer_review_bool] \make_paper_back: \end{blindPeerReview} } @@ -4173,7 +2425,7 @@ % \begin{macrocode} \NewDocumentCommand \MakeTitle {} { - \begin{blindPeerReview} + \begin{blindPeerReview}[\l_@@_style_hide_cover_in_peer_review_bool] \@@_make_chinese_title_page: \@@_make_english_title_page: \end{blindPeerReview} @@ -4253,8 +2505,16 @@ } \@@_if_bachelor_thesis:T { - \ctexset{ - chapter/titleformat = {\textmd} + \int_compare:nNnTF {\g_@@_thesis_type_int} = {3} + { + \ctexset{ + chapter/titleformat = {\heiti} + } + } + { + \ctexset{ + chapter/titleformat = {\textmd} + } } } @@ -4466,14 +2726,27 @@ } } { % 附录节(section)级别 + + % 因为不需要用到 chapter counter, 所以直接加一即可。 + \stepcounter{chapter} + \setcounter{section}{0} + % (与上面方法至少用一个) + % 需要让 section 在 pdf bookmark 中输出字母而不是数字。 + % 详见 hyperref 代码。 + \gdef\theHsection{\Alph{section}} + + % 定义 \thefigure 采用节而不是章 +\cs_set:Npn \thefigure {\theHsection \g_@@_label_divide_char_tl\arabic{figure}} + \ctexset{ section/number = \l_@@_appendix_plain_label_tl\hspace{1ex}\Alph{section}, subsection/number = \Alph{section}. \arabic{subsection}, } - \cs_set:Npn \thechapter { + \cs_gset:Npn \thechapter { \Alph{section} } + % \gdef \thechapter{\Alph{section}} \tl_if_blank:VTF \l_@@_appendices_title_tl { \chapter{\l_@@_appendix_default_title_tl} @@ -5372,7 +3645,10 @@ % 设置主题与主题色。 % \begin{macrocode} \usetheme{Madrid} -\colorlet{beamer@blendedblue}{green!40!black} +\definecolor{bitred}{HTML}{A13E0B} +\definecolor{bitgreen}{HTML}{0A8F30} +\definecolor{bitdarkgreen}{HTML}{005B30} +\colorlet{beamer@blendedblue}{bitdarkgreen} % \end{macrocode} % % @@ -5416,1292 +3692,8 @@ %</beamer> % \end{macrocode} % -% \subsection{已弃用的代码} -% -% 来自老版本的代码,但是在新版本中已经不再使用。 -% ,为了保证老版本论文能够正常编译,特此保留。 -% -% \subsubsection{bitbook.cls 文档类(已弃用)} -% -% \begin{macrocode} -%<*book> -% \end{macrocode} -% \begin{macrocode} - -% 目前只有本科的模板,但仍旧要为可能预留空间。 -\newif\if@bit@bachelor -\newif\if@bit@docTranslation -\newif\if@bit@master -\newif\if@bit@doctor - -\RequirePackage{kvoptions} - -\SetupKeyvalOptions{ - family=BIThesis, - prefix=BIThesis@ -} - -\DeclareStringOption[14pt]{footskip} -\DeclareBoolOption{titleNumberHeiti} -\ProcessKeyvalOptions* - - -\DeclareOption{bachelor}{\@bit@bachelortrue} -\DeclareOption{translation}{\@bit@docTranslationtrue} -\DeclareOption*{\PassOptionsToClass{\CurrentOption}{ctexbook}} - -\ExecuteOptions{bachelor} - -\ProcessOptions\relax - -\PassOptionsToPackage{AutoFakeBold,AutoFakeSlant}{xeCJK} -\LoadClass[UTF8,zihao=-4,oneside,openany]{ctexbook} - -% \RequirePackage[a4paper,left=3cm,right=2.6cm,top=3.5cm,bottom=2.9cm]{geometry} -% 目前 29mm 最接近 Word 排版 -\RequirePackage{xeCJK} -\RequirePackage{titletoc} - % \RequirePackage{fontspec} -\RequirePackage{setspace} -\RequirePackage{graphicx} -\RequirePackage{fancyhdr} -\RequirePackage{pdfpages} -\RequirePackage{setspace} -\RequirePackage{booktabs} -\RequirePackage{multirow} -\RequirePackage{tikz} -\RequirePackage{etoolbox} -\RequirePackage{hyperref} -\RequirePackage{xcolor} -\RequirePackage{caption} -\RequirePackage{array} -\RequirePackage{amsmath} -\RequirePackage{amssymb} -\RequirePackage{pdfpages} -\RequirePackage{listings} - -%\PackageError{zzzz}{Main \BIThesis@footskip hellp}{test} - -% 设置参考文献编译后端为 biber,引用格式为 GB/T7714-2015 格式 -% 参考文献使用宏包见 https://github.com/hushidong/biblatex-gb7714-2015 -\RequirePackage[ - backend=biber, - style=gb7714-2015, - gbalign=gb7714-2015, - gbnamefmt=lowercase, - gbpub=false, - doi=false, - url=false, - eprint=false, - isbn=false, -]{biblatex} - -% 参考文献引用文件位于 misc/ref.bib -\addbibresource{./misc/ref.bib} - -% 西文字体默认为 Times New Roman -\setromanfont{Times New Roman} -% 论文题目字体为华文细黑 -\setCJKfamilyfont{xihei}[AutoFakeBold,AutoFakeSlant]{[STXIHEI.TTF]} % 若希望使用本机字体,也可以用 {STXihei} 来调用 -\newcommand{\xihei}{\CJKfamily{xihei}} - -\ifBIThesis@titleNumberHeiti - \newcommand{\arabicHeiti}[1]{\xeCJKsetup{CJKspace=true}\xeCJKDeclareCharClass{CJK}{`0 -> `9}{\heiti\raisebox{-0.1ex}{#1}}\normalspacedchars{0,1,2,3,4,5,6,7,8,9}\xeCJKsetup{CJKspace=false}} -\else - \newcommand{\arabicHeiti}[1]{#1} -\fi - - - -% 主题页面格式:BIThesis -\fancypagestyle{BIThesis}{ - % 页眉高度 - \setlength{\headheight}{20pt} - % 页码高度(不完美,比规定稍微靠下 2mm) - \setlength{\footskip}{\BIThesis@footskip} - - \fancyhf{} - % 定义页眉、页码 - \fancyhead[C]{\zihao{4}\ziju{0.08}\songti{北京理工大学本科生毕业设计(论文)}} - \fancyfoot[C]{\songti\zihao{5} \thepage} - % 页眉分割线稍微粗一些 - \renewcommand{\headrulewidth}{0.6pt} -} - -\if@bit@docTranslation -% 主题页面格式:BIThesis -\fancypagestyle{BIThesis}{ - % 页眉高度 - \setlength{\headheight}{20pt} - % 页码高度(不完美,比规定稍微靠下 2mm) - \setlength{\footskip}{\BIThesis@footskip} - - \fancyhf{} - % 定义页码 - \fancyfoot[C]{\songti\zihao{5} \thepage} - % 页眉分割线稍微粗一些 - \renewcommand{\headrulewidth}{0.6pt} - - % 定义页眉 - \fancyhead[C]{\zihao{4}\ziju{0.08}\songti{北京理工大学本科生毕业设计(论文)外文翻译}} -} -\fi -% 设置章节格式 -% 一级标题:黑体,三号,加粗;间距:段前 0.5 行,段后 1 行; -\ctexset{chapter={ - name = {第,章}, - number = {\arabicHeiti{ \arabic{chapter} }}, - format = {\heiti \bfseries \centering \zihao{3}}, - aftername = \hspace{9bp}, - pagestyle = BIThesis, - beforeskip = 8bp, - afterskip = 32bp, - fixskip = true, - } -} - -% 二级标题:黑体,四号,加粗;间距:段前 0.5 行,段后 0 行; -\ctexset{section={ - number = {\arabicHeiti{\thechapter.\hspace{1bp}\arabic{section}}}, - format = {\heiti \raggedright \bfseries \zihao{4}}, - aftername = \hspace{8bp}, - beforeskip = 20bp plus 1ex minus .2ex, - afterskip = 18bp plus .2ex, - fixskip = true, - } -} - -% 三级标题:黑体、小四、加粗;间距:段前 0.5 行,段后 0 行; -\ctexset{subsection={ - number = {\arabicHeiti{\thechapter.\hspace{1bp}\arabic{section}.\hspace{1bp}\arabic{subsection}}}, - format = {\heiti \bfseries \raggedright \zihao{-4}}, - aftername = \hspace{7bp}, - beforeskip = 17bp plus 1ex minus .2ex, - afterskip = 14bp plus .2ex, - fixskip = true, - } -} - -% 设置目录样式 -% 添加 PDF 链接 -\addtocontents{toc}{\protect\hypersetup{hidelinks}} - -% 解决「目录」二字的格式问题 -\renewcommand{\contentsname}{ - \fontsize{16pt}{\baselineskip} - \normalfont\heiti{目~~~~录} - \vspace{-8pt} -} -% 定义目录样式 -\titlecontents{chapter}[0pt]{\songti \zihao{-4}} -{\thecontentslabel\hspace{\ccwd}}{} -{\hspace{.5em}\titlerule*{.}\contentspage} -\titlecontents{section}[1\ccwd]{\songti \zihao{-4}} -{\thecontentslabel\hspace{\ccwd}}{} -{\hspace{.5em}\titlerule*{.}\contentspage} -\titlecontents{subsection}[2\ccwd]{\songti \zihao{-4}} -{\thecontentslabel\hspace{\ccwd}}{} -{\hspace{.5em}\titlerule*{.}\contentspage} - -% 前置页面(原创性声明、中英文摘要、目录等) -\renewcommand{\frontmatter}{ - \pagenumbering{Roman} - \pagestyle{BIThesis} -} - -% 正文页面 -\renewcommand{\mainmatter}{ - \pagenumbering{arabic} - \pagestyle{BIThesis} -} - -% 设置 caption 与 figure 之间的距离 -\setlength{\abovecaptionskip}{11pt} -\setlength{\belowcaptionskip}{9pt} - -% 设置图片的 caption 格式 -\renewcommand{\thefigure}{\thechapter-\arabic{figure}} -\captionsetup[figure]{font=small,labelsep=space} - -% 设置 listings 源代码高亮的格式 -\AtBeginDocument{ - \renewcommand{\lstlistingname}{代码} - \renewcommand{\thelstlisting}{\arabic{chapter}-\arabic{lstlisting}} -} - -\definecolor{codegreen}{rgb}{0,0.6,0} -\definecolor{codegray}{rgb}{0.5,0.5,0.5} -\definecolor{codepurple}{rgb}{0.58,0,0.82} -\definecolor{backcolour}{rgb}{0.95,0.95,0.92} -\lstdefinestyle{examplestyle}{ - backgroundcolor=\color{backcolour}, - commentstyle=\color{codegreen}, - keywordstyle=\color{magenta}, - numberstyle=\tiny\color{codegray}, - stringstyle=\color{codepurple}, - basicstyle=\ttfamily\footnotesize, - breakatwhitespace=false, - breaklines=true, - captionpos=b, - keepspaces=true, - numbers=left, - numbersep=5pt, - showspaces=false, - showstringspaces=false, - showtabs=false, - tabsize=2 -} -\lstset{style=examplestyle} - - -% 设置表格的 caption 格式和 caption 与 table 之间的垂直距离 -\renewcommand{\thetable}{\thechapter-\arabic{table}} -\captionsetup[table]{font=small,labelsep=space,skip=2pt} - -% 调整底层 TeX 排版引擎参数以保证所有段落能够很好地以两端对齐的方式呈现 -\tolerance=1 -\emergencystretch=\maxdimen -\hyphenpenalty=10000 -\hbadness=10000 - -% 设置数学公式编号格式 -\renewcommand{\theequation}{\arabic{chapter}-\arabic{equation}} - -\newcommand{\unnumchapter}[1]{ - \chapter*{\vskip 10bp\textmd{#1} \vskip -6bp} - \addcontentsline{toc}{chapter}{#1} - \stepcounter{chapter} -} - - - -% \end{macrocode} -% \begin{macrocode} -%</book> -% \end{macrocode} -% \subsubsection{bitart.cls 文档类(已弃用)} -% \begin{macrocode} -%<*article> -% \end{macrocode} -% \begin{macrocode} - -\newif\if@bit@labreport -\newif\if@bit@proposalreport - -\DeclareOption{lab-report}{\@bit@labreporttrue\@bit@proposalreportfalse} -\DeclareOption{proposal-report}{\@bit@labreportfalse\@bit@proposalreporttrue} -\DeclareOption*{\PassOptionsToClass{\CurrentOption}{ctexart}} -\ExecuteOptions{lab-report} -\ProcessOptions\relax - -\PassOptionsToPackage{AutoFakeBold,AutoFakeSlant}{xeCJK} -\LoadClass[UTF8,zihao=-4]{ctexart}% - -\if@bit@labreport - \RequirePackage[a4paper,left=3.18cm,right=3.18cm,top=2.54cm,bottom=2.54cm,includeheadfoot]{geometry}% -\else - \RequirePackage[a4paper,left=3cm,right=2.4cm,top=2.6cm,bottom=2.38cm,includeheadfoot]{geometry} -\fi - -\RequirePackage{fontspec}% -\RequirePackage{setspace}% -\RequirePackage{graphicx}% -\RequirePackage{fancyhdr}% -\RequirePackage{pdfpages}% -\RequirePackage{setspace}% -\RequirePackage{booktabs}% -\RequirePackage{multirow}% -\RequirePackage{caption}% - -\if@bit@labreport - \RequirePackage{titlesec}% - \RequirePackage{float}% - \RequirePackage{etoolbox} -\fi - -% 设置参考文献编译后端为 biber,引用格式为 GB/T7714-2015 格式 -% 参考文献使用宏包见 https://github.com/hushidong/biblatex-gb7714-2015 -\RequirePackage[style=gb7714-2015,backend=biber]{biblatex} - -\if@bit@labreport - % 将西文字体设置为 Times New Roman - \setromanfont{Times New Roman}% - - % 设置文档标题深度 - \setcounter{tocdepth}{3}% - \setcounter{secnumdepth}{3}% - - %% - % 设置一级标题、二级标题格式 - \ctexset{section={% - format={\raggedright \bfseries \songti \zihao{-3}},% - name = {,.},% - number = \chinese{section}% - }% - }% - \ctexset{subsection={% - format = {\bfseries \songti \raggedright \zihao{-4}},% - }% - }% - - % 页眉和页脚(页码)的格式设定 - \fancyhf{}% - \fancyhead[L]{\fontsize{10.5pt}{10.5pt}\selectfont\kaishu{\reportName}}% - \fancyfoot[C]{\fontsize{9pt}{9pt}\selectfont\kaishu{\thepage}}% - \renewcommand{\headrulewidth}{0.5pt}% - \renewcommand{\footrulewidth}{0pt}% - - \AtBeginDocument{ - } -\fi - -\if@bit@proposalreport - % 定义 caption 字体为楷体 - \DeclareCaptionFont{kaiticaption}{\kaishu \normalsize} - - % 设置图片的 caption 格式 - \renewcommand{\thefigure}{\thesection-\arabic{figure}} - \captionsetup[figure]{font=small,labelsep=space,skip=10bp,labelfont=bf,font=kaiticaption} - - % 设置表格的 caption 格式 - \renewcommand{\thetable}{\thesection-\arabic{table}} - \captionsetup[table]{font=small,labelsep=space,skip=10bp,labelfont=bf,font=kaiticaption} - - % 输出大写数字日期 - \ctexset{today=big} - - % 将西文字体设置为 Times New Roman - \setromanfont{Times New Roman} - - %% 将中文楷体设置为 SIMKAI.TTF(如果需要) - % \setCJKfamilyfont{zhkai}{[SIMKAI.TTF]} - % \newcommand*{\kaiti}{\CJKfamily{zhkai}} - - % 设置文档标题深度 - \setcounter{tocdepth}{3} - \setcounter{secnumdepth}{3} - - %% - % 设置一级标题、二级标题格式 - % 一级标题:小三,宋体,加粗,段前段后各半行 - \ctexset{section={ - format={\raggedright \bfseries \songti \zihao{-3}}, - beforeskip = 24bp plus 1ex minus .2ex, - afterskip = 24bp plus .2ex, - fixskip = true, - name = {,.\quad} - } - } - % 二级标题:小四,宋体,加粗,段前段后各半行 - \ctexset{subsection={ - format = {\bfseries \songti \raggedright \zihao{4}}, - beforeskip =24bp plus 1ex minus .2ex, - afterskip = 24bp plus .2ex, - fixskip = true, - } - } - % 页眉和页脚(页码)的格式设定 - \fancyhf{} - \fancyhead[R]{\fontsize{10.5pt}{10.5pt}\selectfont{北京理工大学本科生毕业设计(论文)开题报告}} - \fancyfoot[R]{\fontsize{9pt}{9pt}\selectfont{\thepage}} - \renewcommand{\headrulewidth}{1pt} - \renewcommand{\footrulewidth}{0pt} -\fi - - -\AtBeginDocument{ - \if@bit@labreport - \input{misc/cover_v1.tex} - % 正文开始 - \pagestyle{fancy} - \setcounter{page}{1}% - \fi - \if@bit@proposalreport - % 报告封面 - \input{misc/cover.tex} - \fi - -} - -% \end{macrocode} -% -% \begin{macrocode} -% \end{macrocode} -% -% \begin{macrocode} -%</article> -% \end{macrocode} -% \subsubsection{bitgraduate.cls 文档类(已弃用)} -% \begin{macrocode} -%<*graduate> -% \end{macrocode} -% \begin{macrocode} - -%% ================================================== -%% BIT-thesis-grd.cls for BIT Thesis -%% modified by yang yating -%% version: 1.4 -%% last update: Mar 25th, 2018 -%% ================================================== - -%% math packages -- conflict with xunicode -\RequirePackage{amsmath,amsthm,amsfonts,amssymb,bm,mathrsfs} -% 直立希腊字母字体 -\RequirePackage{upgreek} - -\DeclareOption*{\PassOptionsToClass{\CurrentOption}{ctexbook}} -\newif\ifBIT@master\BIT@masterfalse -\newif\ifBIT@doctor\BIT@doctorfalse -\newif\ifBIT@istwoside\BIT@istwosidefalse -\DeclareOption{twoside}{\BIT@istwosidetrue} -\DeclareOption{master}{\BIT@mastertrue} -\DeclareOption{doctor}{\BIT@doctortrue} - -\ProcessOptions\relax -\ifBIT@istwoside -\LoadClass[zihao=-4,a4paper,UTF8,space=auto]{ctexbook} -\else -\LoadClass[zihao=-4,a4paper,oneside,openany,UTF8,space=auto]{ctexbook} -\fi - -%% -%% the setup of ctex package -%% -\def\contentsname{目\BITspace 录} -\def\listfigurename{插\BITspace 图} -\def\listtablename{表\BITspace 格} - -%% -%% 封面标题 -%% -\def\BIT@label@major{学~~~~科~~~~专~~~~业} -\def\BIT@label@title{论文题目} -\def\BIT@label@author{作~~~~者~~~~姓~~~~名} -\def\BIT@label@classification{中图分类号:} -\def\BIT@label@confidential{密级} -\def\BIT@label@UDC{UDC\!分类号:} -\def\BIT@label@serialnumber{编号} -\def\BIT@label@thesis{学位论文} -\def\BIT@label@advisor{指~~~~导~~~~教~~~~师} -\def\BIT@label@degree{申~~~~请~~~~学~~~~位} -\def\BIT@label@submitdate{论文提交日期} -\def\BIT@label@defenddate{论~文~答~辩~日~期} -\def\BIT@label@institute{学~~~~院~~~~名~~~~称} -\def\BIT@label@school{学~位~授~予~单~位} -\def\BIT@label@chairman{答辩委员会主席} - -%% -%% 封面内容 -%% - -\def\BIT@value@classification{} -\def\BIT@value@confidential{} -\def\BIT@value@UDC{} -\def\BIT@value@serialnumber{} -\def\BIT@value@school{} -\def\BIT@value@degree{} -\def\BIT@value@title{~~~~~(论~文~题~目)~~~~~} -\def\BIT@value@vtitle{竖排论文题目} -\def\BIT@value@titlemark{\BIT@value@title} -\def\BIT@value@author{(作~者~姓~名)} -\def\BIT@value@advisor{(姓名、专业技术职务、学位)} -\def\BIT@value@advisorinstitute{(单位)} -\def\BIT@value@major{} -\def\BIT@value@studentnumber{} % _ added by wei.jianwen@gmail.com -\def\BIT@value@submitdate{} -\def\BIT@value@defenddate{} -\def\BIT@value@institute{} -\def\BIT@value@chairman{} -\def\BIT@label@statement{} - -%% 设置圆圈的格式 或使用\textcircled -\usepackage{tikz} -\usepackage{etoolbox} -\newcommand{\circled}[2][]{\tikz[baseline=(char.base)] - {\node[shape = circle, draw, inner sep = 1pt] - (char) {\phantom{\ifblank{#1}{#2}{#1}}}; - \node at (char.center) {\makebox[0pt][c]{#2}};}} -\robustify{\circled} - -%% 论文原创性声明 -\def\BIT@label@original{研究成果声明} -\def\BIT@label@authorization{关于学位论文使用权的说明} -\def\BIT@label@authorsign{作者签名:} -\def\BIT@label@Supervisorsign{导师签名:} -\def\BIT@label@originalDate{签字日期:} -\def\BIT@label@originalcontent{\BITspace\BITspace 本人郑重声明:所提交的学位论文是我本人在指导教师的指导下进行的研究工作获得的研究成果。尽我所知,文中除特别标注和致谢的地方外,学位论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得北京理工大学或其它教育机构的学位或证书所使用过的材料。与我一同工作的合作者对此研究工作所做的任何贡献均已在学位论文中作了明确的说明并表示了谢意。\par 特此申明。} -\def\BIT@label@authorizationcontent{\BITspace\BITspace 本人完全了解北京理工大学有关保管、使用学位论文的规定,其中包括:\circled{1} 学校有权保管、并向有关部门送交学位论文的原件与复印件;\circled{2} 学校可以采用影印、缩印或其它复制手段复制并保存学位论文;\circled{3} 学校可允许学位论文被查阅或借阅;\circled{4} 学校可以学术交流为目的,复制赠送和交换学位论文;\circled{5} 学校可以公布学位论文的全部或部分内容(保密学位论文在解密后遵守此规定)。} - -%% -%% 英语封面标题 -%% -\def\BIT@label@englishadvisor{Supervisor:} -\def\BIT@label@englishstatement{Submitted in total fulfilment - of the requirements for the degree of \BIT@value@englishdegree \\ - in \BIT@value@englishmajor} -\def\BIT@label@englishauthor{Candidate Name:} -\def\BIT@label@englishadvisor{Faculty Mentor:} -\def\BIT@label@englishchairman{Chair, Thesis Committee:} -\def\BIT@label@englishinstitute{School or Department:} -\def\BIT@label@englishdegree{Degree Applied:} -\def\BIT@label@englishmajor{Major:} -\def\BIT@label@englishschool{Degree by:} -\def\BIT@label@englishdate{The Date of Defence:} - - -%% -%% 英语封面内容 -%% -\def\BIT@value@englishtitle{(English Title of Thesis)} -\def\BIT@value@englishauthor{(Author Name)} -\def\BIT@value@englishadvisor{(Supervisor Name)} -\def\BIT@value@englishinstitute{(Institute Name)} -\def\BIT@value@englishscholl{(BIT)} -\def\BIT@value@englishchair{(someone)} -\def\BIT@value@englishdate{} -\def\BIT@value@englishdegree{} -\def\BIT@value@englishmajor{} - - - -\def\BIT@label@abstract{摘要} -\def\BIT@label@englishabstract{Abstract} -\def\BIT@label@keywords{关键词:} -\def\BIT@label@englishkeywords{Key Words:~} -\def\BIT@label@conclusion{结论} -\def\BIT@label@appendix{附录} -\def\BIT@label@publications{攻读学位期间发表论文与研究成果清单} -\def\BIT@label@projects{攻读学位期间参与的项目} -\def\BIT@label@resume{作者简介} -\def\BIT@label@reference{参考文献!!!!} -\def\BIT@label@thanks{致谢} -\def\BIT@value@templateversion{v1.2} -%% -%% label in the head 页眉页脚 -%% -\def\BIT@label@headschoolname{北京理工大学硕士学位论文} - -%% 当前模板的版本 -\newcommand{\version}{\BIT@value@templateversion} - -%% ==============引用geometry 宏包设置纸张和页面======================== -% 设置版面:上3.5cm,下2.5cm,左2.7cm,右2.7cm,页眉2.5cm,页脚1.8cm,装订线0cm -\usepackage[% -paper=a4paper,% -top=3.5cm,% 上 3.5cm % -bottom=2.5cm,% 下 2.5cm % -left=2.7cm,% 左 2.7cm % -right=2.7cm,% 右 2.7cm % -headheight=1.0cm,% 页眉 2.5cm % -footskip=0.7cm% 页脚 1.8cm % -]{geometry} % 页面设置 % - -\parskip 0.5ex plus 0.25ex minus 0.25ex -%% Command -- Clear Double Page -\def\cleardoublepage{\clearpage\if@twoside \ifodd\c@page\else - \thispagestyle{empty}% - \hbox{}\newpage\if@twocolumn\hbox{}\newpage\fi\fi\fi} -% 设置行距,大概为22榜 -\RequirePackage{setspace} -\setstretch{1.523} - -%% 设置章节格式, 黑体三号加粗居中,行距22磅,与正文或节标题的间距设定为段后间距1行。章序号与章名间空一格。 -\ctexset{chapter={ - name = {第,章}, - number = {\arabic{chapter}}, - format = {\bfseries \sffamily \centering \zihao{3}}, - pagestyle = {BIT@headings}, - beforeskip = 16 bp, - afterskip = 32 bp, - fixskip = true, - } -} -%% 设置一级章节格式 -% 黑体四号加粗顶左,行距22磅,与上一节的间距为1行,与下面正文或节标题的段间间距为0.5行。序号与题目间空一格。 - -\ctexset{section={ - format={\raggedright \bfseries \sffamily \zihao{4}}, - beforeskip = 28bp plus 1ex minus .2ex, - afterskip = 24bp plus .2ex, - fixskip = true, - } -} - -% 设置二级标题格式 - -% 黑体小四加粗顶左,行距22磅,与上一节的间距为1行,与下面正文或节标题的段间间距为0.5行。序号与题目间空一格。 - -\ctexset{subsection={ - format = {\bfseries \sffamily \raggedright \zihao{-4}}, - beforeskip =28bp plus 1ex minus .2ex, - afterskip = 24bp plus .2ex, - fixskip = true, - } -} - -% 设置三节标题格式 - -\ctexset{subsubsection={ - format={\heiti \raggedright \zihao{-4}}, - beforeskip=28bp plus 1ex minus .2ex, - afterskip=24bp plus .2ex, - fixskip=true, - } -} - -%% 设定目录格式。目录颜色更改黑色 -\addtocontents{toc}{\protect\hypersetup{hidelinks}} -\addtocontents{lot}{\protect\hypersetup{hidelinks}} -\addtocontents{lof}{\protect\hypersetup{hidelinks}} - -\RequirePackage{titletoc} -\titlecontents{chapter}[0pt]{\songti \zihao{4}} - {\bf\thecontentslabel\hspace{\ccwd}}{\bf} - {\hspace{.5em}\titlerule*{.}\contentspage} -\titlecontents{section}[2\ccwd]{\songti \zihao{-4}} - {\thecontentslabel\hspace{\ccwd}}{} - {\hspace{.5em}\titlerule*{.}\contentspage} -\titlecontents{subsection}[4\ccwd]{\songti \zihao{-4}} - {\thecontentslabel\hspace{\ccwd}}{} - {\hspace{.5em}\titlerule*{.}\contentspage} - -\titlecontents{figure}[0pt]{\songti\zihao{-4}} - {\figurename~\thecontentslabel\quad}{\hspace*{-1.5cm}} - {\hspace{.5em}\titlerule*{.}\contentspage} - -\titlecontents{table}[0pt]{\songti\zihao{-4}} - {\tablename~\thecontentslabel\quad}{\hspace*{-1.5cm}} - {\hspace{.5em}\titlerule*{.}\contentspage} - -%% 选择编译 -\RequirePackage{ifthen} - -%% check pdfTeX mode -\RequirePackage{ifpdf} - -%% fancyhdr 页眉页脚控制 -\RequirePackage{fancyhdr} - -% 空 页眉页脚 -\fancypagestyle{BIT@empty}{% - \fancyhf{}} - -% ======正文页眉页脚================= -\fancypagestyle{BIT@headings}{% - \fancyhf{} - \fancyfoot[C]{\songti\zihao{5} \thepage} - \fancyhead[C]{\ifBIT@master\zihao{5}{\songti 北京理工大学硕士学位论文} - \else\zihao{5}{\songti 北京理工大学博士学位论文}\fi} - } - -% ==================================对于openright 选项,必须保证章页右开,且如果前章末页内容须清空其页眉页脚。=================== -\let\BIT@cleardoublepage\cleardoublepage -\newcommand{\BIT@clearemptydoublepage}{% - \clearpage{\pagestyle{BIT@empty}\BIT@cleardoublepage}} -\let\cleardoublepage\BIT@clearemptydoublepage - - % ================修该frontmatter 的页码为大写罗马格式,并调整页面风格=============== -\renewcommand{\frontmatter}{ - \if@openright\cleardoublepage\else\clearpage\fi - \@mainmatterfalse - \pagenumbering{Roman} - \pagestyle{BIT@headings} -} -% =======================修改mainmatter 的页码为阿拉伯格式,并调整页面风格======================== -\renewcommand{\mainmatter}{ - \if@openright\cleardoublepage\else\clearpage\fi - \@mainmattertrue - \pagenumbering{arabic} - \pagestyle{BIT@headings} -} - - -%% 复杂表格 -\RequirePackage{threeparttable} -\RequirePackage{dcolumn} -\RequirePackage{multirow} -\RequirePackage{booktabs} -\newcolumntype{d}[1]{D{.}{.}{#1}}% or D{.}{,}{#1} or D{.}{\cdot}{#1} - - -%% 定义几个常用的数学常量符号 -\newcommand{\me}{\mathrm{e}} % 定义 对数常数e,虚数符号i,j以及微分算子d为直立体。 -\newcommand{\mi}{\mathrm{i}} -\newcommand{\mj}{\mathrm{j}} -\newcommand{\dif}{\,\mathrm{d}} - -\theoremstyle{plain} - \newtheorem{algo}{算法~}[chapter] - \newtheorem{thm}{定理~}[chapter] - \newtheorem{lem}[thm]{引理~} - \newtheorem{prop}[thm]{命题~} - \newtheorem{cor}[thm]{推论~} -\theoremstyle{definition} - \newtheorem{defn}{定义~}[chapter] - \newtheorem{conj}{猜想~}[chapter] - \newtheorem{exmp}{例~}[chapter] - \newtheorem{rem}{注~} - \newtheorem{case}{情形~} -\renewcommand{\proofname}{\bf 证明} - -%% 英文字体使用 Times New Roman -\RequirePackage{xltxtra} % \XeTeX Logo -\setmainfont{Times New Roman} -\setsansfont{Arial} -\setmonofont{Courier New} - - -%% graphics packages -\RequirePackage{graphicx} -%% 并列子图 -\RequirePackage{subfigure} - -\RequirePackage{wrapfig} -%% ===========================设置图表标题选项========================== -\RequirePackage{amsmath} -\RequirePackage{caption} -\DeclareCaptionLabelSeparator{zhspace}{\hspace{1\ccwd}} -\DeclareCaptionFont{fontsize}{\zihao{5}} -\captionsetup{ - font = {fontsize}, - labelsep = zhspace, -} -\captionsetup[table]{ - position = top, - aboveskip = 6bp, - belowskip = 6bp, -} -\numberwithin{table}{chapter} -\captionsetup[figure]{ - position = bottom, - aboveskip = 6bp, - belowskip = 6bp, -} - -%% 如果插入的图片没有指定扩展名,那么依次搜索下面的扩展名所对应的文件 -\DeclareGraphicsExtensions{.pdf,.eps,.png,.jpg,.jpeg} -% ccaption -- bicaption -% \RequirePackage{ccaption} -% \captiondelim{\ } -% \captionnamefont{\songti\zihao{5}} -% \captiontitlefont{\songti\zihao{5}} - -\RequirePackage[ - backend=biber, - style=gb7714-2015, - gbalign=gb7714-2015, - gbnamefmt=lowercase, - gbpub=false, - doi=false, - url=false, - eprint=false, - isbn=false, -]{biblatex} - -% 将浮动参数设为较宽松的值 -\renewcommand{\textfraction}{0.15} -\renewcommand{\topfraction}{0.85} -\renewcommand{\bottomfraction}{0.65} -\renewcommand{\floatpagefraction}{0.60} - - -% 定公式、图、表编号为"3-1"的形式,即分隔符由.变为短杠 -\renewcommand\theequation{\arabic{chapter}.\arabic{equation}} -\renewcommand\thefigure{\arabic{chapter}.\arabic{figure}} -\renewcommand\thetable{\arabic{chapter}.\arabic{table}} - -% 颜色宏包 -\RequirePackage{xcolor} - - -% 中文破折号 -\newcommand{\cndash}{\rule{0.0em}{0pt}\rule[0.35em]{1.4em}{0.05em}\rule{0.2em}{0pt}} - -% listings 源代码显示宏包 -\RequirePackage{listings} -\lstset{tabsize=4, % - frame=shadowbox, % 把代码用带有阴影的框圈起来 - commentstyle=\color{red!50!green!50!blue!50},% 浅灰色的注释 - rulesepcolor=\color{red!20!green!20!blue!20},% 代码块边框为淡青色 - keywordstyle=\color{blue!90}\bfseries, % 代码关键字的颜色为蓝色,粗体 - showstringspaces=false,% 不显示代码字符串中间的空格标记 - stringstyle=\ttfamily, % 代码字符串的特殊格式 - keepspaces=true, % - breakindent=22pt, % - numbers=left,% 左侧显示行号 - stepnumber=1,% - numberstyle=\tiny, % 行号字体用小号 - basicstyle=\footnotesize, % - showspaces=false, % - flexiblecolumns=true, % - breaklines=true, % 对过长的代码自动换行 - postbreak=\mbox{\textcolor{red}{$\hookrightarrow$}\space}, - aboveskip=1em, % 代码块边框 - %% added by http://bbs.ctex.org/viewthread.php?tid=53451 - fontadjust, - captionpos=t, - framextopmargin=2pt,framexbottommargin=2pt,abovecaptionskip=-3pt,belowcaptionskip=3pt, - xleftmargin=4em,xrightmargin=4em, % 设定listing左右的空白 - texcl=true, - % 设定中文冲突,断行,列模式,数学环境输入,listing数字的样式 - extendedchars=false,columns=flexible,mathescape=true - numbersep=-1em -} -\renewcommand{\lstlistingname}{代码} %% 重命名Listings标题头 - -%% hyperref package -\definecolor{navyblue}{RGB}{0,0,128} -\RequirePackage{hyperref} -\hypersetup{ - bookmarksnumbered,% - linktoc=all, - colorlinks=true, - citecolor=navyblue, - filecolor=cyan, - linkcolor=navyblue, - linkbordercolor=navyblue, - urlcolor=navyblue, - plainpages=false,% - pdfstartview=FitH -} - -%% enumerate 列表环境间距调节 -\usepackage{enumitem} -% \setenumerate[1]{itemsep=0pt,partopsep=0pt,parsep=\parskip,topsep=5pt} -% \setitemize[1]{itemsep=0pt,partopsep=0pt,parsep=\parskip,topsep=0pt} -% \setdescription{itemsep=0pt,partopsep=0pt,parsep=\parskip,topsep=5pt} - -% _ BITspace -% \newcommand\BITspace{\protect\CTEX@spaceChar\protect\CTEX@spaceChar} -\newcommand{\BITspace}[1][1]{\hspace{#1\ccwd}} - -\def\BIT@getfileinfo#1 #2 #3\relax#4\relax{% - \def\BITfiledate{#1}% - \def\BITfileversion{#2}% - \def\BITfileinfo{#3}}% -\expandafter\ifx\csname ver@bitmaster-xetex.cls\endcsname\relax - \edef\reserved@a{\csname ver@ctextemp_bitmaster-xetex.cls\endcsname} -\else - \edef\reserved@a{\csname ver@bitmaster-xetex.cls\endcsname} -\fi -\expandafter\BIT@getfileinfo\reserved@a\relax? ? \relax\relax -\def\BIT@underline[#1]#2{% - \underline{\hbox to #1{\hfill#2\hfill}}} -\def\BITunderline{\@ifnextchar[\BIT@underline\underline} - -% 中文标题页的可用命令 -\newcommand\classification[1]{\def\BIT@value@classification{#1}} -\newcommand\studentnumber[1]{\def\BIT@value@studentnumber{#1}} -\newcommand\confidential[1]{\def\BIT@value@confidential{#1}} -\newcommand\UDC[1]{\def\BIT@value@UDC{#1}} -\newcommand\serialnumber[1]{\def\BIT@value@serialnumber{#1}} -\newcommand\school[1]{\def\BIT@value@school{#1}} -\newcommand\degree[1]{\def\BIT@value@degree{#1}} -\renewcommand\title[2][\BIT@value@title]{% - \def\BIT@value@title{#2} - \def\BIT@value@titlemark{\MakeUppercase{#1}}} - -\newcommand\vtitle[1]{\def\BIT@value@vtitle{#1}} -\renewcommand\author[1]{\def\BIT@value@author{#1}} -\newcommand\advisor[1]{\def\BIT@value@advisor{#1}} -\newcommand\advisorinstitute[1]{\def\BIT@value@advisorinstitute{#1}} -\newcommand\major[1]{\def\BIT@value@major{#1}} -\newcommand\submitdate[1]{\def\BIT@value@submitdate{#1}} -\newcommand\defenddate[1]{\def\BIT@value@defenddate{#1}} -\newcommand\institute[1]{\def\BIT@value@institute{#1}} -\newcommand\chairman[1]{\def\BIT@value@chairman{#1}} - -%% 第一页和第二页 -% “绘制”BIT中文标题页 -\renewcommand\maketitle[1]{% - \cleardoublepage - \thispagestyle{empty} - \begin{center} - \vspace*{60mm} - {\heiti\zihao{-2} \BIT@value@title} - \vskip 40mm - {\heiti \zihao{-3} \BIT@value@author} % 黑体 小三 - \vskip 4mm - {\heiti \zihao{-3} \BIT@value@defenddate} % 黑体 小三 - \end{center} - \clearpage - \if@twoside - \thispagestyle{empty} - \cleardoublepage - \fi - } - -\newcommand\makeInfo[1]% - { - \newpage - \cleardoublepage - \thispagestyle{empty} - -% udc ltz -{ % - {\heiti \zihao{5} \noindent \BIT@label@classification} \BIT@value@classification \\ - {\heiti \zihao{5} \BIT@label@UDC} \BIT@value@UDC -} - - \begin{center} - - \vskip \stretch{1} - {\heiti\zihao{-2} \BIT@value@title} - \vskip \stretch{1} - - {\fangsong\zihao{4}} - \def\tabcolsep{1pt} - \def\arraystretch{1.5} - - % 黑体 小三 - {\heiti\zihao{-3} - \begin{tabular}{l p{3mm} c} - \BIT@label@author & &\BITunderline[180pt]{\BIT@value@author} - \\ - \BIT@label@institute & & \BITunderline[180pt]{\BIT@value@institute} - \\ - \BIT@label@advisor & & \BITunderline[180pt]{\BIT@value@advisor} - \\ - \BIT@label@chairman & & \BITunderline[180pt]{\BIT@value@chairman} - \\ - \BIT@label@degree & & \BITunderline[180pt]{\BIT@value@degree} - \\ - \BIT@label@major & & \BITunderline[180pt]{\BIT@value@major} - \\ - \BIT@label@school & & \BITunderline[180pt]{\BIT@value@school} - \\ - \BIT@label@defenddate & & \BITunderline[180pt]{\BIT@value@defenddate} - \end{tabular}} - - \end{center} - - \vskip \stretch{0.5} - \clearpage - \if@twoside - \thispagestyle{empty} - \cleardoublepage - \fi -} - -% English Title Page -% 英文标题页可用命令 -\newcommand\englishtitle[1]{\def\BIT@value@englishtitle{#1}} -\newcommand\englishauthor[1]{\def\BIT@value@englishauthor{#1}} -\newcommand\englishadvisor[1]{\def\BIT@value@englishadvisor{#1}} -\newcommand\englishschool[1]{\def\BIT@value@englishschool{#1}} -\newcommand\englishinstitute[1]{\def\BIT@value@englishinstitute{#1}} -\newcommand\englishdate[1]{\def\BIT@value@englishdate{#1}} -\newcommand\englishdegree[1]{\def\BIT@value@englishdegree{#1}} -\newcommand\englishmajor[1]{\def\BIT@value@englishmajor{#1}} -\newcommand\englishchairman[1]{\def\BIT@value@englishchairman{#1}} - -% "绘制"英文标题页 -\newcommand\makeEnglishInfo[1]{% - \cleardoublepage - \thispagestyle{empty} - - \begin{center} - - - \vspace*{10em} -% 论文题目 Times New Roman 小二 加粗 - {\zihao{-2}\textbf{\BIT@value@englishtitle}} - % \bfseries - \vskip \stretch{1} - -% Times New Roman 小三 - {\zihao{-3} - \begin{tabular}{ll} - \BIT@label@englishauthor & \BITunderline[200pt]{\BIT@value@englishauthor} - \\ - \BIT@label@englishinstitute & \BITunderline[200pt]{\BIT@value@englishinstitute} - \\ - \BIT@label@englishadvisor & \BITunderline[200pt]{\BIT@value@englishadvisor} - \\ - \BIT@label@englishchairman & \BITunderline[200pt]{\BIT@value@englishchairman} - \\ - \BIT@label@englishdegree & \BITunderline[200pt]{\BIT@value@englishdegree} - \\ - \BIT@label@englishmajor & \BITunderline[200pt]{\BIT@value@englishmajor} - \\ - \BIT@label@englishschool & \BITunderline[200pt]{\BIT@value@englishschool} - \\ - \BIT@label@englishdate & \BITunderline[200pt]{\BIT@value@englishdate} - \end{tabular}} - - \end{center} - - \vskip \stretch{0.5} - \clearpage - \if@twoside - \thispagestyle{empty} - \cleardoublepage - \fi -} - -% 绘制树立排放的论文题目和学校名称 - -\newcommand\makeVerticalTitle{ - \cleardoublepage - \thispagestyle{empty} - \vskip 5cm - \begin{center} - \setstretch{1.1} - \begin{minipage}{2em} - \begin{center} - {\heiti\zihao{3}\BIT@value@vtitle} - \vskip 2em - {\heiti\zihao{3}\BIT@value@school} - \end{center} - \end{minipage} - \end{center} - \clearpage - \if@twoside - \thispagestyle{empty} - \cleardoublepage - \fi -} - -% 原创性声明 -\newcommand\makeDeclareOriginal{% - \cleardoublepage - \pdfbookmark[0]{声明}{statement} - \thispagestyle{empty} - \begin{center} - {\bf\zihao{3} \BIT@label@original} - \end{center} - \vskip 10pt - {\zihao{4}\BIT@label@originalcontent} - \vskip 10pt - \hspace{8em}{\zihao{4}\BIT@label@authorsign} \BITunderline[6em]{} \hspace{2em} {\zihao{4}\BIT@label@originalDate} \BITunderline[6em]{} - - \vskip 30mm - - \begin{center} - {\bf\zihao{3} \BIT@label@authorization} - \end{center} - \vskip 10pt - {\zihao{4} \BIT@label@authorizationcontent} - \vskip 40pt - - \hspace{8em}{\zihao{4}\BIT@label@authorsign} \BITunderline[6em]{} \hspace{2em} {\zihao{4}\BIT@label@Supervisorsign} \BITunderline[6em]{} - \vskip 15pt - \hspace{8em}{\zihao{4}\BIT@label@originalDate} \BITunderline[6em]{} \hspace{2em} {\zihao{4}\BIT@label@originalDate} \BITunderline[6em]{} - \clearpage - \if@twoside - \thispagestyle{empty} - \cleardoublepage - \fi - -} - - -% 页眉页脚 -\pagestyle{fancy} -\fancyhf{} -\fancyhead[C]{\songti \zihao{5} \BIT@label@headschoolname} % 奇数页左页眉 -\fancyfoot[C]{\songti \zihao{5} {\thepage}} % 页脚 - - -\fancypagestyle{plain}{% 设置开章页页眉页脚风格(只有页码作为页脚) - \fancyhf{}% - \fancyfoot[C]{\songti \zihao{5} \BIT@label@headschoolname} - \fancyfoot[C]{\songti \zihao{5} ~---~{\thepage}~---~} % 首页页脚格式 -} - - - % 中文摘要 - \newenvironment{abstract} - { - \cleardoublepage - \chapter{\BIT@label@abstract} - } - {} -% 下一页从偶数页开始 - \newcommand\beginatevenpage{ - \clearpage - \if@twoside - \thispagestyle{empty} - \cleardoublepage - \fi - } - % 中文关键词 - \newcommand\keywords[1]{% - \vspace{2ex}\noindent{\bf \BIT@label@keywords} #1} - - % 英文摘要 - \newenvironment{englishabstract} - { - \clearpage - \chapter{\BIT@label@englishabstract} - } - {} - - % 英文摘要 - \newcommand\englishkeywords[1]{% - \vspace{2ex}\noindent{\bf \BIT@label@englishkeywords} #1} - - -% 目录 -\renewcommand\tableofcontents{% - \if@twocolumn - \@restonecoltrue\onecolumn - \else - \@restonecolfalse - \fi - \chapter*{\contentsname}% 目录里显示“目录”,否则\chapter* - \@mkboth{\MakeUppercase\contentsname}{\MakeUppercase\contentsname}% - \pdfbookmark[0]{目录}{bittoc} - \@starttoc{toc}% - \if@restonecol\twocolumn\fi -} - - -% 参考文献环境 -\renewenvironment{thebibliography}[1] - {\zihao{5} - \chapter*{\bibname} - \@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}% - \addcontentsline{toc}{chapter}{参考文献} - \list{\@biblabel{\@arabic\c@enumiv}}% - {\settowidth\labelwidth{\@biblabel{#1}}% - \leftmargin\labelwidth - \advance\leftmargin\labelsep - \setlength{\parsep}{1mm} - \setlength{\labelsep}{0.5em} - \setlength{\itemsep}{0.05pc} - \setlength{\listparindent}{0in} - \setlength{\itemindent}{0in} - \setlength{\rightmargin}{0in} - \@openbib@code - \usecounter{enumiv}% - \let\p@enumiv\@empty - \renewcommand\theenumiv{\@arabic\c@enumiv}}% - \sloppy - \clubpenalty4000 - \@clubpenalty \clubpenalty - \widowpenalty4000% - \sfcode`\.\@m} - {\def\@noitemerr - {\@latex@warning{Empty `thebibliography' environment}}% - \endlist} - - -\newenvironment{publications}[1] - {\chapter{\BIT@label@publications}% - \@mkboth{\MakeUppercase\BIT@label@publications} - {\MakeUppercase\BIT@label@publications}% - \list{\@biblabel{\@arabic\c@enumiv}}% - {\settowidth\labelwidth{\@biblabel{#1}}% - \leftmargin\labelwidth - \advance\leftmargin\labelsep - \setlength{\parsep}{1mm} - \setlength{\labelsep}{0.5em} - \setlength{\itemsep}{0.05pc} - \setlength{\listparindent}{0in} - \setlength{\itemindent}{0in} - \setlength{\rightmargin}{0in} - \@openbib@code - \usecounter{enumiv}% - \let\p@enumiv\@empty - \renewcommand\theenumiv{\@arabic\c@enumiv}}% - \sloppy - \clubpenalty4000 - \@clubpenalty \clubpenalty - \widowpenalty4000% - \sfcode`\.\@m} - {\def\@noitemerr - {\@latex@warning{Empty `publications' environment}}% - \endlist} - - -\newenvironment{projects}[1] - {\chapter{\BIT@label@projects}% - \@mkboth{\MakeUppercase\BIT@label@projects} - {\MakeUppercase\BIT@label@projects}% - \list{\@biblabel{\@arabic\c@enumiv}}% - {\settowidth\labelwidth{\@biblabel{#1}}% - \leftmargin\labelwidth - \advance\leftmargin\labelsep - \@openbib@code - \usecounter{enumiv}% - \let\p@enumiv\@empty - \renewcommand\theenumiv{\@arabic\c@enumiv}}% - \sloppy - \clubpenalty4000 - \@clubpenalty \clubpenalty - \widowpenalty4000% - \sfcode`\.\@m} - {\def\@noitemerr - {\@latex@warning{Empty `projects' environment}}% - \endlist} - - \newenvironment{resume} - {\chapter{\BIT@label@resume}} - {} - -\newenvironment{resumesection}[1] - {{\noindent\normalfont\bfseries #1} - \list{}{\labelwidth\z@ - \leftmargin 2\ccwd} - \item\relax} - {\endlist} - -\newenvironment{resumeli}[1] - {{\noindent\normalfont\bfseries #1} - \list{}{\labelwidth\z@ - \leftmargin 4\ccwd - \itemindent -2\ccwd - \listparindent\itemindent} - \item\relax} - {\endlist} - -\newenvironment{conclusion} - {\chapter*{结论} - \@mkboth{结论}{结论}% - \addcontentsline{toc}{chapter}{结论}} - {} - -\renewenvironment{thanks} - {\chapter{\BIT@label@thanks} - \fangsong - } - {} - -\newenvironment{symbolnote} - {\chapter{\BIT@label@symbolnote} - \fangsong} - {} - - %% ===========================术语===================== - \newcommand{\bit@denotation@name}{主要符号对照表} - \newenvironment{denotation}[1][2.5cm]{ - \chapter{\bit@denotation@name} % no tocline - \noindent\begin{list}{}% - {\vskip-30bp\zihao{-4} - \renewcommand\makelabel[1]{##1\hfil} - \setlength{\labelwidth}{#1} % 标签盒子宽度 - \setlength{\labelsep}{0.5cm} % 标签与列表文本距离 - \setlength{\itemindent}{0cm} % 标签缩进量 - \setlength{\leftmargin}{\labelwidth+\labelsep} % 左边界 - \setlength{\rightmargin}{0cm} - \setlength{\parsep}{0cm} % 段落间距 - \setlength{\itemsep}{0cm} % 标签间距 - \setlength{\listparindent}{0cm} % 段落缩进量 - \setlength{\topsep}{0pt} % 标签与上文的间距 - }}{\end{list}} -% ====增加化学、国际单位宏包 - \RequirePackage[version=4]{mhchem} - \RequirePackage{siunitx} -\setcounter{secnumdepth}{4} % 章节编号深度 (part 对应 -1) -\setcounter{tocdepth}{2} % 目录深度 (part 对应 -1) -%% ========================================================= -% \end{macrocode} -% \begin{macrocode} -%</graduate> -% \end{macrocode} -% % \iffalse +% %<*dtx-style> \ProvidesPackage{dtx-style} \RequirePackage{hypdoc} @@ -6786,7 +3778,7 @@ footskip=0.7cm% 页脚 1.8cm % {UT}{本科生毕业论文模板(undergraduate-thesis)} {UTE}{本科生全英文专业毕业论文模板(undergraduate-thesis-en)} {GT}{研究生学位论文模板(graduate-thesis)} - {LR}{简易使用报告模板(lab-report)} + {LR}{简易实验报告模板(lab-report)} {PT}{本科生毕业设计外文翻译模板(paper-translation)} {PS}{北理工主题的 Beamer 模板(presentation-slide)} {UP}{本科生毕业设计开题报告(undergraduate-proposal)} @@ -6924,7 +3916,7 @@ footskip=0.7cm% 页脚 1.8cm % breakautoindent=true, columns=flexible, keepspaces=true, - gobble=4, + gobble=0, framesep=3pt, rulesep=1pt, framerule=1pt, @@ -6973,8 +3965,9 @@ footskip=0.7cm% 页脚 1.8cm % \DeclareDocumentCommand{\env}{m}{\texttt{#1}} \newcommand{\myentry}[1]{% \marginpar{\raggedleft\color{purple}\bfseries\strut #1}} -\newcommand{\note}[2][Note]{{% - \color{magenta}{\bfseries #1}\emph{#2}}} +\newenvironment{note}[1][Note] + {{\color{magenta} \bfseries #1} \itshape} + {} \DeclareDocumentCommand{\githubuser}{m}{\href{https://github.com/#1}{@#1}} @@ -6999,17 +3992,17 @@ footskip=0.7cm% 页脚 1.8cm % \makeatletter \def\matex@ssize{\smaller\scshape} \DeclareRobustCommand{\BIThesis}{ - \mbox{ - \kern-0.5em{B}\kern-0.05em - {I}\kern-0.05em - {T}\kern-0.1em - \raisebox{-0.38ex}{\matex@ssize {H}}\kern-0.1em - {\matex@ssize {E}}\kern-0.05em - \raisebox{-0.38ex}{\matex@ssize {S}}\kern-0.05em - {\matex@ssize {I}}\kern-0.05em - \raisebox{-0.35ex}{\matex@ssize {S}}\kern-0.5em - \kern 1ex - } + \texorpdfstring{\mbox{ + \kern-0.5em{B}\kern-0.05em + {I}\kern-0.05em + {T}\kern-0.1em + \raisebox{-0.38ex}{\matex@ssize {H}}\kern-0.1em + {\matex@ssize {E}}\kern-0.05em + \raisebox{-0.38ex}{\matex@ssize {S}}\kern-0.05em + {\matex@ssize {I}}\kern-0.05em + \raisebox{-0.35ex}{\matex@ssize {S}}\kern-0.5em + \kern 1ex + }}{BIThesis} } %% from \pkg{ctxdoc} diff --git a/macros/unicodetex/latex/bithesis/bithesis.ins b/macros/unicodetex/latex/bithesis/bithesis.ins index 34dbeb8510..b477fe0fb5 100644 --- a/macros/unicodetex/latex/bithesis/bithesis.ins +++ b/macros/unicodetex/latex/bithesis/bithesis.ins @@ -46,9 +46,6 @@ \generate { \usedir{tex/latex/bithesis} - \file{bitart.cls} {\from{\jobname.dtx}{oldcls,article}} - \file{bitbook.cls} {\from{\jobname.dtx}{oldcls,book}} - \file{bitgrad.cls} {\from{\jobname.dtx}{oldcls,graduate}} \file{bithesis.cls} {\from{\jobname.dtx}{cls,thesis}} \file{bitbeamer.cls} {\from{\jobname.dtx}{cls,beamer}} \file{bitreport.cls} {\from{\jobname.dtx}{cls,report}} @@ -66,9 +63,6 @@ \Msg{* bithesis.cls *} \Msg{* bitreport.cls *} \Msg{* bitbeamer.cls *} -\Msg{* bitart.cls (deprecated) *} -\Msg{* bitbook.cls (deprecated) *} -\Msg{* bitgrad.cls (deprecated) *} \Msg{* *} \Msg{* To produce the documentation run the file bithesis.dtx *} \Msg{* through XeLaTeX. *} diff --git a/macros/unicodetex/latex/bithesis/bithesis.pdf b/macros/unicodetex/latex/bithesis/bithesis.pdf Binary files differindex a283fc36c7..7803e14a81 100644 --- a/macros/unicodetex/latex/bithesis/bithesis.pdf +++ b/macros/unicodetex/latex/bithesis/bithesis.pdf diff --git a/macros/unicodetex/latex/polyglossia/README.md b/macros/unicodetex/latex/polyglossia/README.md index bcbe27087f..f5f86367da 100644 --- a/macros/unicodetex/latex/polyglossia/README.md +++ b/macros/unicodetex/latex/polyglossia/README.md @@ -1,4 +1,4 @@ -# THE POLYGLOSSIA PACKAGE v1.64 +# THE POLYGLOSSIA PACKAGE v1.65 ## Multilingual typesetting with XeLaTeX and LuaLaTeX This package provides an alternative to Babel for users of XeLaTeX and LuaLaTeX. diff --git a/macros/unicodetex/latex/polyglossia/polyglossia.dtx b/macros/unicodetex/latex/polyglossia/polyglossia.dtx index a98963e5cf..06fa02dd7a 100644 --- a/macros/unicodetex/latex/polyglossia/polyglossia.dtx +++ b/macros/unicodetex/latex/polyglossia/polyglossia.dtx @@ -8,7 +8,7 @@ \iffalse %</internal> %<*README> -# THE POLYGLOSSIA PACKAGE v1.64 +# THE POLYGLOSSIA PACKAGE v1.65 ## Multilingual typesetting with XeLaTeX and LuaLaTeX This package provides an alternative to Babel for users of XeLaTeX and LuaLaTeX. @@ -1723,7 +1723,7 @@ to track the issues and follow progress. % \end{itemize} % \paragraph*{Commands:} % \begin{itemize} -% \item \Cmd\Greeknumber and \Cmd\greeknumber \ (see section \ref{abjad}). +% \item \Cmd\Greeknumeral (= \Cmd\Greeknumber) and \Cmd\greeknumeral (= \Cmd\greeknumber) \ (see section \ref{abjad}). % \item The command \Cmd\atticnumeral (= \Cmd\atticnum) (activated with % the option ¦attic=true¦), displays numbers using the acrophonic % numbering system (defined in the Unicode range @@ -3010,6 +3010,22 @@ to track the issues and follow progress. % \section{Revision history} % % \bgroup\footnotesize +% \subsection*{1.65 (2023/10/01)} +% +% \subsubsection*{Bug fixes} +% \begin{itemize} +% \item Fix spurious space in Hebrew captions (\TXP{601}). +% \item Fix resetting of language specifications at end of inline switch +% (\TXI{603}). +% \end{itemize} +% +% \subsubsection*{Documentation improvements} +% \begin{itemize} +% \item Refer to \cmd{\greeknumeral} and \cmd{\Greeknumeral} rather than to +% the synonyms \cmd{\greeknumber} and \cmd{\Greeknumber} (\TXI{602}). +% \end{itemize} +% +% % \subsection*{1.64 (2023/07/21)} % % \subsubsection*{Bug fixes} @@ -4043,7 +4059,7 @@ to track the issues and follow progress. % \subsection{polyglossia.sty} % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{polyglossia}[2023/07/21 v1.64 +\ProvidesPackage{polyglossia}[2023/10/01 v1.65 Modern multilingual typesetting with XeLaTeX and LuaLaTeX] \RequirePackage{etoolbox} \RequirePackage{makecmds} @@ -4087,12 +4103,12 @@ to track the issues and follow progress. } %% This is for compatibility with Babel-aware package: -\def\languageshorthands#1{\relax} %this is for scrlttr2 class -\def\bbl@cs#1{\csname bbl@#1\endcsname}% +\def\languageshorthands#1{\relax} % this is for scrlttr2 class +\def\bbl@cs#1{\csname bbl@#1\endcsname} \AtEndPreamble{\let\bbl@set@language\xpg@set@language@aux} %for biblatex \AtEndPreamble{\let\bbl@main@language\xpg@main@language} %for biblatex \AtEndPreamble{ - \providecommand\texorpdfstring[2]{#1}% dummy command if hyperref is not loaded + \providecommand\texorpdfstring[2]{#1} % dummy command if hyperref is not loaded } \sys_if_engine_luatex:T{ @@ -4154,32 +4170,32 @@ to track the issues and follow progress. } %% custom message macros -\providecommand*{\xpg@error}[1]{% - \PackageError{polyglossia}{#1}{}% +\providecommand*{\xpg@error}[1]{ + \PackageError{polyglossia}{#1}{} } -\providecommand*{\xpg@warning}[1]{% - \PackageWarning{polyglossia}{#1}% +\providecommand*{\xpg@warning}[1]{ + \PackageWarning{polyglossia}{#1} } -\providecommand*{\xpg@info}[1]{% - \PackageInfo{polyglossia}% - {#1\@gobble}% +\providecommand*{\xpg@info}[1]{ + \PackageInfo{polyglossia} + {#1\@gobble} } %% the \@gobble is to prevent displaying the line nr %TODO change all instances of \xpg@nopatterns in gloss-*.ldf files -\providecommand*{\xpg@nopatterns@fallback}[2][nohyphenation]{% +\providecommand*{\xpg@nopatterns@fallback}[2][nohyphenation]{ \xpg@warning{No~ hyphenation~ patterns~ were~ loaded~ for~ `#2'\MessageBreak - I~ will~ use~ \string\language=\string\l@ #1\space instead}% + I~ will~ use~ \string\language=\string\l@ #1\space instead} \expandafter\adddialect\csname l@#2\expandafter\endcsname\csname l@#1\endcsname\relax} -\providecommand*{\xpg@nopatterns}[1]{% +\providecommand*{\xpg@nopatterns}[1]{ \xpg@warning{No~ hyphenation~ patterns~ were~ loaded~ for~ `#1'\MessageBreak - I~ will~ use~ \string\language=\string\l@nohyphenation\space instead}% + I~ will~ use~ \string\language=\string\l@nohyphenation\space instead} %%TODO? \expandafter\adddialect\csname l@#1\endcsname\l@nohyphenation\relax } -\def\xpg@ill@value#1#2{% +\def\xpg@ill@value#1#2{ \xpg@warning{Illegal~ value~ (#1)~ for~ #2}} % error out if lang is not loaded @@ -4221,7 +4237,7 @@ to track the issues and follow progress. \def\@@ensure@maindir#1{\ifcsundef{@ensure@maindir}{#1}{\@ensure@maindir{#1}}} %% Used by the language definitions files for right-to-left languages -\def\RequireBidi{% +\def\RequireBidi{ \str_case_e:nnF{\c_sys_engine_str}{ {luatex}{\ifx\@onlypreamble\@notprerr\else\RequirePackage{luabidi}\fi} {xetex}{\ifx\@onlypreamble\@notprerr\else\RequirePackage{bidi}\fi} @@ -4249,66 +4265,63 @@ to track the issues and follow progress. % (lua)bidi commands to change directionality for paragraphs % and inline text. % overwritten with correct package -\cs_new_nopar:Nn{\polyglossia@setpardirection:n}{% +\cs_new_nopar:Nn{\polyglossia@setpardirection:n}{ \__xpg_if_LR_str:nF {#1} { \xpg@error{right-to-left,~ but~ (lua)bidi~ package~ was~ not~ loaded!} } } -\cs_new_nopar:Nn{\polyglossia@settextdirection:n}{% +\cs_new_nopar:Nn{\polyglossia@settextdirection:n}{ \__xpg_if_LR_str:nF {#1} { \xpg@error{right-to-left,~ but~ (lua)bidi~ package~ was~ not~ loaded!} } } -\__xpg_at_package_hook:nnn{bidi}{package/bidi/after}{% - \ExplSyntaxOn% - \cs_gset_nopar:Nn{\polyglossia@setpardirection:n}{% - \__xpg_if_LR_str:nTF{#1}% - {% - \setLR% - }% - {% - \setRL% - }% - }% - \cs_gset_nopar:Nn{\polyglossia@settextdirection:n}{% - \__xpg_if_LR_str:nTF{#1}% - {% - \LRE% - }% - {% - \RLE% - }% - }% - \ExplSyntaxOff% +\__xpg_at_package_hook:nnn{bidi}{package/bidi/after}{ + \cs_gset_nopar:Nn{\polyglossia@setpardirection:n}{ + \__xpg_if_LR_str:nTF{#1} + { + \setLR + } + { + \setRL + } + } + \cs_gset_nopar:Nn{\polyglossia@settextdirection:n}{ + \__xpg_if_LR_str:nTF{#1} + { + \LRE + } + { + \RLE + } + } + \ExplSyntaxOff } -\__xpg_at_package_hook:nnn{luabidi}{package/luabidi/after}{% - \ExplSyntaxOn% - \cs_gset_nopar:Nn{\polyglossia@setpardirection:n}{% - \__xpg_if_LR_str:nTF{#1}% - {% - \setLR% - }% - {% - \setRL% - }% - }% - \cs_gset_nopar:Nn{\polyglossia@settextdirection:n}{% - \__xpg_if_LR_str:nTF{#1}% - {% - \LRE% - }% - {% - \RLE% - }% - }% - \ExplSyntaxOff% +\__xpg_at_package_hook:nnn{luabidi}{package/luabidi/after}{ + \cs_gset_nopar:Nn{\polyglossia@setpardirection:n}{ + \__xpg_if_LR_str:nTF{#1} + { + \setLR + } + { + \setRL + } + } + \cs_gset_nopar:Nn{\polyglossia@settextdirection:n}{ + \__xpg_if_LR_str:nTF{#1} + { + \LRE + } + { + \RLE + } + } } % emulate \RTLmain \cs_new_nopar:Nn \__xpg_setRTLmain: {} -\str_case_e:nnF{\c_sys_engine_str}{% +\str_case_e:nnF{\c_sys_engine_str}{ {luatex}{\cs_gset:Nn \__xpg_setRTLmain: {\setRTLmain}} {xetex}{\cs_gset:Nn \__xpg_setRTLmain: {\@RTLmaintrue\setnonlatin}} } @@ -4321,7 +4334,7 @@ to track the issues and follow progress. } %% compatibility with babel -\let\addto\gappto% gappto is defined in etoolbox +\let\addto\gappto % gappto is defined in etoolbox %% NEW EXPERIMENTAL SETUP INTERFACE FOR GLOSS FILES %% options currently available: @@ -4340,21 +4353,21 @@ to track the issues and follow progress. %% TODO: localnumeral = <csname> %% or even better localdigits = {0123456789} for fully automatic setup \newif\if@xpg@language@really@defined@ -\newcommand*\PolyglossiaSetup[2]{% - \polyglossia@keys_define_lang:n{#1}% - \keys_set:nn { polyglossia / #1 } { #2 }% +\newcommand*\PolyglossiaSetup[2]{ + \polyglossia@keys_define_lang:n{#1} + \keys_set:nn { polyglossia / #1 } { #2 } \prop_log:N{\polyglossia@langsetup} \polyglossia_setup_hyphen:n {#1} %define booleans etoolbox style and set defaults %% TODO ? \providetoggle{#1@setup@done}% % we initialize these so that we can use \gappto below - \csgdef{init@extras@#1}{}% - \csgdef{init@noextras@#1}{}% we don't use this yet: remove? + \csgdef{init@extras@#1}{} + \csgdef{init@noextras@#1}{} % we don't use this yet: remove? % here we do the fontsetup: \polyglossia@lang@autosetupfont:n{#1} - %% TODO? \toggletrue{#1@setup@done}% + %% TODO? \toggletrue{#1@setup@done} % reinit \do - \def\do##1{\setotherlanguage{##1}}% + \def\do##1{\setotherlanguage{##1}} % register base alias \xpg_language_alias { #1 } { #1 } } @@ -4374,15 +4387,15 @@ to track the issues and follow progress. \boolfalse{havehyphen} % for each hyphen in the set until we find one that works \clist_map_inline:Nn \l_tmpa_clist { - \ifbool{havehyphen}{}{% + \ifbool{havehyphen}{}{ % check if language hyphenname is defined - \__xpg_check_if_exist_l@:NF{#1}{% + \__xpg_check_if_exist_l@:NF{#1}{ % if not, first consider nohyphenation \str_if_eq:nnTF{##1}{nohyphenation} - {% + { \cs_gset_eq:cc{l@#1}{l@##1} \global\booltrue{havehyphen} - }{% + }{ % then test if hyphenation is defined \xpg@ifdefined{##1}{ % test if language hyphenation is nohyphenation @@ -4392,25 +4405,25 @@ to track the issues and follow progress. % ...and load \xpg@set@hyphenation@patterns{##1} \global\booltrue{havehyphen} - }% - }{}% - }% - }% - }% - }% + } + }{} + } + } + } + } % if l@#1 does not yet exist, % we assign it to nohyphenation % we do this here in case and if the hyphennames key was omitted - \ifbool{havehyphen}{}{% - \xpg@ifdefined{#1}{}% + \ifbool{havehyphen}{}{ + \xpg@ifdefined{#1}{} { \xpg@nopatterns{#1} \expandafter\adddialect\csname l@#1\endcsname\l@nohyphenation\relax - }% - }% - \csdef{#1@language}{% - \polyglossia@setup@language@patterns{#1}% - }% + } + } + \csdef{#1@language}{ + \polyglossia@setup@language@patterns{#1} + } % setup hyphenmins \clist_set:Ne \l_tmpa_clist { \prop_item:Nn \polyglossia@langsetup {#1 / hyphenmins} } @@ -4425,10 +4438,10 @@ to track the issues and follow progress. } } -\newcommand*\polyglossia@setup@language@patterns[1]{% - \ifbool{xpg@hyphenation@disabled}{% - \xdef\xpg@lastlanguage{\the\csname l@#1\endcsname}% - }{% +\newcommand*\polyglossia@setup@language@patterns[1]{ + \ifbool{xpg@hyphenation@disabled}{ + \xdef\xpg@lastlanguage{\the\csname l@#1\endcsname} + }{ % first, test if \l@#1 exists % without that, \csname l@#1\endcsname will be defined as \relax \cs_if_exist:cTF {l@#1} @@ -4441,14 +4454,14 @@ to track the issues and follow progress. \xpg@set@hyphenation@patterns{#1} } } - {% + { % Since this function is sometimes called from the gloss files % directly, we need to check whether the requested hyphenname exists. - \xpg@ifdefined{#1}{}% - {% + \xpg@ifdefined{#1}{} + { \xpg@nopatterns{#1} \expandafter\adddialect\csname l@#1\endcsname\l@nohyphenation\relax% - }% + } \xpg@set@hyphenation@patterns{#1} } } @@ -4861,7 +4874,7 @@ to track the issues and follow progress. % \localnumeral{numeral} use local language \NewExpandableDocumentCommand{\Localnumeral}{som} { - \IfBooleanTF{#1}% + \IfBooleanTF{#1} {% starred: take counter \exp_args:Nc \polyglossia_i_localnumeral:nnnnn {c@#3} {\mainlanguagename} {\languagename} {\IfNoValueTF {#2}{lang=local}{#2}} {Localnumeral} @@ -4929,37 +4942,37 @@ to track the issues and follow progress. \prop_log:N{\polyglossia@langsetup} \prop_log:N{\__xpg_alias} } -\def\xpg@lastlanguage{0}% +\def\xpg@lastlanguage{0} -\providebool{xpg@hyphenation@disabled}% +\providebool{xpg@hyphenation@disabled} \boolfalse{xpg@hyphenation@disabled} -\def\xpg@disablehyphenation{% - \ifx\@onlypreamble\@notprerr% - \xpg@@disablehyphenation% - \else% +\def\xpg@disablehyphenation{ + \ifx\@onlypreamble\@notprerr + \xpg@@disablehyphenation + \else % if this is used in the preamble, we have to postpone % the execution until the main language has been set (#125). \cs_gset_nopar:Nn \polyglossia@AtBeginDocument@hyphenation: { - \xpg@@disablehyphenation% - }% - \fi% + \xpg@@disablehyphenation + } + \fi } -\def\xpg@@disablehyphenation{% - \ifbool{xpg@hyphenation@disabled}{}{% - \booltrue{xpg@hyphenation@disabled}% - \xdef\xpg@lastlanguage{\the\language}% +\def\xpg@@disablehyphenation{ + \ifbool{xpg@hyphenation@disabled}{}{ + \booltrue{xpg@hyphenation@disabled} + \xdef\xpg@lastlanguage{\the\language} % We do not call \xpg@set@hyphenation@patterns here to avoid a warning message. % "nohyphenation" is not listed in language.dat.lua. - \language=\l@nohyphenation% - }% + \language=\l@nohyphenation + } } -\def\xpg@enablehyphenation{% - \ifbool{xpg@hyphenation@disabled}{% - \boolfalse{xpg@hyphenation@disabled}% - \language=\csname xpg@lastlanguage\endcsname% +\def\xpg@enablehyphenation{ + \ifbool{xpg@hyphenation@disabled}{ + \boolfalse{xpg@hyphenation@disabled} + \language=\csname xpg@lastlanguage\endcsname }{}% } @@ -4973,7 +4986,7 @@ to track the issues and follow progress. \cs_new:Nn \polyglossia@lang@autosetupfont:n { \str_if_eq:eeTF{\prop_item:Nn{\polyglossia@langsetup}{#1/fontsetup}}{true} { - \str_if_eq:eeTF{\prop_item:Nn{\polyglossia@langsetup}{#1/lcscript}}{latin}% + \str_if_eq:eeTF{\prop_item:Nn{\polyglossia@langsetup}{#1/lcscript}}{latin} {\xpg@fontsetup@latin{#1}} {\xpg@fontsetup@nonlatin{#1}} } @@ -4994,12 +5007,12 @@ to track the issues and follow progress. } { \str_if_eq:nnTF{#2}{Turkish}{ - \fontspec_if_language:nTF {TRK}% + \fontspec_if_language:nTF {TRK} { \addfontfeature{Language=Turkish} } { - \fontspec_if_language:nTF {TUR}% + \fontspec_if_language:nTF {TUR} { \addfontfeature{Language=Turkish} }{} @@ -5053,49 +5066,49 @@ to track the issues and follow progress. } \cs_generate_variant:Nn \polyglossia@addfontfeature@script:nnn { non , nno, noo , nVn, nnV, nVV , nxn, nnx, nxx} -\def\xpg@fontsetup@latin#1{% +\def\xpg@fontsetup@latin#1{ \begingroup - \csgdef{#1@font@rm}{% + \csgdef{#1@font@rm}{ \cs_if_exist_use:cF{#1font}{ \rmfamilylatin \polyglossia@addfontfeature@language:xx{\prop_item:Nn{\polyglossia@langsetup}{#1/langtag}} {\prop_item:Nn{\polyglossia@langsetup}{#1/language}} } } - \csgdef{#1@font@sf}{% + \csgdef{#1@font@sf}{ \cs_if_exist_use:cF{#1fontsf}{ \sffamilylatin \polyglossia@addfontfeature@language:xx{\prop_item:Nn{\polyglossia@langsetup}{#1/langtag}} {\prop_item:Nn{\polyglossia@langsetup}{#1/language}} - }% - }% - \csgdef{#1@font@tt}{% + } + } + \csgdef{#1@font@tt}{ \cs_if_exist_use:cF{#1fonttt}{ \ttfamilylatin \polyglossia@addfontfeature@language:xx{\prop_item:Nn{\polyglossia@langsetup}{#1/langtag}} {\prop_item:Nn{\polyglossia@langsetup}{#1/language}} - }% - }% + } + } \endgroup } -\def\xpg@fontsetup@nonlatin#1{% +\def\xpg@fontsetup@nonlatin#1{ \begingroup - \csgdef{#1@font@rm}{% + \csgdef{#1@font@rm}{ \cs_if_exist_use:cF{#1font} { - \providetoggle{#1@use@script@font}% + \providetoggle{#1@use@script@font} \str_if_eq:nnTF{\prop_item:Nn{\polyglossia@langsetup}{#1/script}}{\prop_item:Nn{\polyglossia@langsetup}{#1/language}} - {\rmfamilylatin}% + {\rmfamilylatin} {\cs_if_exist_use:cTF{\prop_item:Nn{\polyglossia@langsetup}{#1/lcscript} font} { - \toggletrue{#1@use@script@font}% + \toggletrue{#1@use@script@font} } { \rmfamilylatin } } - \iftoggle{#1@use@script@font}{}{% + \iftoggle{#1@use@script@font}{}{ \polyglossia@addfontfeature@script:nxx{rm} {\prop_item:Nn{\polyglossia@langsetup}{#1/scripttag}} {\prop_item:Nn{\polyglossia@langsetup}{#1/script}} @@ -5103,23 +5116,23 @@ to track the issues and follow progress. \polyglossia@addfontfeature@language:xx{\prop_item:Nn{\polyglossia@langsetup}{#1/langtag}} {\prop_item:Nn{\polyglossia@langsetup}{#1/language}} }% - \def\familytype{rm}% + \def\familytype{rm} }% - \csgdef{#1@font@sf}{% - \cs_if_exist_use:cF{#1fontsf}% + \csgdef{#1@font@sf}{ + \cs_if_exist_use:cF{#1fontsf} { - \providetoggle{#1@use@script@fontsf}% + \providetoggle{#1@use@script@fontsf} \str_if_eq:nnTF{\prop_item:Nn{\polyglossia@langsetup}{#1/script}}{\prop_item:Nn{\polyglossia@langsetup}{#1/language}} - {\sffamilylatin}% + {\sffamilylatin} {\cs_if_exist_use:cTF{\prop_item:Nn{\polyglossia@langsetup}{#1/lcscript} fontsf} { - \toggletrue{#1@use@script@fontsf}% + \toggletrue{#1@use@script@fontsf} } { \sffamilylatin } } - \iftoggle{#1@use@script@fontsf}{}{% + \iftoggle{#1@use@script@fontsf}{}{ \polyglossia@addfontfeature@script:nxx{sf} {\prop_item:Nn{\polyglossia@langsetup}{#1/scripttag}} {\prop_item:Nn{\polyglossia@langsetup}{#1/script}} @@ -5127,32 +5140,32 @@ to track the issues and follow progress. \polyglossia@addfontfeature@language:xx{\prop_item:Nn{\polyglossia@langsetup}{#1/langtag}} {\prop_item:Nn{\polyglossia@langsetup}{#1/language}} }% - \def\familytype{sf}% + \def\familytype{sf} }% - \csgdef{#1@font@tt}{% - \cs_if_exist_use:cF{#1fonttt}% + \csgdef{#1@font@tt}{ + \cs_if_exist_use:cF{#1fonttt} { - \providetoggle{#1@use@script@fonttt}% + \providetoggle{#1@use@script@fonttt} \str_if_eq:nnTF{\prop_item:Nn{\polyglossia@langsetup}{#1/script}}{\prop_item:Nn{\polyglossia@langsetup}{#1/language}} - {\ttfamilylatin}% + {\ttfamilylatin} {\cs_if_exist_use:cTF{\prop_item:Nn{\polyglossia@langsetup}{#1/lcscript} fonttt} { - \toggletrue{#1@use@script@fonttt}% + \toggletrue{#1@use@script@fonttt} } { \ttfamilylatin } } - \iftoggle{#1@use@script@fonttt}{}{% + \iftoggle{#1@use@script@fonttt}{}{ \polyglossia@addfontfeature@script:nxx{tt} {\prop_item:Nn{\polyglossia@langsetup}{#1/scripttag}} {\prop_item:Nn{\polyglossia@langsetup}{#1/script}} - }% + } \polyglossia@addfontfeature@language:xx{\prop_item:Nn{\polyglossia@langsetup}{#1/langtag}} {\prop_item:Nn{\polyglossia@langsetup}{#1/language}} - }% - \def\familytype{tt}% - }% + } + \def\familytype{tt} + } \endgroup } @@ -5163,33 +5176,33 @@ to track the issues and follow progress. \cs_new_nopar:Nn {\polyglossia@local@marks:n} {} \cs_new_nopar:Nn {\polyglossia@enable@local@marks:} { - \xpg@info{Option:~ localmarks}% + \xpg@info{Option:~ localmarks} \cs_gset_nopar:Nn \polyglossia@local@marks:n {% - \def\xpg@tmp@lang{##1}% - \DeclareRobustCommand\markboth[2]{% + \def\xpg@tmp@lang{##1} + \DeclareRobustCommand\markboth[2]{ \begingroup \let\label\relax \let\index\relax \let\glossary\relax \unrestored@protected@xdef\@themark {% - {\lowercase{\foreignlanguage{\xpg@tmp@lang}}{\protect\@@ensure@maindir{####1}}}% - {\lowercase{\foreignlanguage{\xpg@tmp@lang}}{\protect\@@ensure@maindir{####2}}}% + {\lowercase{\foreignlanguage{\xpg@tmp@lang}}{\protect\@@ensure@maindir{####1}}} + {\lowercase{\foreignlanguage{\xpg@tmp@lang}}{\protect\@@ensure@maindir{####2}}} }% - \@temptokena \expandafter{\@themark}% - \mark{\the\@temptokena}% + \@temptokena \expandafter{\@themark} + \mark{\the\@temptokena} \endgroup - \if@nobreak\ifvmode\nobreak\fi\fi% + \if@nobreak\ifvmode\nobreak\fi\fi }% - \DeclareRobustCommand\markright[1]{% + \DeclareRobustCommand\markright[1]{ \begingroup \let\label\relax \let\index\relax \let\glossary\relax \expandafter\@markright\@themark - {\lowercase{\foreignlanguage{\xpg@tmp@lang}}{\protect\@@ensure@maindir{####1}}}% - \@temptokena \expandafter{\@themark}% - \mark{\the\@temptokena}% + {\lowercase{\foreignlanguage{\xpg@tmp@lang}}{\protect\@@ensure@maindir{####1}}} + \@temptokena \expandafter{\@themark} + \mark{\the\@temptokena} \endgroup - \if@nobreak\ifvmode\nobreak\fi\fi% - }% + \if@nobreak\ifvmode\nobreak\fi\fi + } % This part seems wrong (see #396 for explanation). Remove after a while. % \def\@markright####1####2####3{% % \@temptokena{\protect\@@ensure@maindir{####1}}% @@ -5203,7 +5216,7 @@ to track the issues and follow progress. % Easy way out – Arthur, 2012-08-01 -\ifcsdef{newXeTeXintercharclass}{% +\ifcsdef{newXeTeXintercharclass}{ % to reset the intercharclass of a character to "normal" \newXeTeXintercharclass\xpg@normalclass %TODO }{} @@ -5227,10 +5240,10 @@ to track the issues and follow progress. %we call this macro when a gloss file is not found for a given language -\def\xpg@nogloss#1{% +\def\xpg@nogloss#1{ \xpg@warning{Neither~ file~ gloss-#1.ldf~ nor file~ gloss-#1.lde~ exists!\MessageBreak - I~ will~ nevertheless~ try~ to~ use~ hyphenation~ patterns~ for~ #1.}% - \PolyglossiaSetup{#1}{hyphenmins={2,3},hyphennames={#1},fontsetup=true}% + I~ will~ nevertheless~ try~ to~ use~ hyphenation~ patterns~ for~ #1.} + \PolyglossiaSetup{#1}{hyphenmins={2,3},hyphennames={#1},fontsetup=true} % the above amounts to: %\ifcsundef{l@#1}% % {\expandafter\adddialect\csname l@#1\endcsname\l@nohyphenation\relax}% @@ -5238,13 +5251,13 @@ to track the issues and follow progress. %\csdef{#1@language}{\language=\csname l@#1\endcsname}% } -\newcommand{\xpg@input}[1]{% +\newcommand{\xpg@input}[1]{ % Store catcode of @ before making at letter \chardef\xpg@saved@at@catcode\catcode`\@ \makeatletter - \input{#1}% + \input{#1} % restore former @ catcode - \catcode`\@=\xpg@saved@at@catcode% + \catcode`\@=\xpg@saved@at@catcode } %% Load a lde file @@ -5336,7 +5349,7 @@ to track the issues and follow progress. {#1} } } - \polyglossia@register@language:nn{}{#1}% + \polyglossia@register@language:nn{}{#1} \seq_gput_right:Nn \__xpg_langs_loaded {#1} } @@ -5350,14 +5363,14 @@ to track the issues and follow progress. \newenvironment {\prop_item:Nn{\polyglossia@langsetup}{#1/envname}} [1] [] { \begin{otherlanguage}[##1]{#1} - }% + } { \end{otherlanguage} - }% + } \exp_args:Nc \newcommand {text#1} [2][] - {% - \__xpg_textlanguage:een{##1}{#1}{##2}% - }% + { + \__xpg_textlanguage:een{##1}{#1}{##2} + } } } \cs_generate_variant:Nn \xpg_define_language_commands:n {e} @@ -5489,7 +5502,7 @@ to track the issues and follow progress. { \end{otherlanguage} } - }% + } \tl_clear_new:N \__xpg_alias_option_tl \prop_clear_new:N \__xpg_language_alias_prop \keys_set_known:nnN{polyglossia/alias} {#2} \__xpg_alias_option_tl @@ -5542,22 +5555,22 @@ to track the issues and follow progress. \exp_args:Nnx \seq_gput_right:Nn \__xpg_langs_loaded {#2} } \polyglossia@set@default@language:ee {\xpg_alias_add_to_option_i:nn{#2}{#1}} - {\xpg_alias_base_lang:n{#2}}% + {\xpg_alias_base_lang:n{#2}} } \cs_new:Nn \polyglossia@set@default@language:nn { - \gdef\xpg@main@language{#2}% + \gdef\xpg@main@language{#2} \tl_if_blank:nTF {#1} { \cs_gset_nopar:Npn \mainlanguagevariant {} } - {% + { % Register the language options - \polyglossia@set@lang@options:nnn {#2} {#1} {@xpg@main@langvariant}% - }% - \csgdef{#2@gvar}{\mainlanguagevariant}% + \polyglossia@set@lang@options:nnn {#2} {#1} {@xpg@main@langvariant} + } + \csgdef{#2@gvar}{\mainlanguagevariant} %% The following settings are for the default language and script % this tells bidi.sty or luabidi.sty that the document is RTL \__xpg_if_LR_str:eF{\prop_item:Nn{\polyglossia@langsetup}{#2/direction}} @@ -5568,8 +5581,8 @@ to track the issues and follow progress. \selectbackgroundlanguage{#2} \selectlanguage[#1]{#2}% } - \xpg@info{Default~ language~ is~ #2}% - \polyglossia@set@language@name[#1]{#2}% + \xpg@info{Default~ language~ is~ #2} + \polyglossia@set@language@name[#1]{#2} \cs_gset_nopar:Npn \mainlanguagename {#2} % Store babelname of main language (for external packages such as biblatex) @@ -5691,112 +5704,112 @@ to track the issues and follow progress. \cs_new_nopar:cpn {bcp47.main.casing} {} \cs_new_nopar:Npn \mainlanguagevariant {}% % Store main language variant for external packages -\define@key{xpg@main@langvariant}{variant}{% - \cs_gset_nopar:Npn \mainlanguagevariant {#1}% +\define@key{xpg@main@langvariant}{variant}{ + \cs_gset_nopar:Npn \mainlanguagevariant {#1} } \cs_new_nopar:Npn \babelname {} -\def\languagevariant{}% +\def\languagevariant{} % Store current language variant for external packages -\define@key{xpg@set@langvariant}{variant}{% - \def\languagevariant{#1}% +\define@key{xpg@set@langvariant}{variant}{ + \def\languagevariant{#1} } \newcommand*\polyglossia@set@language@name[2][]{ - \def\languagename{#2}% - \tl_if_blank:nTF {#1}{% + \def\languagename{#2} + \tl_if_blank:nTF {#1}{ \ifcsundef{#2@gvar}{\def\languagevariant{}}{\def\languagevariant{\csuse{#2@gvar}}} - }{% + }{ % Register the language options - \polyglossia@set@lang@options:nnn {#2} {#1} {@xpg@set@langvariant}% - \cs_set_eq:cc{#2@gvar}{languagevariant}% + \polyglossia@set@lang@options:nnn {#2} {#1} {@xpg@set@langvariant} + \cs_set_eq:cc{#2@gvar}{languagevariant} }% } -\newcommand*{\resetdefaultlanguage}[2][]{% +\newcommand*{\resetdefaultlanguage}[2][]{ \polyglossia@reset@default@language:nn {\xpg_alias_add_to_option_i:nn{#2}{#1}} - {\xpg_alias_base_lang:n{#2}}% + {\xpg_alias_base_lang:n{#2}} } \cs_new:Nn \__xpg_store_bcp_info:nn { % Store BCP-47 ID and subtags of current language - \tl_if_blank:nTF {#1}{% + \tl_if_blank:nTF {#1}{ % tag (e.g., en-US) - \ifcsundef{#2@g.bcp47.tag}{% - \csedef{bcp47.tag}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47 } }% - }{% - \csedef{bcp47.tag}{\csuse{#2@g.bcp47.tag}}% - }% + \ifcsundef{#2@g.bcp47.tag}{ + \csedef{bcp47.tag}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47 } } + }{ + \csedef{bcp47.tag}{\csuse{#2@g.bcp47.tag}} + } % language (e.g., en) - \ifcsundef{#2@g.bcp47.language}{% - \csedef{bcp47.language}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47-language } }% - }{% - \csedef{bcp47.language}{\csuse{#2@g.bcp47.language}}% - }% + \ifcsundef{#2@g.bcp47.language}{ + \csedef{bcp47.language}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47-language } } + }{ + \csedef{bcp47.language}{\csuse{#2@g.bcp47.language}} + } % region (e.g., US) \ifcsundef{#2@g.bcp47.region}{% - \csedef{bcp47.region}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47-region } }% - }{% + \csedef{bcp47.region}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47-region } } + }{ \csedef{bcp47.region}{\csuse{#2@g.bcp47.region}}% - }% + } % script (e.g., Latn) - \ifcsundef{#2@g.bcp47.script}{% - \csedef{bcp47.script}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47-script } }% - }{% - \csedef{bcp47.script}{\csuse{#2@g.bcp47.script}}% - }% + \ifcsundef{#2@g.bcp47.script}{ + \csedef{bcp47.script}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47-script } } + }{ + \csedef{bcp47.script}{\csuse{#2@g.bcp47.script}} + } % variant (e.g., 1996) - \ifcsundef{#2@g.bcp47.variant}{% - \csedef{bcp47.variant}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47-variant } }% - }{% - \csedef{bcp47.variant}{\csuse{#2@g.bcp47.variant}}% - }% + \ifcsundef{#2@g.bcp47.variant}{ + \csedef{bcp47.variant}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47-variant } } + }{ + \csedef{bcp47.variant}{\csuse{#2@g.bcp47.variant}} + } % extension.t (tranformation) \ifcsundef{#2@g.bcp47.extension.t}{% - \csedef{bcp47.extension.t}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47-extension-t } }% - }{% - \csedef{bcp47.extension.t}{\csuse{#2@g.bcp47.extension.t}}% - }% + \csedef{bcp47.extension.t}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47-extension-t } } + }{ + \csedef{bcp47.extension.t}{\csuse{#2@g.bcp47.extension.t}} + } % extension.u (additional locale information) \ifcsundef{#2@g.bcp47.extension.u}{% - \csedef{bcp47.extension.u}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47-extension-u } }% - }{% - \csedef{bcp47.extension.u}{\csuse{#2@g.bcp47.extension.u}}% - }% + \csedef{bcp47.extension.u}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47-extension-u } } + }{ + \csedef{bcp47.extension.u}{\csuse{#2@g.bcp47.extension.u}} + } % extension.x (private use area) - \ifcsundef{#2@g.bcp47.extension.x}{% - \csedef{bcp47.extension.x}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47-extension-x } }% - }{% - \csedef{bcp47.extension.x}{\csuse{#2@g.bcp47.extension.x}}% - }% + \ifcsundef{#2@g.bcp47.extension.x}{ + \csedef{bcp47.extension.x}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47-extension-x } } + }{ + \csedef{bcp47.extension.x}{\csuse{#2@g.bcp47.extension.x}} + } % casing - \ifcsundef{#2@g.bcp47.casing}{% + \ifcsundef{#2@g.bcp47.casing}{ % For casing, we fall back to language if bcp47-casing is not explicitly set \cs_set_nopar:cpx {tmpcasing} { \prop_item:Ne \polyglossia@langsetup { #2 / bcp47-casing } } \str_if_empty:NTF \tmpcasing { \cs_gset_eq:cc {bcp47.casing} {bcp47.language} } { \csedef{bcp47.casing}{ \tmpcasing } } - }{% - \csedef{bcp47.casing}{\csuse{#2@g.bcp47.casing}}% - }% - }{% - \csedef{bcp47.tag}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47 } }% - \csedef{bcp47.language}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47-language } }% - \csedef{bcp47.region}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47-region } }% - \csedef{bcp47.script}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47-script } }% - \csedef{bcp47.variant}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47-variant } }% - \csedef{bcp47.extension.t}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47-extension-t } }% - \csedef{bcp47.extension.u}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47-extension-u } }% - \csedef{bcp47.extension.x}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47-extension-x } }% + }{ + \csedef{bcp47.casing}{\csuse{#2@g.bcp47.casing}} + } + }{ + \csedef{bcp47.tag}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47 } } + \csedef{bcp47.language}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47-language } } + \csedef{bcp47.region}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47-region } } + \csedef{bcp47.script}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47-script } } + \csedef{bcp47.variant}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47-variant } } + \csedef{bcp47.extension.t}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47-extension-t } } + \csedef{bcp47.extension.u}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47-extension-u } } + \csedef{bcp47.extension.x}{ \prop_item:Nn{ \polyglossia@langsetup}{ #2 / bcp47-extension-x } } % For casing, we fall back to language if bcp47-casing is not explicitly set \cs_set_nopar:cpx {tmpcasing} { \prop_item:Ne \polyglossia@langsetup { #2 / bcp47-casing } } \str_if_empty:NTF \tmpcasing { \cs_gset_eq:cc {bcp47.casing} {bcp47.language} } { \csedef{bcp47.casing}{ \tmpcasing } } - }% + } } \cs_new:Nn \polyglossia@reset@default@language:nn @@ -5818,14 +5831,14 @@ to track the issues and follow progress. \selectbackgroundlanguage{#2}% % Store babelname of current language (for external packages such as biblatex) \tl_if_blank:nTF {#1}{% - \ifcsundef{#2@gbabelname}{% - \edef\babelname{\prop_item:Nn{\polyglossia@langsetup}{#2/babelname}}% - }{% - \edef\babelname{\csuse{#2@gbabelname}}% - }% - }{% - \edef\babelname{\prop_item:Nn{\polyglossia@langsetup}{#2/babelname}}% - }% + \ifcsundef{#2@gbabelname}{ + \edef\babelname{\prop_item:Nn{\polyglossia@langsetup}{#2/babelname}} + }{ + \edef\babelname{\csuse{#2@gbabelname}} + } + }{ + \edef\babelname{\prop_item:Nn{\polyglossia@langsetup}{#2/babelname}} + } % Store BCP-47 id of current language \__xpg_store_bcp_info:nn {#1}{#2} } @@ -5838,30 +5851,30 @@ to track the issues and follow progress. } % This saves the normalfont for the latin script since we may change normalfont in other scripts -\let\normalfontlatin=\normalfont% +\let\normalfontlatin=\normalfont % Provide default fonts (as set with \setmainfont, \setsansfont and \setmonofont) % for Latin scripts and as a fallback for non-Latin scripts. -\DeclareRobustCommand\xpg@defaultfont@rm{% - \tl_if_empty:NF{\g__fontspec_nfss_enc_tl}{\fontencoding{\g__fontspec_nfss_enc_tl}}% - \fontfamily\rmdefault% - \ifdefined\UseHook\UseHook{rmfamily}\fi% - \selectfont% -} -\DeclareRobustCommand\xpg@defaultfont@sf{% - \tl_if_empty:NF{\g__fontspec_nfss_enc_tl}{\fontencoding{\g__fontspec_nfss_enc_tl}}% - \fontfamily\sfdefault% - \ifdefined\UseHook\UseHook{sffamily}\fi% - \selectfont% -} -\DeclareRobustCommand\xpg@defaultfont@tt{% - \tl_if_empty:NF{\g__fontspec_nfss_enc_tl}{\fontencoding{\g__fontspec_nfss_enc_tl}}% - \fontfamily\ttdefault% - \ifdefined\UseHook\UseHook{ttfamily}\fi% - \selectfont% -} - -\def\xpg@patch@fontfamilies{% +\DeclareRobustCommand\xpg@defaultfont@rm{ + \tl_if_empty:NF{\g__fontspec_nfss_enc_tl}{\fontencoding{\g__fontspec_nfss_enc_tl}} + \fontfamily\rmdefault + \ifdefined\UseHook\UseHook{rmfamily}\fi + \selectfont +} +\DeclareRobustCommand\xpg@defaultfont@sf{ + \tl_if_empty:NF{\g__fontspec_nfss_enc_tl}{\fontencoding{\g__fontspec_nfss_enc_tl}} + \fontfamily\sfdefault + \ifdefined\UseHook\UseHook{sffamily}\fi + \selectfont +} +\DeclareRobustCommand\xpg@defaultfont@tt{ + \tl_if_empty:NF{\g__fontspec_nfss_enc_tl}{\fontencoding{\g__fontspec_nfss_enc_tl}} + \fontfamily\ttdefault + \ifdefined\UseHook\UseHook{ttfamily}\fi + \selectfont +} + +\def\xpg@patch@fontfamilies{ % This robustifies the redefinitions of \<xx>family (suggestion by Enrico Gregorio) % e.g. to prevent expansion of the \familytype redefinition in auxiliary files \csgappto{rmfamily~}{\def\familytype{rm}} @@ -5872,79 +5885,79 @@ to track the issues and follow progress. % These switches activate the default fonts % Note that a simple \let\rmfamilylatin=\rmfamily % does not work reliably (see #24) -\cs_gset_eq:cc{rmfamilylatin}{xpg@defaultfont@rm}% -\cs_gset_eq:cc{sffamilylatin}{xpg@defaultfont@sf}% -\cs_gset_eq:cc{ttfamilylatin}{xpg@defaultfont@tt}% +\cs_gset_eq:cc{rmfamilylatin}{xpg@defaultfont@rm} +\cs_gset_eq:cc{sffamilylatin}{xpg@defaultfont@sf} +\cs_gset_eq:cc{ttfamilylatin}{xpg@defaultfont@tt} -\def\xpg@set@familydefault{% +\def\xpg@set@familydefault{ % We need the \edef route here in order % to detect both \renewcommand and \let % changes. - \edef\tempa{\familydefault}% - \edef\tempb{\sfdefault}% - \ifcsequal{tempa}{tempb}% + \edef\tempa{\familydefault} + \edef\tempb{\sfdefault} + \ifcsequal{tempa}{tempb} {\def\familytype{sf}} - {\edef\tempb{\ttdefault}% - \ifcsequal{tempa}{tempb}% + {\edef\tempb{\ttdefault} + \ifcsequal{tempa}{tempb} {\def\familytype{tt}} {\def\familytype{rm}}} - \xpg@patch@fontfamilies% + \xpg@patch@fontfamilies % This (re-)saves the normalfont for the latin script since we may % change normalfont in other scripts - \let\normalfontlatin=\normalfont% + \let\normalfontlatin=\normalfont % And for all cases, we also reset \<xx>familylatin - \cs_gset_eq:cc{rmfamilylatin}{xpg@defaultfont@rm}% - \cs_gset_eq:cc{sffamilylatin}{xpg@defaultfont@sf}% - \cs_gset_eq:cc{ttfamilylatin}{xpg@defaultfont@tt}% + \cs_gset_eq:cc{rmfamilylatin}{xpg@defaultfont@rm} + \cs_gset_eq:cc{sffamilylatin}{xpg@defaultfont@sf} + \cs_gset_eq:cc{ttfamilylatin}{xpg@defaultfont@tt} } -\def\resetfontlatin{% - \DeclareRobustCommand\rmfamily{\xpg@defaultfont@rm}% - \DeclareRobustCommand\sffamily{\xpg@defaultfont@sf}% - \DeclareRobustCommand\ttfamily{\xpg@defaultfont@tt}% - \xpg@patch@fontfamilies% - \global\let\normalfont=\normalfontlatin% +\def\resetfontlatin{ + \DeclareRobustCommand\rmfamily{\xpg@defaultfont@rm} + \DeclareRobustCommand\sffamily{\xpg@defaultfont@sf} + \DeclareRobustCommand\ttfamily{\xpg@defaultfont@tt} + \xpg@patch@fontfamilies + \global\let\normalfont=\normalfontlatin } -\def\selectfontfamilylatin{% - \def\tmp@tt{tt}\def\tmp@sf{sf}% - \ifx\familytype\tmp@tt% - \ttfamilylatin% - \else\ifx\familytype\tmp@sf% - \sffamilylatin% +\def\selectfontfamilylatin{ + \def\tmp@tt{tt}\def\tmp@sf{sf} + \ifx\familytype\tmp@tt + \ttfamilylatin + \else\ifx\familytype\tmp@sf + \sffamilylatin \else\rmfamilylatin\fi\fi} -\def\xpg@select@fontfamily#1{% - \def\tmp@tt{tt}\def\tmp@sf{sf}% +\def\xpg@select@fontfamily#1{ + \def\tmp@tt{tt}\def\tmp@sf{sf} \ifx\familytype\tmp@tt - \__xpg_use_or_warn:c{#1@font@tt}% + \__xpg_use_or_warn:c{#1@font@tt} \else\ifx\familytype\tmp@sf - \__xpg_use_or_warn:c{#1@font@sf}% + \__xpg_use_or_warn:c{#1@font@sf} \else\__xpg_use_or_warn:c{#1@font@rm}\fi\fi} -\def\xpg@set@normalfont#1{% - \letcs{\rmfamily}{#1@font@rm}% - \letcs{\sffamily}{#1@font@sf}% - \letcs{\ttfamily}{#1@font@tt}% - \robustify\rmfamily% - \robustify\sffamily% - \robustify\ttfamily% - \gdef\normalfont{\protect\xpg@select@fontfamily{#1}% - \fontseries{\seriesdefault}\selectfont% +\def\xpg@set@normalfont#1{ + \letcs{\rmfamily}{#1@font@rm} + \letcs{\sffamily}{#1@font@sf} + \letcs{\ttfamily}{#1@font@tt} + \robustify\rmfamily + \robustify\sffamily + \robustify\ttfamily + \gdef\normalfont{\protect\xpg@select@fontfamily{#1} + \fontseries{\seriesdefault}\selectfont \fontshape{\shapedefault} - \ifdefined\UseHook\UseHook{normalfont}\fi% - \selectfont}% - \gdef\reset@font{\protect\normalfont}% + \ifdefined\UseHook\UseHook{normalfont}\fi + \selectfont} + \gdef\reset@font{\protect\normalfont} } \let\@@fterindentfalse\@afterindentfalse -\def\french@indent{% +\def\french@indent{ \let\@afterindentfalse\@afterindenttrue - \@afterindenttrue% + \@afterindenttrue } -\def\nofrench@indent{% +\def\nofrench@indent{ \let\@afterindentfalse\@@fterindentfalse - \@afterindentfalse% + \@afterindentfalse } \cs_new_nopar:Npn \selectbackgroundlanguage #1 @@ -5955,8 +5968,8 @@ to track the issues and follow progress. { \str_if_eq:eeTF{\prop_item:Nn{\polyglossia@langsetup}{#1/lcscript}}{latin} {} - {\xpg@set@normalfont{#1}}% - \csuse{#1@globalnumbers}% + {\xpg@set@normalfont{#1}} + \csuse{#1@globalnumbers} } \cs_generate_variant:Nn \polyglossia@select@background@language:n {e} % Declare secondary language #2 with language options #1 @@ -5964,7 +5977,7 @@ to track the issues and follow progress. { \seq_if_in:NxF \__xpg_langs_loaded {#2} { - \polyglossia_load_lang_definition:ee {#1} {#2}% + \polyglossia_load_lang_definition:ee {#1} {#2} % define environment and command if not alias \str_if_eq:eeT {\prop_item:Ne \__xpg_alias {#2/target}} {#2} { \use:c{\prop_item:Ne{\polyglossia@langsetup} @@ -5972,23 +5985,23 @@ to track the issues and follow progress. {#2} } \polyglossia@set@other@language:ee {\xpg_alias_add_to_option_i:nn{#2}{#1}} - {\xpg_alias_base_lang:n{#2}}% + {\xpg_alias_base_lang:n{#2}} \exp_args:Nnx \seq_gput_right:Nn \__xpg_langs_loaded {#2} } } \cs_new:Nn \polyglossia@set@other@language:nn { - \polyglossia@register@language:nn{#1}{#2}% + \polyglossia@register@language:nn{#1}{#2} % If a variant is set, store it. \gdef\otherlanguagevariant{} % Register the language options - \polyglossia@set@lang@options:nnn {#2} {#1} {@xpg@other@langvariant}% + \polyglossia@set@lang@options:nnn {#2} {#1} {@xpg@other@langvariant} - \csgdef{#2@gvar}{\otherlanguagevariant}% + \csgdef{#2@gvar}{\otherlanguagevariant} \prop_get:NxNT \polyglossia@langsetup {#2/babelname} \l_tmpa_tl { \xdef\otherlanguagebabelname{\l_tmpa_tl} } - \cs_gset_eq:cc{#2@gbabelname}{otherlanguagebabelname}% + \cs_gset_eq:cc{#2@gbabelname}{otherlanguagebabelname} } \cs_generate_variant:Nn \polyglossia@set@other@language:nn { ee, ef, en, eo, ex, @@ -6000,25 +6013,25 @@ to track the issues and follow progress. % Store main language variant for external packages -\define@key{xpg@other@langvariant}{variant}{% - \gdef\otherlanguagevariant{#1}% +\define@key{xpg@other@langvariant}{variant}{ + \gdef\otherlanguagevariant{#1} } -\newcommand\setotherlanguages[1]{% - \def\do##1{\setotherlanguage{##1}}% - \exp_args:Nx\docsvlist{#1}}% +\newcommand\setotherlanguages[1]{ + \def\do##1{\setotherlanguage{##1}} + \exp_args:Nx\docsvlist{#1}} \def\common@language{% FIXME is this really needed??? - \ifbool{xpg@hyphenation@disabled}{% - \xdef\xpg@lastlanguage{\z@}% - }{% + \ifbool{xpg@hyphenation@disabled}{ + \xdef\xpg@lastlanguage{\z@} + }{ \language=\z@ - }% + } \lefthyphenmin=\tw@ \righthyphenmin=\thr@@} -\def\xpg@initial@setup{% - \common@language% +\def\xpg@initial@setup{ + \common@language } @@ -6026,8 +6039,8 @@ to track the issues and follow progress. % for specific (esp. tag-based) aliases % where \text<alias> would cause clashes % (e.g., \textit) -\newcommand\textlang[3][]{% - \xpg@str@lowercase{\xpg@tmp@lang}{#2}% +\newcommand\textlang[3][]{ + \xpg@str@lowercase{\xpg@tmp@lang}{#2} \__xpg_textlanguage:een {#1} {\xpg@tmp@lang} {#3} }% @@ -6035,28 +6048,28 @@ to track the issues and follow progress. % for specific (esp. tag-based) aliases % where {<alias>} would cause clashes % (e.g., \fi) -\newenvironment{lang}[2][]{% - \begin{otherlanguage}[#1]{#2}% -}{% +\newenvironment{lang}[2][]{ + \begin{otherlanguage}[#1]{#2} +}{ \end{otherlanguage} -}% +} \providecommand{\foreignlanguage}{} % wrapper for foreignlanguage and otherlanguage* \newcommand*\polyglossia@setforeignlanguage[2][]{ \select@@language[#1]{#2} - \polyglossia@register@language:nn{#1}{#2}% + \polyglossia@register@language:nn{#1}{#2} % Store babelname of current language (for external packages such as biblatex) - \tl_if_blank:nTF {#1}{% - \ifcsundef{#2@gbabelname}{% - \edef\babelname{\prop_item:Nn{\polyglossia@langsetup}{#2/babelname}}% - }{% - \edef\babelname{\csuse{#2@gbabelname}}% - }% - }{% - \edef\babelname{\prop_item:Nn{\polyglossia@langsetup}{#2/babelname}}% - }% + \tl_if_blank:nTF {#1}{ + \ifcsundef{#2@gbabelname}{ + \edef\babelname{\prop_item:Nn{\polyglossia@langsetup}{#2/babelname}} + }{ + \edef\babelname{\csuse{#2@gbabelname}} + } + }{ + \edef\babelname{\prop_item:Nn{\polyglossia@langsetup}{#2/babelname}} + } % Store BCP-47 id of current language \__xpg_store_bcp_info:nn {#1}{#2} } @@ -6065,17 +6078,17 @@ to track the issues and follow progress. % options are lowercased (also when used in \MakeUppercase % contexts e.g. in headings) % Macro adapted from tudscr.sty -\newcommand*\xpg@str@lowercase[2]{% - \protected@edef#1{% - \lowercase{\def\noexpand#1{#2}}% - }#1% +\newcommand*\xpg@str@lowercase[2]{ + \protected@edef#1{ + \lowercase{\def\noexpand#1{#2}} + }#1 } % lowercase options before passing to setkeys \cs_new:Nn \polyglossia@set@keys:nn { - \xpg@str@lowercase{\xpg@tmp@opts}{#2}% - \exp_args:Nne \setkeys{#1}{\xpg@tmp@opts}% + \xpg@str@lowercase{\xpg@tmp@opts}{#2} + \exp_args:Nne \setkeys{#1}{\xpg@tmp@opts} } % joint code of \foreignlanguage, otherlanguage* @@ -6083,17 +6096,17 @@ to track the issues and follow progress. % #1 option % #2 language \newcommand{\xpg@otherlanguage}[2][] -{% +{ \polyglossia@error@iflangnotloaded:n{#2} - \polyglossia@set@keys:nn{#2}{#1}% + \polyglossia@set@keys:nn{#2}{#1} \polyglossia@setforeignlanguage[#1]{#2} % Hook for external packages such as biblatex - \polyglossia@language@switched% + \polyglossia@language@switched % buggy restoration heure - \csuse{inlineextras@#2}% + \csuse{inlineextras@#2} % This is a hook for external packages which want to access variants % via babelname (such as biblatex) - \cs_if_exist_use:c{inlineextras@bbl@\babelname}% + \cs_if_exist_use:c{inlineextras@bbl@\babelname} } \renewcommand{\foreignlanguage}[3][] @@ -6105,7 +6118,7 @@ to track the issues and follow progress. % used in captions \newcommand{\setforeignlanguage}[2][] { - \polyglossia@setforeignlanguage[#1]{#2}% + \polyglossia@setforeignlanguage[#1]{#2} } % internal wrapper for foreign language @@ -6120,8 +6133,8 @@ to track the issues and follow progress. \msg_show:nnn { polyglossia } { languagenotloaded } {#2} }{ \group_begin: - \xpg@otherlanguage[\xpg_alias_add_to_option_i:nn{#2}{#1}]{#3}% - \polyglossia@lang@settextdirection:nn{#3}{#4}% + \xpg@otherlanguage[\xpg_alias_add_to_option_i:nn{#2}{#1}]{#3} + \polyglossia@lang@settextdirection:nn{#3}{#4} \group_end: } } @@ -6147,7 +6160,7 @@ to track the issues and follow progress. { \msg_show:nnn { polyglossia } { languagenotloaded } {#2} }{ - \xpg@otherlanguage[\xpg_alias_add_to_option_i:nn{#2}{#1}]{#3}% + \xpg@otherlanguage[\xpg_alias_add_to_option_i:nn{#2}{#1}]{#3} \polyglossia@lang@settextdirection:nn{#3}% \bgroup } @@ -6183,17 +6196,22 @@ to track the issues and follow progress. \msg_show:nnn { polyglossia } { languagenotloaded } {#2} } { + % Store embedding language name + \global\let\xpg@save@languagename\languagename \group_begin: \bool_set_true:N \__xpg_inline_lang - \xpg@otherlanguage[#1]{#3}% - \csuse{date#3}% + \xpg@otherlanguage[#1]{#3} + \csuse{date#3} % This is a hook for external packages which want to access variants % via babelname (such as biblatex) - \cs_if_exist_use:c{date@bbl@\babelname}% - \polyglossia@lang@settextdirection:nn{#3}{#4}% + \cs_if_exist_use:c{date@bbl@\babelname} + \polyglossia@lang@settextdirection:nn{#3}{#4} \group_end: % Reset the language's/script's font families if the embedding script is latin - \str_if_eq:eeTF{\prop_item:Ne{\polyglossia@langsetup}{\languagename/lcscript}}{latin}{\resetfontlatin}{}% + \str_if_eq:eeT{\prop_item:Ne{\polyglossia@langsetup}{\xpg@save@languagename/lcscript}}{latin} + {\resetfontlatin} + % In case a \<lang>font is defined, re-activate that + \xpg@set@normalfont{\xpg@save@languagename} } } \cs_generate_variant:Nn \__xpg_textlanguage:nnnn {nnen} @@ -6202,9 +6220,9 @@ to track the issues and follow progress. \newcommand\pghyphenation[3][]{ \bgroup \polyglossia@error@iflangnotloaded:n{#2} - \setkeys{#2}{#1}% - \select@@language[#1]{#2}% - \hyphenation{#3}% + \setkeys{#2}{#1} + \select@@language[#1]{#2} + \hyphenation{#3} \egroup } @@ -6213,8 +6231,8 @@ to track the issues and follow progress. % (for instance biblatex): \newcommand*{\xpg@hook@setlanguage}{} -\def\xpg@pop@language@i#1#2{% - \xpg@set@language@aux[#1]{#2}% +\def\xpg@pop@language@i#1#2{ + \xpg@set@language@aux[#1]{#2} \xpg@hook@setlanguage \let\emp@langname\@undefined} @@ -6245,20 +6263,20 @@ to track the issues and follow progress. \group_insert_after:N \xpg@pop@language } % Register the language options - \polyglossia@set@lang@options:nnn {#3} {#2} {@xpg@set@langvariant}% + \polyglossia@set@lang@options:nnn {#3} {#2} {@xpg@set@langvariant} % The starred variant does not write to the aux \IfBooleanTF#1{% - \xpg@set@language@nonaux[#2]{#3}% + \xpg@set@language@nonaux[#2]{#3} + } + { + \xpg@set@language@aux[#2]{#3} } - {% - \xpg@set@language@aux[#2]{#3}% - }% \sys_if_engine_luatex:T { \directlua{polyglossia.select_language('\luatexluaescapestring{\string#3}', - \the\csname l@#3\endcsname)}% + \the\csname l@#3\endcsname)} } - \polyglossia@register@language:nn{#2}{#3}% + \polyglossia@register@language:nn{#2}{#3} } \cs_generate_variant:Nn \polyglossia@select@language:nnn { nee, nne @@ -6271,18 +6289,18 @@ to track the issues and follow progress. \tl_if_blank:nF {#2} { % If the optional argument sets a value for the key “variant”, copy it to xpg@langvariant - \clist_map_inline:nn { #2 } {% + \clist_map_inline:nn { #2 } { \xpg@parsevariantkeyvalue##1=#3:#1\relax }% - \polyglossia@set@keys:nn{#1}{#2}% + \polyglossia@set@keys:nn{#1}{#2} } } % Initialize default language options, so that % \iflanguageoption has the info it needs also % for default settings -\newcommand*\xpg@initialize@gloss@options[2]{% - \polyglossia@set@lang@options:nnn {#1} {#2} {@xpg@set@langvariant}% +\newcommand*\xpg@initialize@gloss@options[2]{ + \polyglossia@set@lang@options:nnn {#1} {#2} {@xpg@set@langvariant} } % Record synonymous keyvals such as variant=us and variant=american @@ -6298,11 +6316,11 @@ to track the issues and follow progress. % Patch xkeyval to record default values of keys \pretocmd{\XKV@define@default}{% - \csgdef{xpg@default@opt@\XKV@header #1}{#2}% + \csgdef{xpg@default@opt@\XKV@header #1}{#2} }{}{\xpg@warning{Patching xkeyval failed!}} % Helper to get and register option keyvals -\def\xpg@parsevariantkeyvalue#1=#2@#3:#4\relax{% +\def\xpg@parsevariantkeyvalue#1=#2@#3:#4\relax{ \def\@tmpa{#1} \def\@tmpb{variant} % variant values are stored in specific macros @@ -6311,8 +6329,8 @@ to track the issues and follow progress. \ifx\@tmpa\@tmpb\setkeys{#3}{#1=#2}\fi \tl_if_empty:nTF{#2} { - \ifcsdef{xpg@default@opt@KV@#4@#1}% - {\xpg@store@opt@keyval#1:\csuse{xpg@default@opt@KV@#4@#1}=:#4\relax}% + \ifcsdef{xpg@default@opt@KV@#4@#1} + {\xpg@store@opt@keyval#1:\csuse{xpg@default@opt@KV@#4@#1}=:#4\relax} {}% } { \xpg@store@opt@keyval#1:#2:#4\relax } @@ -6320,7 +6338,7 @@ to track the issues and follow progress. % Store option keys and values % This strips trailing '=' from values. -\def\xpg@store@opt@keyval#1:#2=:#3\relax{% +\def\xpg@store@opt@keyval#1:#2=:#3\relax{ \prop_if_exist:cF { xpg@current@options@#3 } { \prop_new:c {xpg@current@options@#3} } \prop_put:cnn { xpg@current@options@#3 } @@ -6357,36 +6375,36 @@ to track the issues and follow progress. } % Test if option value is set -\newcommand*\iflanguageoption[5]{% - \polyglossia@check@option@value:NNNTF{#1}{#2}{#3}{#4}{#5}% +\newcommand*\iflanguageoption[5]{ + \polyglossia@check@option@value:NNNTF{#1}{#2}{#3}{#4}{#5} } % Append any variant to csv list of variants -\define@key{xpg@langvariant}{variant}{% +\define@key{xpg@langvariant}{variant}{ \clist_if_in:NeF \xpg@vloaded {#1}{ \clist_gput_right:Ne \xpg@vloaded {#1} } } % Test if language is loaded -\newcommand*\iflanguageloaded[3]{% - \AddToHook{begindocument/end}{% - \clist_if_in:NeTF \xpg@loaded{#1}{#2}{#3}% - }% +\newcommand*\iflanguageloaded[3]{ + \AddToHook{begindocument/end}{ + \clist_if_in:NeTF \xpg@loaded{#1}{#2}{#3} + } } % Same for babellanguage is loaded -\newcommand*\ifbabellanguageloaded[3]{% - \AddToHook{begindocument/end}{% - \clist_if_in:NeTF \xpg@bloaded{#1}{#2}{#3}% - }% +\newcommand*\ifbabellanguageloaded[3]{ + \AddToHook{begindocument/end}{ + \clist_if_in:NeTF \xpg@bloaded{#1}{#2}{#3} + } } % Same for languageid \DeclareDocumentCommand \iflanguageidloaded {mmmm} { - \AddToHook{begindocument/end}{% + \AddToHook{begindocument/end}{ \str_case:nnTF {#1} { {bcp-47} { \clist_if_in:NeTF \xpg@bcp@loaded{#2}{#3}{#4} } @@ -6423,73 +6441,73 @@ to track the issues and follow progress. } % Test if a char (by char code) is available in the current font -\newcommand*\xpg@if@char@available[3]{% - \polyglossia@check@if@char@available:NTF{#1}{#2}{#3}% +\newcommand*\xpg@if@char@available[3]{ + \polyglossia@check@if@char@available:NTF{#1}{#2}{#3} } -\newcommand*\charifavailable[2]{% - \xpg@if@char@available{#1}{\char"#1}{#2}% +\newcommand*\charifavailable[2]{ + \xpg@if@char@available{#1}{\char"#1}{#2} } -\newcommand*{\xpg@set@language@nonaux}[2][]{% - \@select@language[#1]{#2}% +\newcommand*{\xpg@set@language@nonaux}[2][]{ + \@select@language[#1]{#2} } -\newcommand*{\xpg@set@language@aux}[2][]{% +\newcommand*{\xpg@set@language@aux}[2][]{ % Store babelname of current language (for external packages such as biblatex) - \tl_if_blank:nTF {#1}{% - \ifcsundef{#2@gbabelname}{% - \edef\babelname{\prop_item:Nn{\polyglossia@langsetup}{#2/babelname}}% - }{% - \edef\babelname{\csuse{#2@gbabelname}}% - }% - }{% - \edef\babelname{\prop_item:Nn{\polyglossia@langsetup}{#2/babelname}}% - }% + \tl_if_blank:nTF {#1}{ + \ifcsundef{#2@gbabelname}{ + \edef\babelname{\prop_item:Nn{\polyglossia@langsetup}{#2/babelname}} + }{ + \edef\babelname{\csuse{#2@gbabelname}} + } + }{ + \edef\babelname{\prop_item:Nn{\polyglossia@langsetup}{#2/babelname}} + } % Store BCP-47 id of current language - \__xpg_store_bcp_info:nn {#1}{#2}% - \@select@language[#1]{#2}% + \__xpg_store_bcp_info:nn {#1}{#2} + \@select@language[#1]{#2} % Write to the aux - \xpg@set@language@only@aux[#1]{#2}% + \xpg@set@language@only@aux[#1]{#2} } -\newcommand*{\xpg@set@language@only@aux}[2][]{% +\newcommand*{\xpg@set@language@only@aux}[2][]{ % Write to the aux (toc files) - \if@filesw% - \ifx#1\\\\% - \addtocontents{toc}{\protect\selectlanguage*{#2}}% + \if@filesw + \ifx#1\\\\ + \addtocontents{toc}{\protect\selectlanguage*{#2}} \else - \addtocontents{toc}{\protect\selectlanguage*[#1]{#2}}% + \addtocontents{toc}{\protect\selectlanguage*[#1]{#2}} \fi \fi } -\AtBeginDocument{% +\AtBeginDocument{ % Tell polyglossia that we are in an aux file - \if@filesw% - \addtocontents{toc}{\protect\xpginauxfiletrue}% - \addtocontents{lof}{\protect\xpginauxfiletrue}% - \addtocontents{lot}{\protect\xpginauxfiletrue}% - \fi% + \if@filesw + \addtocontents{toc}{\protect\xpginauxfiletrue} + \addtocontents{lof}{\protect\xpginauxfiletrue} + \addtocontents{lot}{\protect\xpginauxfiletrue} + \fi } -\AtEndDocument{% +\AtEndDocument{ % Tell polyglossia that we are no longer in an aux file - \if@filesw% - \addtocontents{toc}{\protect\xpginauxfilefalse}% - \addtocontents{lof}{\protect\xpginauxfilefalse}% - \addtocontents{lot}{\protect\xpginauxfilefalse}% - \fi% + \if@filesw + \addtocontents{toc}{\protect\xpginauxfilefalse} + \addtocontents{lof}{\protect\xpginauxfilefalse} + \addtocontents{lot}{\protect\xpginauxfilefalse} + \fi } % Since captions might float to other language regions, % we need to change the language here (#542) -\AddToHook{cmd/caption/before}{% - \ifhmode\unskip\fi% - \addtocontents{lof}{\protect\setforeignlanguage{\languagename}}% - \addtocontents{lot}{\protect\setforeignlanguage{\languagename}}% +\AddToHook{cmd/caption/before}{ + \ifhmode\unskip\fi + \addtocontents{lof}{\protect\setforeignlanguage{\languagename}} + \addtocontents{lot}{\protect\setforeignlanguage{\languagename}} } % The bidi package swaps the output stream within RTL tables @@ -6498,14 +6516,14 @@ to track the issues and follow progress. % We therefore patch bidi and insert a bool that tells us % whether we are in such a table. \newbool{xpg@inbiditable} -\AtBeginDocument{% - \@ifpackageloaded{bidi}{% - \patchcmd{\@tabular}% - {\if@RTLtab}% - {\if@RTLtab\booltrue{xpg@inbiditable}}% - {}% success - {\xpg@warning{Patching bidi table failed!}}% - }{}% +\AtBeginDocument{ + \@ifpackageloaded{bidi}{ + \patchcmd{\@tabular} + {\if@RTLtab} + {\if@RTLtab\booltrue{xpg@inbiditable}} + {} % success + {\xpg@warning{Patching bidi table failed!}} + }{} } % check if language is defined @@ -6528,7 +6546,7 @@ to track the issues and follow progress. } } -\def\polyglossia@luatex@load@lang#1{% +\def\polyglossia@luatex@load@lang#1{ % if \l@#1 is not properly defined, call lua function newloader(#1), % and assign the returned number to \l@#1 \__xpg_check_if_exist_l@:NF {#1} @@ -6540,34 +6558,34 @@ to track the issues and follow progress. % This check is also used by biblatex, so don't % rename silently. -\newcommand\xpg@ifdefined[3]{% +\newcommand\xpg@ifdefined[3]{ % With luatex, we first need to define \l@#1. \sys_if_engine_luatex:T { - \polyglossia@luatex@load@lang{#1}% + \polyglossia@luatex@load@lang{#1} } - \__xpg_check_if_exist_l@:NTF{#1}{#2}{#3}% -}% + \__xpg_check_if_exist_l@:NTF{#1}{#2}{#3} +} % Set \bbl@hyphendata@\the\language, which is (lua)babel's % hyphenation pattern hook % FIXME Clarifiy why/when this is needed. -\newcommand*\xpg@set@bbl@hyphendata[1]{% +\newcommand*\xpg@set@bbl@hyphendata[1]{ \sys_if_engine_luatex:T { - \ifcsdef{bbl@hyphendata@#1}{}{% - \global\@namedef{bbl@hyphendata@\the\language}{}% - }% + \ifcsdef{bbl@hyphendata@#1}{}{ + \global\@namedef{bbl@hyphendata@\the\language}{} + } } } % Set hyphenation patterns for a given language. This does the right % thing both for XeTeX and LuaTeX -\newcommand*\xpg@set@hyphenation@patterns[1]{% +\newcommand*\xpg@set@hyphenation@patterns[1]{ \str_case_e:nnF{\c_sys_engine_str}{ {luatex} { - \polyglossia@luatex@load@lang{#1}% + \polyglossia@luatex@load@lang{#1} \language=\csname l@#1\endcsname } {xetex} @@ -6577,7 +6595,7 @@ to track the issues and follow progress. } { \xpg@warning{You’re~running~a~TeX~engine~that~is~not~LuaTeX~or~XeTeX.\MessageBreak - That~is~almost~guaranteed~to~cause~problems.}% + That~is~almost~guaranteed~to~cause~problems.} } } @@ -6590,20 +6608,20 @@ to track the issues and follow progress. \select@@language[#1]{#2}% % Hook for external packages such as biblatex \polyglossia@language@switched% - \polyglossia@lang@setpardirection:n{#2}% + \polyglossia@lang@setpardirection:n{#2} \csuse{captions#2}% \csuse{date#2}% % These are hooks for external packages which want to access variants % via babelname (such as biblatex) - \cs_if_exist_use:c{captions@bbl@\babelname}% - \cs_if_exist_use:c{date@bbl@\babelname}% - \polyglossia@local@marks:n{#2}% + \cs_if_exist_use:c{captions@bbl@\babelname} + \cs_if_exist_use:c{date@bbl@\babelname} + \polyglossia@local@marks:n{#2} \csuse{init@extras@#2}% - \polyglossia@lang@indentfirst:n{#2}% + \polyglossia@lang@indentfirst:n{#2} \csuse{blockextras@#2}% % This is a hook for external packages which want to access variants % via babelname (such as biblatex) - \cs_if_exist_use:c{blockextras@bbl@\babelname}% + \cs_if_exist_use:c{blockextras@bbl@\babelname} } % hook for compatibility with biblatex @@ -6628,22 +6646,22 @@ to track the issues and follow progress. \newcommand{\select@@language}[2][]{% % disable the extras and number settings of the previous language \cs_if_exist:cT{languagename} - {% - \noextrascurrent{\languagename}% - \cs_if_exist_use:c{no\languagename @numbers}% + { + \noextrascurrent{\languagename} + \cs_if_exist_use:c{no\languagename @numbers} \sys_if_engine_xetex:T{ \__xpg_if_LR_str:eTF{\prop_item:Ne{\polyglossia@langsetup}{\languagename/direction}} { \__xpg_if_LR_str:eF{\prop_item:Nn{\polyglossia@langsetup}{#2/direction}} - {\setnonlatin}% LTR -> RTL - }% - {% + {\setnonlatin} % LTR -> RTL + } + { \__xpg_if_LR_str:eT{\prop_item:Nn{\polyglossia@langsetup}{#2/direction}} - {\setlatin}% RTL -> LTR + {\setlatin} % RTL -> LTR } } - }% - \polyglossia@set@language@name[#1]{#2}% + } + \polyglossia@set@language@name[#1]{#2} % Set the language's/script's font families \str_if_eq:eeT{\prop_item:Nn{\polyglossia@langsetup}{#2/lcscript}} {latin} { @@ -6652,12 +6670,12 @@ to track the issues and follow progress. \bool_if:NF \__xpg_inline_lang { % This for non-inline font switches % in case a \<lang>font is defined - \xpg@set@normalfont{#2}% + \xpg@set@normalfont{#2} } - \xpg@select@fontfamily{#2}% - \__xpg_use_or_warn:c{#2@language}% - \cs_if_exist_use:c{#2@numbers}% - \use@localhyphenmins[#1]{#2}% + \xpg@select@fontfamily{#2} + \__xpg_use_or_warn:c{#2@language} + \cs_if_exist_use:c{#2@numbers} + \use@localhyphenmins[#1]{#2} \polyglossia@lang@frenchspacing:n{#2} } @@ -6698,7 +6716,7 @@ to track the issues and follow progress. } \renewenvironment{otherlanguage}[2][] -{% +{ % Get real current (pre-switch) options (incl. defaults) \clist_clear_new:N \l_xpg_current_options \prop_map_inline:cn {xpg@current@options@\languagename} @@ -6706,25 +6724,25 @@ to track the issues and follow progress. \clist_put_right:Nn \l_xpg_current_options {##1=##2} } % Store current (pre-switch) options and language on stack - \polyglossia@stack@language:nx{\clist_use:Nn \l_xpg_current_options {,}}{\languagename}% - \selectlanguage[#1]{#2}% + \polyglossia@stack@language:nx{\clist_use:Nn \l_xpg_current_options {,}}{\languagename} + \selectlanguage[#1]{#2} } -{% +{ % restore previous language in aux file and remove closed one from stack - \polyglossia@unstack@language:n{xpg@set@language@only@aux}% + \polyglossia@unstack@language:n{xpg@set@language@only@aux} } -\newcommand{\setlocalhyphenmins}[3]{% - \xpg@ifdefined{#1}{% - \expandafter\ifx\csname l@#1\endcsname\l@nohyphenation% - \xpg@warning{\string\setlocalhyphenmin\space~ useless~ for~ unhyphenated~ language~ #1}% +\newcommand{\setlocalhyphenmins}[3]{ + \xpg@ifdefined{#1}{ + \expandafter\ifx\csname l@#1\endcsname\l@nohyphenation + \xpg@warning{\string\setlocalhyphenmin\space~ useless~ for~ unhyphenated~ language~ #1} \else - \providehyphenmins{#1}{#2#3}% + \providehyphenmins{#1}{#2#3} \fi - }{% - \xpg@warning{\string\setlocalhyphenmin\space~ useless~ for~ unknown~ language~ #1}% - }% -}% + }{ + \xpg@warning{\string\setlocalhyphenmin\space~ useless~ for~ unknown~ language~ #1} + } +} % \setlanghyphenmins[options]{lang}{l}{r} \newcommand*\setlanghyphenmins[4][]{% @@ -6733,54 +6751,54 @@ to track the issues and follow progress. \edef\xpg@tmp@lang{\xpg_alias_base_lang:n{#2}} \bgroup \polyglossia@error@iflangnotloaded:n{\xpg@tmp@lang} - \polyglossia@set@keys:nn{\xpg@tmp@lang}{\xpg@tmp@opts}% + \polyglossia@set@keys:nn{\xpg@tmp@lang}{\xpg@tmp@opts} % Store bcp47.tag@hypenmins \tl_if_blank:nTF {\xpg@tmp@opts}{% - \ifcsundef{\csname xpg@tmp@lang\endcsname @g.bcp47.tag}{% - \csedef{tmp@bcp47.tag}{\prop_item:Ne{\polyglossia@langsetup}{ \xpg@tmp@lang / bcp47 }}% - }{% - \csedef{tmp@bcp47.tag}{\csuse{#2@g.bcp47.tag}}% - }% - }{% - \csedef{tmp@bcp47.tag}{\prop_item:Ne{\polyglossia@langsetup}{ \xpg@tmp@lang / bcp47 }}% - }% - \csgdef{\csname tmp@bcp47.tag\endcsname @hyphenmins}{{#3}{#4}}% + \ifcsundef{\csname xpg@tmp@lang\endcsname @g.bcp47.tag}{ + \csedef{tmp@bcp47.tag}{\prop_item:Ne{\polyglossia@langsetup}{ \xpg@tmp@lang / bcp47 }} + }{ + \csedef{tmp@bcp47.tag}{\csuse{#2@g.bcp47.tag}} + } + }{ + \csedef{tmp@bcp47.tag}{\prop_item:Ne{\polyglossia@langsetup}{ \xpg@tmp@lang / bcp47 }} + } + \csgdef{\csname tmp@bcp47.tag\endcsname @hyphenmins}{{#3}{#4}} \egroup } % \use@localhypenmins[options]{lang} -\newcommand*\use@localhyphenmins[2][]{% +\newcommand*\use@localhyphenmins[2][]{ \bgroup \polyglossia@error@iflangnotloaded:n{#2} - \polyglossia@set@keys:nn{#2}{#1}% + \polyglossia@set@keys:nn{#2}{#1} % Use bcp47.tag@hypenmins - \tl_if_blank:nTF {#1}{% - \ifcsundef{#2@g.bcp47.tag}{% - \csxdef{tmp@bcp47.tag}{\prop_item:Nn{\polyglossia@langsetup}{ #2 / bcp47 }}% - }{% - \csxdef{tmp@bcp47.tag}{\csuse{#2@g.bcp47.tag}}% - }% - }{% - \csxdef{tmp@bcp47.tag}{\prop_item:Nn{\polyglossia@langsetup}{ #2 / bcp47 }}% - }% + \tl_if_blank:nTF {#1}{ + \ifcsundef{#2@g.bcp47.tag}{ + \csxdef{tmp@bcp47.tag}{\prop_item:Nn{\polyglossia@langsetup}{ #2 / bcp47 }} + }{ + \csxdef{tmp@bcp47.tag}{\csuse{#2@g.bcp47.tag}} + } + }{ + \csxdef{tmp@bcp47.tag}{\prop_item:Nn{\polyglossia@langsetup}{ #2 / bcp47 }} + } \egroup - \ifcsundef{\csname tmp@bcp47.tag\endcsname @hyphenmins}{% - \ifcsundef{#2hyphenmins}{}% - {% - \expandafter\expandafter\expandafter\set@hyphenmins\csname #2hyphenmins\endcsname\relax% + \ifcsundef{\csname tmp@bcp47.tag\endcsname @hyphenmins}{ + \ifcsundef{#2hyphenmins}{} + { + \expandafter\expandafter\expandafter\set@hyphenmins\csname #2hyphenmins\endcsname\relax } - }{% - \edef\tmpa{\csuse{\csname tmp@bcp47.tag\endcsname @hyphenmins}}% - \expandafter\expandafter\expandafter\set@hyphenmins\tmpa\relax% + }{ + \edef\tmpa{\csuse{\csname tmp@bcp47.tag\endcsname @hyphenmins}} + \expandafter\expandafter\expandafter\set@hyphenmins\tmpa\relax } \sys_if_engine_luatex:T{ % Set \totalhyphenmin if specified \prop_get:NxNTF \polyglossia@langsetup {#2/totalhyphenmin} \l_tmpa_tl { \xpg@info{totalhyphenmin: '\l_tmpa_tl'} - \expandafter\hyphenationmin \l_tmpa_tl% - }% - {}% + \expandafter\hyphenationmin \l_tmpa_tl + } + {} } } @@ -6792,26 +6810,26 @@ to track the issues and follow progress. % As opposed to the one inherited from switch.def/babel, our environment % supports language options and aliases. \renewenvironment{hyphenrules}[2][] -{% +{ % Check for real language name and options \edef\xpg@tmp@opts{\xpg_alias_add_to_option_i:nn{#2}{#1}} \edef\xpg@tmp@lang{\xpg_alias_base_lang:n{#2}} % Register the language options - \polyglossia@set@lang@options:nnn {\xpg@tmp@lang} {\xpg@tmp@opts} {@xpg@set@langvariant}% + \polyglossia@set@lang@options:nnn {\xpg@tmp@lang} {\xpg@tmp@opts} {@xpg@set@langvariant} % Now switch patterns - \__xpg_use_or_warn:c{\use:c{xpg@tmp@lang}@language}% + \__xpg_use_or_warn:c{\use:c{xpg@tmp@lang}@language} % And activate hyphenmins - \use@localhyphenmins[\xpg@tmp@opts]{\xpg@tmp@lang}% + \use@localhyphenmins[\xpg@tmp@opts]{\xpg@tmp@lang} } {} -\AtEndPreamble{% - \@ifpackageloaded{bidi}{% - \providecommand*{\aemph}[1]{$\overline{\hboxR{#1}}$}% - }{}% - \@ifpackageloaded{luabidi}{% - \providecommand*{\aemph}[1]{$\overline{\hbox{\RL{#1}}}$}% - }{}% +\AtEndPreamble{ + \@ifpackageloaded{bidi}{ + \providecommand*{\aemph}[1]{$\overline{\hboxR{#1}}$} + }{} + \@ifpackageloaded{luabidi}{ + \providecommand*{\aemph}[1]{$\overline{\hbox{\RL{#1}}}$} + }{} } @@ -6867,11 +6885,11 @@ to track the issues and follow progress. } \bool_if:nF \l_polyglossia_verbose_bool { - \gdef\@latex@info#1{\relax}% no latex info - \gdef\@font@info#1{\relax}% no latex font info - \gdef\@font@warning#1{\relax}% no latex font warnings - \gdef\zf@PackageInfo#1{\relax}% no fontspec info - \gdef\xpg@info#1{\relax}% no polyglossia info + \gdef\@latex@info#1{\relax} % no latex info + \gdef\@font@info#1{\relax} % no latex font info + \gdef\@font@warning#1{\relax} % no latex font warnings + \gdef\zf@PackageInfo#1{\relax} % no fontspec info + \gdef\xpg@info#1{\relax} % no polyglossia info } \bool_if:nT \l_polyglossia_localmarks_bool { @@ -6912,8 +6930,8 @@ to track the issues and follow progress. % % FIXME these should also be loaded \AtEndOfPackage !!! -\def\xpg@option#1#2{% - \ifcsundef{xpg@main@language}{\setdefaultlanguage}{\setotherlanguage}% +\def\xpg@option#1#2{ + \ifcsundef{xpg@main@language}{\setdefaultlanguage}{\setotherlanguage} [#1]{#2}} \ExplSyntaxOff @@ -7189,9 +7207,9 @@ to track the issues and follow progress. \def\hebrewdate#1#2#3{% \HebrewFromGregorian{#1}{#2}{#3}% {\hebrewday}{\hebrewmonth}{\hebrewyear}% - \if@RTL% + \if@RTL \@FormatForHebrew{\hebrewday}{\hebrewmonth}{\hebrewyear}% - \else% + \else \@FormatForEnglish{\hebrewday}{\hebrewmonth}{\hebrewyear}% \fi} \def\hebrewtoday{\hebrewdate{\day}{\month}{\year}} @@ -7223,16 +7241,16 @@ to track the issues and follow progress. \fi \fi}} \def\HebrewMonthName#1#2{% - \ifnum #1 = 7 % + \ifnum #1 = 7 \@CheckLeapHebrewYear{#2}% \if@HebrewLeap אדר\ ב'% \else אדר% - \fi% - \else% - \ifcase#1% + \fi + \else + \ifcase#1 % nothing for 0 \or תשרי% - \or\if@xpg@hebrew@marcheshvan מרחשון\else חשון\fi% + \or\if@xpg@hebrew@marcheshvan מרחשון\else חשון\fi \or כסלו% \or טבת% \or שבט% @@ -7244,35 +7262,35 @@ to track the issues and follow progress. \or תמוז% \or אב% \or אלול% - \fi% + \fi \fi} \def\@FormatForHebrew#1#2#3{% \Hebrewnumeral{#1}~ב\HebrewMonthName{#2}{#3}~% \HebrewYearName{#3}} \def\HebrewMonthNameInEnglish#1#2{% - \ifnum #1 = 7% + \ifnum #1 = 7 \@CheckLeapHebrewYear{#2}% - \if@HebrewLeap Adar II\else Adar\fi% - \else% - \ifcase #1% + \if@HebrewLeap Adar II\else Adar\fi + \else + \ifcase #1 % nothing for 0 - \or \if@hebrewcal@academytrans Tishri \else Tishrei \fi% - \or% + \or \if@hebrewcal@academytrans Tishri \else Tishrei \fi + \or \if@hebrewcal@academytrans% - \if@xpg@hebrew@marcheshvan Marẖeshvan\else Heshvan\fi% - \else% - \if@xpg@hebrew@marcheshvan Marcheshvan\else Heshvan\fi% - \fi% - \or Kislev% - \or \if@hebrewcal@academytrans Tevet \else Tebeth \fi% - \or \if@hebrewcal@academytrans Shvat \else Shebat \fi% + \if@xpg@hebrew@marcheshvan Marẖeshvan\else Heshvan\fi + \else + \if@xpg@hebrew@marcheshvan Marcheshvan\else Heshvan\fi + \fi + \or Kislev + \or \if@hebrewcal@academytrans Tevet \else Tebeth \fi + \or \if@hebrewcal@academytrans Shvat \else Shebat \fi \or Adar I% \or Adar II% \or Nisan% - \or \if@hebrewcal@academytrans Iyyar \else Iyar \fi% + \or \if@hebrewcal@academytrans Iyyar \else Iyar \fi \or Sivan% \or Tammuz% - \or \if@hebrewcal@academytrans Av \else Ab \fi% + \or \if@hebrewcal@academytrans Av \else Ab \fi \or Elul% \fi \fi} @@ -7282,235 +7300,235 @@ to track the issues and follow progress. \newif\if@HebrewLeap \def\@CheckLeapHebrewYear#1{% {% - \countdef\tmpa = 0% % \tmpa==\count0 - \countdef\tmpb = 1% % \tmpb==\count1 - \tmpa = #1% - \multiply \tmpa by 7% - \advance \tmpa by 1% + \countdef\tmpa = 0 % \tmpa==\count0 + \countdef\tmpb = 1 % \tmpb==\count1 + \tmpa = #1 + \multiply \tmpa by 7 + \advance \tmpa by 1 \@Remainder{\tmpa}{19}{\tmpb}% - \ifnum \tmpb < 7% % \tmpb = (7*year+1)%19 - \global\@HebrewLeaptrue% - \else% - \global\@HebrewLeapfalse% + \ifnum \tmpb < 7 % \tmpb = (7*year+1)%19 + \global\@HebrewLeaptrue + \else + \global\@HebrewLeapfalse \fi}} \def\@HebrewElapsedMonths#1#2{% {% - \countdef\tmpa = 0% % \tmpa==\count0 - \countdef\tmpb = 1% % \tmpb==\count1 - \countdef\tmpc = 2% % \tmpc==\count2 - \tmpa = #1% % - \advance \tmpa by -1% % - #2 = \tmpa% % #2 = \tmpa = year-1 - \divide #2 by 19% % Number of complete Meton cycles - \multiply #2 by 235% % #2 = 235*((year-1)/19) + \countdef\tmpa = 0 % \tmpa==\count0 + \countdef\tmpb = 1 % \tmpb==\count1 + \countdef\tmpc = 2 % \tmpc==\count2 + \tmpa = #1 + \advance \tmpa by -1 + #2 = \tmpa % #2 = \tmpa = year-1 + \divide #2 by 19 % Number of complete Meton cycles + \multiply #2 by 235 % #2 = 235*((year-1)/19) \@Remainder{\tmpa}{19}{\tmpb}% \tmpa = years%19-years this cycle - \tmpc = \tmpb% % - \multiply \tmpb by 12% % - \advance #2 by \tmpb% % add regular months this cycle - \multiply \tmpc by 7% % - \advance \tmpc by 1% % - \divide \tmpc by 19% % \tmpc = (1+7*((year-1)%19))/19 - - \advance #2 by \tmpc% % add leap months + \tmpc = \tmpb + \multiply \tmpb by 12 + \advance #2 by \tmpb % add regular months this cycle + \multiply \tmpc by 7 + \advance \tmpc by 1 + \divide \tmpc by 19 % \tmpc = (1+7*((year-1)%19))/19 - + \advance #2 by \tmpc % add leap months \global\@common = #2}% #2 = \@common} \def\@HebrewElapsedDays#1#2{% {% - \countdef\tmpa = 0% % \tmpa==\count0 - \countdef\tmpb = 1% % \tmpb==\count1 - \countdef\tmpc = 2% % \tmpc==\count2 + \countdef\tmpa = 0 % \tmpa==\count0 + \countdef\tmpb = 1 % \tmpb==\count1 + \countdef\tmpc = 2 % \tmpc==\count2 \@HebrewElapsedMonths{#1}{#2}% - \tmpa = #2% % - \multiply \tmpa by 13753% % - \advance \tmpa by 5604% % \tmpa=MonthsElapsed*13758 + 5604 + \tmpa = #2 + \multiply \tmpa by 13753 + \advance \tmpa by 5604 % \tmpa=MonthsElapsed*13758 + 5604 \@Remainder{\tmpa}{25920}{\tmpc}% \tmpc == ConjunctionParts - \divide \tmpa by 25920% - \multiply #2 by 29% - \advance #2 by 1% - \advance #2 by \tmpa% % #2 = 1 + MonthsElapsed*29 + + \divide \tmpa by 25920 + \multiply #2 by 29 + \advance #2 by 1 + \advance #2 by \tmpa % #2 = 1 + MonthsElapsed*29 + \@Remainder{#2}{7}{\tmpa}% % \tmpa == DayOfWeek - \ifnum \tmpc < 19440% - \ifnum \tmpc < 9924% - \else% % New moon at 9 h. 204 p. or later - \ifnum \tmpa = 2% % on Tuesday ... + \ifnum \tmpc < 19440 + \ifnum \tmpc < 9924 + \else % New moon at 9 h. 204 p. or later + \ifnum \tmpa = 2 % on Tuesday ... \@CheckLeapHebrewYear{#1}% of a common year - \if@HebrewLeap% - \else% - \advance #2 by 1% - \fi% - \fi% - \fi% - \ifnum \tmpc < 16789% - \else% % New moon at 15 h. 589 p. or later - \ifnum \tmpa = 1% % on Monday ... - \advance #1 by -1% + \if@HebrewLeap + \else + \advance #2 by 1 + \fi + \fi + \fi + \ifnum \tmpc < 16789 + \else % New moon at 15 h. 589 p. or later + \ifnum \tmpa = 1 % on Monday ... + \advance #1 by -1 \@CheckLeapHebrewYear{#1}% at the end of leap year - \if@HebrewLeap% - \advance #2 by 1% - \fi% - \fi% - \fi% - \else% - \advance #2 by 1% % new moon at or after midday - \fi% + \if@HebrewLeap + \advance #2 by 1 + \fi + \fi + \fi + \else + \advance #2 by 1 % new moon at or after midday + \fi \@Remainder{#2}{7}{\tmpa}% % \tmpa == DayOfWeek - \ifnum \tmpa = 0% % if Sunday ... - \advance #2 by 1% - \else% % - \ifnum \tmpa = 3% % Wednesday ... - \advance #2 by 1% - \else% - \ifnum \tmpa = 5% % or Friday - \advance #2 by 1% - \fi% - \fi% - \fi% + \ifnum \tmpa = 0 % if Sunday ... + \advance #2 by 1 + \else % + \ifnum \tmpa = 3 % Wednesday ... + \advance #2 by 1 + \else + \ifnum \tmpa = 5 % or Friday + \advance #2 by 1 + \fi + \fi + \fi \global\@common = #2}% #2 = \@common} \def\@DaysInHebrewYear#1#2{% {% - \countdef\tmpe = 12% % \tmpe==\count12 + \countdef\tmpe = 12 % \tmpe==\count12 \@HebrewElapsedDays{#1}{\tmpe}% - \advance #1 by 1% + \advance #1 by 1 \@HebrewElapsedDays{#1}{#2}% - \advance #2 by -\tmpe% + \advance #2 by -\tmpe \global\@common = #2}% #2 = \@common} \def\@HebrewDaysInPriorMonths#1#2#3{% {% - \countdef\tmpf= 14% % \tmpf==\count14 - #3 = \ifcase #1% % Days in prior month of regular year - 0 \or% % no month number 0 - 0 \or% % Tishri - 30 \or% % Heshvan - 59 \or% % Kislev - 89 \or% % Tevet - 118 \or% % Shvat - 148 \or% % Adar I - 148 \or% % Adar II - 177 \or% % Nisan - 207 \or% % Iyyar - 236 \or% % Sivan - 266 \or% % Tammuz - 295 \or% % Av - 325 \or% % Elul - 400% % Dummy - \fi% + \countdef\tmpf= 14 % \tmpf==\count14 + #3 = \ifcase #1 % Days in prior month of regular year + 0 \or % no month number 0 + 0 \or % Tishri + 30 \or % Heshvan + 59 \or % Kislev + 89 \or % Tevet + 118 \or % Shvat + 148 \or % Adar I + 148 \or % Adar II + 177 \or % Nisan + 207 \or % Iyyar + 236 \or % Sivan + 266 \or % Tammuz + 295 \or % Av + 325 \or % Elul + 400 % Dummy + \fi \@CheckLeapHebrewYear{#2}% - \if@HebrewLeap% % in leap year - \ifnum #1 > 6% % if month after Adar I - \advance #3 by 30% % add 30 days - \fi% - \fi% + \if@HebrewLeap % in leap year + \ifnum #1 > 6 % if month after Adar I + \advance #3 by 30 % add 30 days + \fi + \fi \@DaysInHebrewYear{#2}{\tmpf}% - \ifnum #1 > 3% - \ifnum \tmpf = 353% % - \advance #3 by -1% % - \fi% % Short Kislev - \ifnum \tmpf = 383% % - \advance #3 by -1% % - \fi% % - \fi% - \ifnum #1 > 2% - \ifnum \tmpf = 355% % - \advance #3 by 1% % - \fi% % Long Heshvan - \ifnum \tmpf = 385% % - \advance #3 by 1% % - \fi% % - \fi% + \ifnum #1 > 3 + \ifnum \tmpf = 353 + \advance #3 by -1 + \fi % Short Kislev + \ifnum \tmpf = 383 + \advance #3 by -1 + \fi + \fi + \ifnum #1 > 2 + \ifnum \tmpf = 355 + \advance #3 by 1 + \fi % Long Heshvan + \ifnum \tmpf = 385 + \advance #3 by 1 + \fi + \fi \global\@common = #3}% #3 = \@common} \def\@FixedFromHebrew#1#2#3#4{% {% - #4 = #1% + #4 = #1 \@HebrewDaysInPriorMonths{#2}{#3}{#1}% - \advance #4 by #1% % Add days in prior months this year + \advance #4 by #1 % Add days in prior months this year \@HebrewElapsedDays{#3}{#1}% - \advance #4 by #1% % Add days in prior years - \advance #4 by -1373429% % Subtract days before Gregorian + \advance #4 by #1 % Add days in prior years + \advance #4 by -1373429 % Subtract days before Gregorian \global\@common = #4}% % 01.01.0001 #4 = \@common} \def\@GregorianDaysInPriorMonths#1#2#3{% {% - #3 = \ifcase #1% - 0 \or% % no month number 0 - 0 \or% - 31 \or% - 59 \or% - 90 \or% - 120 \or% - 151 \or% - 181 \or% - 212 \or% - 243 \or% - 273 \or% - 304 \or% - 334% - \fi% + #3 = \ifcase #1 + 0 \or % no month number 0 + 0 \or + 31 \or + 59 \or + 90 \or + 120 \or + 151 \or + 181 \or + 212 \or + 243 \or + 273 \or + 304 \or + 334 + \fi \@CheckIfGregorianLeap{#2}% - \if@GregorianLeap% - \ifnum #1 > 2% % if month after February - \advance #3 by 1% % add leap day - \fi% - \fi% + \if@GregorianLeap + \ifnum #1 > 2 % if month after February + \advance #3 by 1 % add leap day + \fi + \fi \global\@common = #3}% #3 = \@common} \def\@GregorianDaysInPriorYears#1#2{% {% - \countdef\tmpc = 4% % \tmpc==\count4 - \countdef\tmpb = 2% % \tmpb==\count2 - \tmpb = #1% % - \advance \tmpb by -1% % - \tmpc = \tmpb% % \tmpc = \tmpb = year-1 - \multiply \tmpc by 365% % Days in prior years = - #2 = \tmpc% % = 365*(year-1) ... - \tmpc = \tmpb% % - \divide \tmpc by 4% % \tmpc = (year-1)/4 - \advance #2 by \tmpc% % ... plus Julian leap days ... - \tmpc = \tmpb% % - \divide \tmpc by 100% % \tmpc = (year-1)/100 - \advance #2 by -\tmpc% % ... minus century years ... - \tmpc = \tmpb% % - \divide \tmpc by 400% % \tmpc = (year-1)/400 - \advance #2 by \tmpc% % ... plus 4-century years. + \countdef\tmpc = 4 % \tmpc==\count4 + \countdef\tmpb = 2 % \tmpb==\count2 + \tmpb = #1 + \advance \tmpb by -1 + \tmpc = \tmpb % \tmpc = \tmpb = year-1 + \multiply \tmpc by 365 % Days in prior years = + #2 = \tmpc % = 365*(year-1) ... + \tmpc = \tmpb + \divide \tmpc by 4 % \tmpc = (year-1)/4 + \advance #2 by \tmpc % ... plus Julian leap days ... + \tmpc = \tmpb + \divide \tmpc by 100 % \tmpc = (year-1)/100 + \advance #2 by -\tmpc % ... minus century years ... + \tmpc = \tmpb + \divide \tmpc by 400 % \tmpc = (year-1)/400 + \advance #2 by \tmpc % ... plus 4-century years. \global\@common = #2}% #2 = \@common} \def\@AbsoluteFromGregorian#1#2#3#4{% {% - \countdef\tmpd = 0% % \tmpd==\count0 - #4 = #1% % days so far this month + \countdef\tmpd = 0 % \tmpd==\count0 + #4 = #1 % days so far this month \@GregorianDaysInPriorMonths{#2}{#3}{\tmpd}% - \advance #4 by \tmpd% % add days in prior months + \advance #4 by \tmpd % add days in prior months \@GregorianDaysInPriorYears{#3}{\tmpd}% - \advance #4 by \tmpd% % add days in prior years + \advance #4 by \tmpd % add days in prior years \global\@common = #4}% #4 = \@common} \def\HebrewFromGregorian#1#2#3#4#5#6{% {% - \countdef\tmpx= 17% % \tmpx==\count17 - \countdef\tmpy= 18% % \tmpy==\count18 - \countdef\tmpz= 19% % \tmpz==\count19 - #6 = #3% % - \global\advance #6 by 3761% approximation from above + \countdef\tmpx= 17 % \tmpx==\count17 + \countdef\tmpy= 18 % \tmpy==\count18 + \countdef\tmpz= 19 % \tmpz==\count19 + #6 = #3 + \global\advance #6 by 3761 % approximation from above \@AbsoluteFromGregorian{#1}{#2}{#3}{#4}% - \tmpz = 1 \tmpy = 1% + \tmpz = 1 \tmpy = 1 \@FixedFromHebrew{\tmpz}{\tmpy}{#6}{\tmpx}% - \ifnum \tmpx > #4% % - \global\advance #6 by -1% Hyear = Gyear + 3760 + \ifnum \tmpx > #4 + \global\advance #6 by -1 % Hyear = Gyear + 3760 \@FixedFromHebrew{\tmpz}{\tmpy}{#6}{\tmpx}% - \fi% % - \advance #4 by -\tmpx% % Days in this year - \advance #4 by 1% % - #5 = #4% % - \divide #5 by 30% % Approximation for month from below - \loop% % Search for month + \fi + \advance #4 by -\tmpx % Days in this year + \advance #4 by 1 + #5 = #4 + \divide #5 by 30 % Approximation for month from below + \loop % Search for month \@HebrewDaysInPriorMonths{#5}{#6}{\tmpx}% - \ifnum \tmpx < #4% - \advance #5 by 1% - \tmpy = \tmpx% - \repeat% - \global\advance #5 by -1% - \global\advance #4 by -\tmpy% + \ifnum \tmpx < #4 + \advance #5 by 1 + \tmpy = \tmpx + \repeat + \global\advance #5 by -1 + \global\advance #4 by -\tmpy }% } @@ -7624,7 +7642,7 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi} % \begin{macrocode} -- -- polyglossia-punct.lua --- part of polyglossia v1.64 -- 2023/07/21 +-- part of polyglossia v1.65 -- 2023/10/01 -- require('polyglossia-punct') @@ -7691,7 +7709,7 @@ polyglossia.deactivate_french_punct = deactivate_french_punct % \begin{macrocode} -- -- polyglossia-korean.lua --- part of polyglossia v1.64 -- 2023/07/21 +-- part of polyglossia v1.65 -- 2023/10/01 -- local glyph_id = node.id"glyph" @@ -8309,7 +8327,7 @@ prepend_to_callback ("hpack_filter", % \begin{macrocode} -- -- polyglossia-latin.lua --- part of polyglossia v1.64 -- 2023/07/21 +-- part of polyglossia v1.65 -- 2023/10/01 -- require('polyglossia-punct') @@ -8364,7 +8382,7 @@ polyglossia.deactivate_latin_punct = deactivate_latin_punct % \begin{macrocode} -- -- polyglossia-punct.lua --- part of polyglossia v1.64 -- 2023/07/21 +-- part of polyglossia v1.65 -- 2023/10/01 -- require('polyglossia') -- just in case... @@ -8732,7 +8750,7 @@ polyglossia.clear_spaced_characters = clear_spaced_characters % \begin{macrocode} -- -- polyglossia-sanskrit.lua --- part of polyglossia v1.64 -- 2023/07/21 +-- part of polyglossia v1.65 -- 2023/10/01 -- require('polyglossia-punct') @@ -8782,7 +8800,7 @@ polyglossia.deactivate_sanskrit_punct = deactivate_sanskrit_punct % \begin{macrocode} -- -- polyglossia-tibt.lua --- part of polyglossia v1.64 -- 2023/07/21 +-- part of polyglossia v1.65 -- 2023/10/01 -- require('polyglossia') -- just in case... @@ -8885,7 +8903,7 @@ polyglossia.desactivate_tibt_eol = desactivate % \begin{macrocode} -- -- polyglossia.lua --- part of polyglossia v1.64 -- 2023/07/21 +-- part of polyglossia v1.65 -- 2023/10/01 -- local module_name = "polyglossia" @@ -10238,9 +10256,9 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-latex.lde} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % -\ProvidesLanguageDefinitionExtension{gloss-latex}{2023/07/21}{v1.64}{polyglossia: module for default language} +\ProvidesLanguageDefinitionExtension{gloss-latex}{2023/10/01}{v1.65}{polyglossia: module for default language} \PolyglossiaSetup{latex}{ bcp47=en-US, @@ -10288,7 +10306,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-acadien.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-acadien.ldf}[polyglossia: module for Canadian (Acadian) French] @@ -10305,7 +10323,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-aeb.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-aeb.ldf}[polyglossia: module for aeb (Arabic)] @@ -10322,7 +10340,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-af.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-af.ldf}[polyglossia: module for af (Afrikaans)] @@ -10339,7 +10357,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-afb.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-afb.ldf}[polyglossia: module for afb (Arabic)] @@ -10356,7 +10374,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-afrikaans.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-afrikaans.ldf}[polyglossia: module for Afrikaans] @@ -10461,7 +10479,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-albanian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-albanian.ldf}[polyglossia: module for Albanian] @@ -10518,7 +10536,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-am.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-am.ldf}[polyglossia: module for am (Amharic)] @@ -10535,7 +10553,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-american.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-american.ldf}[polyglossia: module for American English] @@ -10552,7 +10570,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-amharic.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-amharic.ldf}[polyglossia: module for Amharic] \PolyglossiaSetup{amharic}{ @@ -10772,7 +10790,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-apd.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-apd.ldf}[polyglossia: module for apd (Arabic)] @@ -10789,7 +10807,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-ar-IQ.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-ar-IQ.ldf}[polyglossia: module for ar-IQ (Arabic)] @@ -10808,7 +10826,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-ar-JO.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-ar-JO.ldf}[polyglossia: module for ar-JO (Arabic)] @@ -10827,7 +10845,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-ar-LB.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-ar-LB.ldf}[polyglossia: module for ar-LB (Arabic)] @@ -10846,7 +10864,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-ar-MR.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-ar-MR.ldf}[polyglossia: module for ar-MR (Arabic)] @@ -10865,7 +10883,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-ar-PS.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-ar-PS.ldf}[polyglossia: module for ar-PS (Arabic)] @@ -10884,7 +10902,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-ar-SY.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-ar-SY.ldf}[polyglossia: module for ar-SY (Arabic)] @@ -10903,7 +10921,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-ar-YE.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-ar-YE.ldf}[polyglossia: module for ar-YE (Arabic)] @@ -10922,7 +10940,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-ar.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-ar.ldf}[polyglossia: module for ar (Arabic)] @@ -10939,7 +10957,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-arabic.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-arabic.ldf}[polyglossia: module for Arabic] \RequireBidi @@ -11329,7 +11347,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-armenian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-armenian.ldf}[polyglossia: module for Armenian] @@ -11537,7 +11555,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-arq.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-arq.ldf}[polyglossia: module for arq (Arabic)] @@ -11554,7 +11572,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-ary.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-ary.ldf}[polyglossia: module for ary (Arabic)] @@ -11571,7 +11589,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-arz.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-arz.ldf}[polyglossia: module for arz (Arabic)] @@ -11588,7 +11606,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-ast.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-ast.ldf}[polyglossia: module for ast (Asturian)] @@ -11605,7 +11623,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-asturian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % % Translated by Xuacu <xuacusk8 at gmail dot com> % Contributed by Kevin Godby <godbyk at gmail dot com> @@ -11665,7 +11683,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-australian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-australian.ldf}[polyglossia: module for Australian English] @@ -11682,7 +11700,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-austrian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-austrian.ldf}[polyglossia: module for Austrian German (old spelling)] @@ -11699,7 +11717,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-ayl.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-ayl.ldf}[polyglossia: module for ayl (Arabic)] @@ -11716,7 +11734,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-bahasa.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-bahasa.ldf}[polyglossia: module for Bahasa Indonesia] @@ -11733,7 +11751,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-bahasai.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-bahasai.ldf}[polyglossia: module for Bahasa Indonesia] @@ -11751,7 +11769,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-bahasam.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-bahasam.ldf}[polyglossia: module for Bahasa Melayu] @@ -11769,7 +11787,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-basque.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-basque.ldf}[polyglossia: module for Basque] \PolyglossiaSetup{basque}{ @@ -11827,7 +11845,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-be-tarask.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-be-tarask.ldf}[polyglossia: module for be-tarask (Belarusian)] @@ -11844,7 +11862,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-be.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-be.ldf}[polyglossia: module for be (Belarusian)] @@ -11861,7 +11879,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-belarusian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-belarusian.ldf}[polyglossia: module for Belarusian] @@ -12189,7 +12207,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-bengali.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % % Translations provided by সাজেদুর রহিম জোয়ারদার <toshazed@gmail.com> % TODO implement Bengali calendar @@ -12330,7 +12348,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-bg.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-bg.ldf}[polyglossia: module for bg (Bulgarian)] @@ -12347,7 +12365,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-bn.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-bn.ldf}[polyglossia: module for bn (Bengali)] @@ -12364,7 +12382,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-bo.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-bo.ldf}[polyglossia: module for bo (Tibetan)] @@ -12381,7 +12399,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-bosnian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-bosnian.ldf}[polyglossia: module for Bosnian] @@ -12445,7 +12463,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-br.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-br.ldf}[polyglossia: module for br (Breton)] @@ -12462,7 +12480,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-brazil.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-brazil.ldf}[polyglossia: module for Brazilian Portuguese] @@ -12481,7 +12499,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-breton.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-breton.ldf}[polyglossia: module for Breton] \PolyglossiaSetup{breton}{ @@ -12589,7 +12607,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-british.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-british.ldf}[polyglossia: module for British English] @@ -12606,7 +12624,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-bs.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-bs.ldf}[polyglossia: module for bs (Bosnian)] @@ -12623,7 +12641,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-bulgarian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-bulgarian.ldf}[polyglossia: module for Bulgarian] \PolyglossiaSetup{bulgarian}{ @@ -12725,7 +12743,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-ca.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-ca.ldf}[polyglossia: module for ca (Catalan)] @@ -12742,7 +12760,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-canadian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-canadian.ldf}[polyglossia: module for Canadian English] @@ -12759,7 +12777,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-canadien.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-canadien.ldf}[polyglossia: module for Canadian French] @@ -12776,7 +12794,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-catalan.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-catalan.ldf}[polyglossia: module for Catalan] \PolyglossiaSetup{catalan}{ @@ -12945,7 +12963,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-chinese.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-chinese.ldf}[polyglossia: module for Chinese] @@ -13235,7 +13253,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-ckb-Arab.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-ckb-Arab.ldf}[polyglossia: module for ckb-Arab (Kurdish)] @@ -13252,7 +13270,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-ckb-Latn.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-ckb-Latn.ldf}[polyglossia: module for ckb-Latn (Kurdish)] @@ -13269,7 +13287,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-ckb.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-ckb.ldf}[polyglossia: module for ckb (Kurdish)] @@ -13286,7 +13304,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-cop.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-cop.ldf}[polyglossia: module for cop (Coptic)] @@ -13303,7 +13321,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-coptic.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-coptic.ldf}[polyglossia: module for Coptic] \PolyglossiaSetup{coptic}{ @@ -13359,7 +13377,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-croatian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-croatian.ldf}[polyglossia: module for Croatian] \PolyglossiaSetup{croatian}{ @@ -13635,7 +13653,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-cy.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-cy.ldf}[polyglossia: module for cy (Welsh)] @@ -13652,7 +13670,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-cz.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-cz.ldf}[polyglossia: module for cz (Czech)] @@ -13669,7 +13687,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-czech.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-czech.ldf}[polyglossia: module for Czech] @@ -13928,7 +13946,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-da.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-da.ldf}[polyglossia: module for da (Danish)] @@ -13945,7 +13963,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-danish.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-danish.ldf}[polyglossia: module for Danish] \PolyglossiaSetup{danish}{ @@ -14002,7 +14020,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-de-AT-1901.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-de-AT-1901.ldf}[polyglossia: module for de-AT-1901 (Austrian German, old spelling)] @@ -14019,7 +14037,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-de-AT-1996.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-de-AT-1996.ldf}[polyglossia: module for de-AT-1996 (Austrian German)] @@ -14036,7 +14054,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-de-AT.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-de-AT.ldf}[polyglossia: module for de-AT (Austrian German)] @@ -14053,7 +14071,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-de-CH-1901.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-de-CH-1901.ldf}[polyglossia: module for de-CH-1901 (Swiss German, old spelling)] @@ -14070,7 +14088,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-de-CH-1996.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-de-CH-1996.ldf}[polyglossia: module for de-CH-1996 (Swiss German)] @@ -14087,7 +14105,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-de-CH.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-de-CH.ldf}[polyglossia: module for de-CH (Swiss German)] @@ -14104,7 +14122,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-de-DE-1901.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-de-DE-1901.ldf}[polyglossia: module for de-DE-1901 (Germany's German, old spelling)] @@ -14121,7 +14139,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-de-DE-1996.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-de-DE-1996.ldf}[polyglossia: module for de-DE-1996 (Germany's German)] @@ -14138,7 +14156,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-de-DE.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-de-DE.ldf}[polyglossia: module for de-DE (Germany's German)] @@ -14155,7 +14173,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-de-Latf-AT-1901.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-de-AT-1901-Latf.ldf}[polyglossia: module for de-AT-1901-Latf (Austrian German, old spelling)] @@ -14172,7 +14190,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-de-Latf-AT-1996.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-de-AT-1996-Latf.ldf}[polyglossia: module for de-AT-1996-Latf (Austrian German)] @@ -14189,7 +14207,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-de-Latf-AT.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-de-AT-Latf.ldf}[polyglossia: module for de-AT-Latf (Austrian German)] @@ -14206,7 +14224,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-de-Latf-CH-1901.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-de-CH-1901-Latf.ldf}[polyglossia: module for de-CH-1901-Latf (Swiss German, old spelling)] @@ -14223,7 +14241,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-de-Latf-CH-1996.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-de-CH-1996-Latf.ldf}[polyglossia: module for de-CH-1996-Latf (Swiss German)] @@ -14240,7 +14258,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-de-Latf-CH.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-de-CH-Latf.ldf}[polyglossia: module for de-CH-Latf (Swiss German)] @@ -14257,7 +14275,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-de-Latf-DE-1901.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-de-DE-1901-Latf.ldf}[polyglossia: module for de-DE-1901-Latf (Germany's German, old spelling)] @@ -14274,7 +14292,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-de-Latf-DE-1996.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-de-DE-1996-Latf.ldf}[polyglossia: module for de-DE-1996-Latf (Germany's German)] @@ -14291,7 +14309,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-de-Latf-DE.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-de-DE-Latf.ldf}[polyglossia: module for de-DE-Latf (Germany's German)] @@ -14308,7 +14326,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-de-Latf.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-de-Latf.ldf}[polyglossia: module for de-Latf (German)] @@ -14325,7 +14343,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-de.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-de.ldf}[polyglossia: module for de (German)] @@ -14342,7 +14360,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-divehi.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-divehi.ldf}[polyglossia: module for Divehi] @@ -14397,7 +14415,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-dsb.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-dsb.ldf}[polyglossia: module for dsb (Sorbian)] @@ -14414,7 +14432,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-dutch.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-dutch.ldf}[polyglossia: module for Dutch] \PolyglossiaSetup{dutch}{ @@ -14624,7 +14642,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-dv.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-dv.ldf}[polyglossia: module for dv (Divehi)] @@ -14641,7 +14659,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-el-monoton.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-el-monoton.ldf}[polyglossia: module for el-monoton (Greek)] @@ -14658,7 +14676,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-el-polyton.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-el-polyton.ldf}[polyglossia: module for el-polyton (Greek)] @@ -14675,7 +14693,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-el.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-el.ldf}[polyglossia: module for el (Greek)] @@ -14692,7 +14710,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-en-AU.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-en-AU.ldf}[polyglossia: module for en-AU (Australian English)] @@ -14709,7 +14727,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-en-CA.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-en-CA.ldf}[polyglossia: module for en-CA (Canadan English)] @@ -14726,7 +14744,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-en-GB.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-en-GB.ldf}[polyglossia: module for en-GB (British English)] @@ -14743,7 +14761,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-en-NZ.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-en-NZ.ldf}[polyglossia: module for en-NZ (Newzealand English)] @@ -14760,7 +14778,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-en-US.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-en-US.ldf}[polyglossia: module for en-US (American English)] @@ -14777,7 +14795,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-en.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-en.ldf}[polyglossia: module for en (English)] @@ -14794,7 +14812,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-english.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-english.ldf}[polyglossia: module for English] @@ -15005,7 +15023,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-eo.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-eo.ldf}[polyglossia: module for eo (Esperanto)] @@ -15022,7 +15040,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-es-ES.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-es-ES.ldf}[polyglossia: module for es-ES (Spain's Spanish)] @@ -15039,7 +15057,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-es-MX.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-es-MX.ldf}[polyglossia: module for es-MX (Mexican Spanish)] @@ -15056,7 +15074,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-es.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-es.ldf}[polyglossia: module for es (Spanish)] @@ -15073,7 +15091,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-esperanto.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-esperanto.ldf}[polyglossia: module for Esperanto] \PolyglossiaSetup{esperanto}{ @@ -15153,7 +15171,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-estonian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-estonian.ldf}[polyglossia: module for Estonian] \PolyglossiaSetup{estonian}{ @@ -15210,7 +15228,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-et.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-et.ldf}[polyglossia: module for et (Estonian)] @@ -15227,7 +15245,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-eu.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-eu.ldf}[polyglossia: module for eu (Basque)] @@ -15244,7 +15262,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-fa.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-fa.ldf}[polyglossia: module for fa (Persian)] @@ -15261,7 +15279,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-farsi.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-farsi.ldf}[polyglossia: module for Farsi] @@ -15279,7 +15297,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-fi.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-fi.ldf}[polyglossia: module for fi (Finnish)] @@ -15296,7 +15314,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-finnish.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-finnish.ldf}[polyglossia: module for Finnish] \PolyglossiaSetup{finnish}{ @@ -15416,7 +15434,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-fr-CA-u-sd-canb.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-fr-CA-u-sd-canb.ldf}[polyglossia: module for fr-CA-u-sd-canb (Canadian French, Acadian subvariety)] @@ -15433,7 +15451,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-fr-CA.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-fr-CA.ldf}[polyglossia: module for fr-CA (Canadian French)] @@ -15450,7 +15468,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-fr-CH.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-fr-CH.ldf}[polyglossia: module for fr-CH (Swiss French)] @@ -15467,7 +15485,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-fr-FR.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-fr-FR.ldf}[polyglossia: module for fr-FR (France's French)] @@ -15484,7 +15502,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-fr.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-fr.ldf}[polyglossia: module for fr (French)] @@ -15501,7 +15519,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-french.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-french.ldf}[polyglossia: module for French] @@ -16047,7 +16065,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-friulan.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-friulan.ldf}[polyglossia: module for Friulian] @@ -16064,7 +16082,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-friulian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-friulian.ldf}[polyglossia: module for Friulian] @@ -16150,7 +16168,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-fur.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-fur.ldf}[polyglossia: module for fur (Friulian)] @@ -16167,7 +16185,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-ga.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-ga.ldf}[polyglossia: module for ga (Gaelic)] @@ -16184,7 +16202,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-gaelic.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-gaelic.ldf}[polyglossia: module for Gaelic] @@ -16314,7 +16332,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-galician.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-galician.ldf}[polyglossia: module for Galician] \PolyglossiaSetup{galician}{ @@ -16371,7 +16389,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-gd.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-gd.ldf}[polyglossia: module for gd (Gaelic)] @@ -16388,7 +16406,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-georgian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-georgian.ldf}[polyglossia: module for Georgian] @@ -16636,7 +16654,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-german.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-german.ldf}[polyglossia: module for German] @@ -16985,7 +17003,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-germanb.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-germanb.ldf}[polyglossia: module for German (old spelling)] @@ -17002,7 +17020,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-gl.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-gl.ldf}[polyglossia: module for gl (Galician)] @@ -17019,7 +17037,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-grc.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-grc.ldf}[polyglossia: module for grc (Greek)] @@ -17036,7 +17054,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-greek.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-greek.ldf}[polyglossia: module for Greek] @@ -17504,7 +17522,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-he.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-he.ldf}[polyglossia: module for he (Hebrew)] @@ -17521,7 +17539,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-hebrew.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-hebrew.ldf}[polyglossia: module for Hebrew] @@ -17556,10 +17574,10 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages \define@choicekey*+{hebrew}{calendar}[\xpg@val\xpg@nr]{hebrew,gregorian}[gregorian]{% \ifcase\xpg@nr\relax % hebrew: - \@calendar@hebrewtrue% + \@calendar@hebrewtrue \or % gregorian: - \@calendar@hebrewfalse% + \@calendar@hebrewfalse \fi \xpg@info{Option: Hebrew, calendar=\xpg@val}% }{\xpg@warning{Unknown Hebrew calendar `#1'}} @@ -17568,11 +17586,11 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages \define@choicekey*+{hebrew}{numerals}[\xpg@val\xpg@nr]{hebrew,arabic}[arabic]{% \ifcase\xpg@nr\relax % hebrew: - \@hebrew@numeralstrue% + \@hebrew@numeralstrue \SetLanguageKeys{hebrew}{bcp47-extension-u=nu-hebr}% \or % arabic: - \@hebrew@numeralsfalse% + \@hebrew@numeralsfalse \SetLanguageKeys{hebrew}{bcp47-extension-u=nu-latn}% \fi \xpg@info{Option: Hebrew, numerals=\xpg@val}% @@ -17604,18 +17622,18 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages \def\psname{נ.ב.}% \def\seename{ראה}% \def\alsoname{ראה גם}% check - \def\proofname{הוכחה} + \def\proofname{הוכחה}% \def\glossaryname{מילון מונחים}% check } \def\datehebrew{% \def\today{% - \if@calendar@hebrew% - \hebrewtoday% - \else% - \hebrewnumber\day% - \space ב\hebrewgregmonth{\month}\space% - \hebrewnumber\year% - \fi% + \if@calendar@hebrew + \hebrewtoday + \else + \hebrewnumber\day + \space ב\hebrewgregmonth{\month}\space + \hebrewnumber\year + \fi }% } @@ -17642,7 +17660,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % Bidi inserts an RTL mark (0x200f) between number and number separator (- .), % forcing numbers to RTL. This is wrong for Hebrew. % So we defunc the respective command with XeTeX. - \let\xpg@orig@DigitsDotDashInterCharToks\DigitsDotDashInterCharToks% + \let\xpg@orig@DigitsDotDashInterCharToks\DigitsDotDashInterCharToks \def\hebrew@ltr@numbers{% \renewcommand*{\DigitsDotDashInterCharToks}{}% @@ -17650,40 +17668,40 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages \def\nohebrew@ltr@numbers{% % Restore bidi's \DigitsDotDashInterCharToks - \let\DigitsDotDashInterCharToks\xpg@orig@DigitsDotDashInterCharToks% + \let\DigitsDotDashInterCharToks\xpg@orig@DigitsDotDashInterCharToks } \else % Only dummy commands (nothing to do here) for LuaTeX \def\hebrew@ltr@numbers{} \def\nohebrew@ltr@numbers{} -\fi% +\fi \def\hebrew@numbers{% - \let\@alph\hebrewnumeral% - \let\@Alph\Hebrewnumeral% + \let\@alph\hebrewnumeral + \let\@Alph\Hebrewnumeral % Prevent bidi from setting the numbers RTL - \hebrew@ltr@numbers% + \hebrew@ltr@numbers } \def\nohebrew@numbers{% - \let\@alph\latin@alph% - \let\@Alph\latin@Alph% + \let\@alph\latin@alph + \let\@Alph\latin@Alph % Restore previous bidi numbers definition - \nohebrew@ltr@numbers% + \nohebrew@ltr@numbers } \def\hebrew@globalnumbers{% - \let\@arabic\hebrewnumber% + \let\@arabic\hebrewnumber \renewcommand\thefootnote{\localnumeral*{footnote}}% % Prevent bidi from setting the numbers RTL - \hebrew@ltr@numbers% + \hebrew@ltr@numbers } % Store original definition \let\xpg@save@arabic\@arabic \def\nohebrew@globalnumbers{% - \let\@arabic\xpg@save@arabic% + \let\@arabic\xpg@save@arabic } % \end{macrocode} @@ -17695,7 +17713,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-hi.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-hi.ldf}[polyglossia: module for hi (Hindi)] @@ -17712,7 +17730,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-hindi.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % % UTF-8 strings kindly provided by Zdenĕk Wagner, 10-03-2008 % with corrections and additional contributions by Anshuman Pandey @@ -17831,7 +17849,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-hr.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-hr.ldf}[polyglossia: module for hr (Croatian)] @@ -17848,7 +17866,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-hsb.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-hsb.ldf}[polyglossia: module for hsb (Higher Sorbian)] @@ -17865,7 +17883,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-hu.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-hu.ldf}[polyglossia: module for hu (Hungarian)] @@ -17882,7 +17900,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-hungarian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-hungarian.ldf}[polyglossia: module for Hungarian] @@ -18281,7 +18299,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-hy.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-hy.ldf}[polyglossia: module for hy (Armenian)] @@ -18298,7 +18316,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-ia.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-ia.ldf}[polyglossia: module for ia (Interlingua)] @@ -18315,7 +18333,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-icelandic.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-icelandic.ldf}[polyglossia: module for Icelandic] \PolyglossiaSetup{icelandic}{ @@ -18373,7 +18391,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-id.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-id.ldf}[polyglossia: module for id (Malay)] @@ -18390,7 +18408,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-interlingua.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-interlingua.ldf}[polyglossia: module for Interlingua] \PolyglossiaSetup{interlingua}{ @@ -18448,7 +18466,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-irish.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-irish.ldf}[polyglossia: module for Irish] @@ -18466,7 +18484,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-is.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-is.ldf}[polyglossia: module for is (Icelandic)] @@ -18483,7 +18501,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-it.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-it.ldf}[polyglossia: module for it (Italian)] @@ -18501,7 +18519,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % \subsection{gloss-italian.ldf} % \begin{macrocode} % !TEX encoding = UTF-8 Unicode -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-italian.ldf}[polyglossia: module for Italian] \PolyglossiaSetup{italian}{ @@ -18653,7 +18671,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-ja.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-ja.ldf}[polyglossia: module for ja (Japanese)] @@ -18670,7 +18688,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-japanese.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-japanese.ldf}[polyglossia: module for Japanese] @@ -18908,7 +18926,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-ka.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-ka.ldf}[polyglossia: module for ka (Georgian)] @@ -18926,7 +18944,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % \subsection{gloss-kannada.ldf} % \begin{macrocode} %% gloss-kannada.ldf -%% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +%% Language definition file (part of polyglossia v1.65 -- 2023/10/01) %% %% Copyright 2011 Aravinda VK <hallimanearavind AT gmail.com>, %% Shankar Prasad <prasad.mvs AT gmail.com>, @@ -19049,7 +19067,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-khmer.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-khmer.ldf}[polyglossia: module for Khmer] \PolyglossiaSetup{khmer}{ @@ -19226,7 +19244,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-km.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-km.ldf}[polyglossia: module for km (Khmer)] @@ -19243,7 +19261,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-kmr-Arab.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-kmr-Arab.ldf}[polyglossia: module for kmr-Arab (Kurdish)] @@ -19260,7 +19278,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-kmr-Latn.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-kmr-Latn.ldf}[polyglossia: module for kmr-Latn (Kurdish)] @@ -19277,7 +19295,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-kmr.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-kmr.ldf}[polyglossia: module for kmr (Kurdish)] @@ -19294,7 +19312,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-kn.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-kn.ldf}[polyglossia: module for kn (Kannada)] @@ -19311,7 +19329,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-ko.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-ko.ldf}[polyglossia: module for ko (Korean)] @@ -19328,7 +19346,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-korean.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-korean.ldf}[polyglossia: module for Korean] @@ -19808,7 +19826,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-ku-Arab.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-ku-Arab.ldf}[polyglossia: module for ku-Arab (Kurdish)] @@ -19825,7 +19843,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-ku-Latn.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-ku-Latn.ldf}[polyglossia: module for ku-Latn (Kurdish)] @@ -19842,7 +19860,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-ku.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-ku.ldf}[polyglossia: module for ku (Kurdish)] @@ -19859,7 +19877,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-kurdish.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % % Created on September 1, 2019 % Last updated on May 17, 2020 @@ -20356,7 +20374,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-kurmanji.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-kurmanji.ldf}[polyglossia: module for Kurmanji Kurdish] @@ -20373,7 +20391,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-la-x-classic.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-la-xclassic.ldf}[polyglossia: module for la-xclassic (Latin)] @@ -20390,7 +20408,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-la-x-ecclesia.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-la-xecclesiastic.ldf}[polyglossia: module for la-xecclesiastic (Latin)] @@ -20407,7 +20425,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-la-x-medieval.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-la-xmedieval.ldf}[polyglossia: module for la-xmedieval (Latin)] @@ -20424,7 +20442,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-la.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-la.ldf}[polyglossia: module for la (Latin)] @@ -20441,7 +20459,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-lao.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-lao.ldf}[polyglossia: module for Lao] @@ -20552,7 +20570,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-latin.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-latin.ldf}[polyglossia: module for Latin] @@ -21667,7 +21685,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-latinclassic.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-latinclassic.ldf}[polyglossia: module for classic Latin] @@ -21684,7 +21702,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-latinecclesiastic.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-latinecclesiastic.ldf}[polyglossia: module for ecclesiastic Latin] @@ -21701,7 +21719,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-latinmedieval.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-latinmedieval.ldf}[polyglossia: module for medieval Latin] @@ -21718,7 +21736,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-latvian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-latvian.ldf}[polyglossia: module for Latvian] \PolyglossiaSetup{latvian}{ @@ -21776,7 +21794,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-lithuanian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % % Translated by Paulius Sladkevičius <komsas@gmail.com> @@ -21858,7 +21876,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-lo.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-lo.ldf}[polyglossia: module for lo (Lao)] @@ -21875,7 +21893,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-lowersorbian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-lowersorbian.ldf}[polyglossia: module for Lower Sorbian] @@ -21892,7 +21910,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-lsorbian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-lsorbian.ldf}[polyglossia: module for Lower Sorbian] @@ -21910,7 +21928,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-lt.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-lt.ldf}[polyglossia: module for lt (Lithuanian)] @@ -21927,7 +21945,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-lv.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-lv.ldf}[polyglossia: module for lv (Latvian)] @@ -21944,7 +21962,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-macedonian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-macedonian.ldf}[polyglossia: module for Macedonian] \PolyglossiaSetup{macedonian}{ @@ -22043,7 +22061,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-magyar.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-magyar.ldf}[polyglossia: module for Hungarian (Magyar)] @@ -22060,7 +22078,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-malay.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-malay.ldf}[polyglossia: module for Malay] @@ -22259,7 +22277,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-malayalam.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-malayalam.ldf}[polyglossia: module for Malayalam] @@ -22329,7 +22347,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-marathi.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % % Translations provided by Abhijit Navale <abhi_navale@live.in> % Ordinals (1-100) added by Niranjan Tambe <niranjanvikastambe@gmail.com> on 14th December, 2019 @@ -22479,7 +22497,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-mk.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-mk.ldf}[polyglossia: module for mk (Macedonian)] @@ -22496,7 +22514,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-ml.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-ml.ldf}[polyglossia: module for ml (Malayalam)] @@ -22513,7 +22531,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-mn.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-mn.ldf}[polyglossia: module for mn (Mongolian)] @@ -22530,7 +22548,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-mongolian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-mongolian.ldf}[polyglossia: module for Mongolian] @@ -22769,7 +22787,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-mr.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-mr.ldf}[polyglossia: module for mr (Marathi)] @@ -22786,7 +22804,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-naustrian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-naustrian.ldf}[polyglossia: module for Austrian German (current spelling)] @@ -22803,7 +22821,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-nb.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-nb.ldf}[polyglossia: module for nb (Norwegian)] @@ -22820,7 +22838,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-newzealand.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-newzealand.ldf}[polyglossia: module for Newzealand English] @@ -22837,7 +22855,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-ngerman.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-ngerman.ldf}[polyglossia: module for German (current spelling)] @@ -22854,7 +22872,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-nko.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-nko.ldf}[Polyglossia: module for N’Ko] \PolyglossiaSetup{nko}{% @@ -22952,7 +22970,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-norsk.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-norsk.ldf}[polyglossia: module for Norwegian (Bokmal)] @@ -22970,7 +22988,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-norwegian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-norwegian.ldf}[polyglossia: module for Norwegian] \PolyglossiaSetup{norwegian}{ @@ -23097,7 +23115,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-nswissgerman.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-nswissgerman.ldf}[polyglossia: module for Swiss German (current spelling)] @@ -23114,7 +23132,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-nynorsk.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-nynorsk.ldf}[polyglossia: module for Norwegian (Nynorsk)] @@ -23132,7 +23150,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-occitan.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % %% %% This is file `gloss-occitan.ldf', @@ -23313,7 +23331,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-pa.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-pa.ldf}[polyglossia: module for pa (Punjabi)] @@ -23330,7 +23348,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-persian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-persian.ldf}[polyglossia: module for Persian] @@ -23571,7 +23589,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % \subsection{gloss-piedmontese.ldf} % \begin{macrocode} % !TEX encoding = UTF-8 Unicode -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-piedmontese.ldf}[2013/02/12 v1.0 polyglossia: module for Piedmontese] \makeatletter @@ -23701,7 +23719,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-polish.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-polish.ldf}[polyglossia: module for Polish] @@ -23960,7 +23978,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-polutonikogreek.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-polutonikogreek.ldf}[polyglossia: module for polytonic Greek] @@ -23977,7 +23995,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-portuges.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-portuges.ldf}[polyglossia: module for Portuguese] @@ -23997,7 +24015,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-portuguese.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-portuguese.ldf}[polyglossia: module for Portuguese] @@ -24228,7 +24246,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-punjabi.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % % UTF-8 strings kindly provided by % Arvinder Singh Kang, <17-11-2022> @@ -24336,7 +24354,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-romanian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-romanian.ldf}[polyglossia: module for Romanian] @@ -24395,7 +24413,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-romansh.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-romansh.ldf}[polyglossia: module for Romansh] \makeatletter @@ -24453,7 +24471,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-russian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-russian.ldf}[polyglossia: module for Russian] @@ -24852,7 +24870,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-sami.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-sami.ldf}[polyglossia: module for Sami] @@ -24956,7 +24974,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-samin.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-samin.ldf}[polyglossia: module for Northern Sami] @@ -24974,7 +24992,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-sanskrit.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-sanskrit.ldf}[polyglossia: module for Sanskrit] @@ -25133,7 +25151,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-scottish.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-scottish.ldf}[polyglossia: module for Scottish Gaelic] @@ -25151,7 +25169,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-serbian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-serbian.ldf}[polyglossia: module for Serbian] %TODO split into gloss-serbiancyr.ldf and gloss-serbianlat.ldf @@ -25574,7 +25592,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-serbianc.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-serbianc.ldf}[polyglossia: module for Serbian (cyrillic)] @@ -25591,7 +25609,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-slovak.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-slovak.ldf}[polyglossia: module for Slovak] @@ -25858,7 +25876,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-slovene.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-slovene.ldf}[polyglossia: module for Slovenian] @@ -25875,7 +25893,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-slovenian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-slovenian.ldf}[polyglossia: module for Slovenian] @@ -25967,7 +25985,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-sorbian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-sorbian.ldf}[polyglossia: module for Sorbian] @@ -26158,7 +26176,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-spanish.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-spanish.ldf}[polyglossia: module for Spanish] @@ -26398,7 +26416,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-spanishmx.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-spanishmx.ldf}[polyglossia: module for Mexican Spanish] @@ -26415,7 +26433,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-swedish.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-swedish.ldf}[polyglossia: module for Swedish] @@ -26480,7 +26498,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-swissgerman.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-swissgerman.ldf}[polyglossia: module for Swiss German (old spelling)] @@ -26497,7 +26515,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-syriac.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-syriac.ldf}[polyglossia: module for Syriac] @@ -26770,7 +26788,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-tamil.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-tamil.ldf}[polyglossia: module for Tamil] @@ -26840,7 +26858,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-telugu.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-telugu.ldf}[polyglossia: module for Telugu] @@ -26913,7 +26931,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-thai.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-thai.ldf}[polyglossia: module for Thai] %% This is partly based on thai-latex for Babel: @@ -27071,7 +27089,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-tibetan.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-tibetan.ldf}[polyglossia: module for Tibetan] %% Copyright 2013 Elie Roux @@ -27297,7 +27315,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-turkish.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-turkish.ldf}[polyglossia: module for Turkish] \RequirePackage{hijrical} @@ -27415,7 +27433,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-turkmen.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-turkmen.ldf}[polyglossia: module for Turkmen] %% Translations provided by Nazar Annagurban <nazartm at gmail dot com> @@ -27473,7 +27491,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-ug.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-ug.ldf}[polyglossia: module for ug (Uyghur)] % BCP 47 tag for Uyghur @@ -27489,7 +27507,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-ukrainian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-ukrainian.ldf}[polyglossia: module for Ukrainian] % Strings taken from Babel @@ -27788,7 +27806,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-uppersorbian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-uppersorbian.ldf}[polyglossia: module for Upper Sorbian] @@ -27805,7 +27823,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-urdu.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % %%% Adapted from a file contributed by Kamal Abdali \ProvidesFile{gloss-urdu.ldf}[polyglossia: module for Urdu] @@ -28055,7 +28073,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-usorbian.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-usorbian.ldf}[polyglossia: module for Upper Sorbian] @@ -28073,7 +28091,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-uyghur.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-uyghur.ldf}[polyglossia: module for Uyghur] %% Translations provided by Osman Tursun (Github Account: neouyghur) @@ -28514,7 +28532,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-vietnamese.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-vietnamese.ldf}[polyglossia: module for Vietnamese] %% Strings contributed by Daniel Owens < dhowens . pmbx . net > @@ -28573,7 +28591,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-welsh.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-welsh.ldf}[polyglossia: module for Welsh] @@ -28673,7 +28691,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-zh-CN.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-zh-CN.ldf}[polyglossia: module for zh-CN (Chinese)] @@ -28690,7 +28708,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages % % \subsection{gloss-zh-TW.ldf} % \begin{macrocode} -% Language definition file (part of polyglossia v1.64 -- 2023/07/21) +% Language definition file (part of polyglossia v1.65 -- 2023/10/01) % \ProvidesFile{gloss-zh-TW.ldf}[polyglossia: module for zh-TW (Chinese)] @@ -28859,7 +28877,7 @@ U+0039 <> U+0E59 ; % \begin{macrocode} -- -- polyglossia-punct.lua --- part of polyglossia v1.64 -- 2023/07/21 +-- part of polyglossia v1.65 -- 2023/10/01 -- require('polyglossia-punct') @@ -28926,7 +28944,7 @@ polyglossia.deactivate_french_punct = deactivate_french_punct % \begin{macrocode} -- -- polyglossia-korean.lua --- part of polyglossia v1.64 -- 2023/07/21 +-- part of polyglossia v1.65 -- 2023/10/01 -- local glyph_id = node.id"glyph" @@ -29544,7 +29562,7 @@ prepend_to_callback ("hpack_filter", % \begin{macrocode} -- -- polyglossia-latin.lua --- part of polyglossia v1.64 -- 2023/07/21 +-- part of polyglossia v1.65 -- 2023/10/01 -- require('polyglossia-punct') @@ -29599,7 +29617,7 @@ polyglossia.deactivate_latin_punct = deactivate_latin_punct % \begin{macrocode} -- -- polyglossia-punct.lua --- part of polyglossia v1.64 -- 2023/07/21 +-- part of polyglossia v1.65 -- 2023/10/01 -- require('polyglossia') -- just in case... @@ -29967,7 +29985,7 @@ polyglossia.clear_spaced_characters = clear_spaced_characters % \begin{macrocode} -- -- polyglossia-sanskrit.lua --- part of polyglossia v1.64 -- 2023/07/21 +-- part of polyglossia v1.65 -- 2023/10/01 -- require('polyglossia-punct') @@ -30017,7 +30035,7 @@ polyglossia.deactivate_sanskrit_punct = deactivate_sanskrit_punct % \begin{macrocode} -- -- polyglossia-tibt.lua --- part of polyglossia v1.64 -- 2023/07/21 +-- part of polyglossia v1.65 -- 2023/10/01 -- require('polyglossia') -- just in case... @@ -30120,7 +30138,7 @@ polyglossia.desactivate_tibt_eol = desactivate % \begin{macrocode} -- -- polyglossia.lua --- part of polyglossia v1.64 -- 2023/07/21 +-- part of polyglossia v1.65 -- 2023/10/01 -- local module_name = "polyglossia" diff --git a/macros/unicodetex/latex/polyglossia/polyglossia.pdf b/macros/unicodetex/latex/polyglossia/polyglossia.pdf Binary files differindex fb3e2b3b39..8259987bf3 100644 --- a/macros/unicodetex/latex/polyglossia/polyglossia.pdf +++ b/macros/unicodetex/latex/polyglossia/polyglossia.pdf |