summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-03-10 21:25:27 +0000
committerKarl Berry <karl@freefriends.org>2022-03-10 21:25:27 +0000
commit620ec64c7e6e3ffa4a00394c17e638414fc32c6a (patch)
tree8aa1f01bdaa7aa6c1d5755d99526b0c622f83175 /Master/texmf-dist/source
parent9e37d64fedc12c8c794246708b22fce76d1090ac (diff)
projlib (10mar22) (branch)
git-svn-id: svn://tug.org/texlive/branches/branch2021.final@62601 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source')
-rw-r--r--Master/texmf-dist/source/latex/projlib/ProjLib.dtx3683
-rw-r--r--Master/texmf-dist/source/latex/projlib/ProjLib.ins72
2 files changed, 0 insertions, 3755 deletions
diff --git a/Master/texmf-dist/source/latex/projlib/ProjLib.dtx b/Master/texmf-dist/source/latex/projlib/ProjLib.dtx
deleted file mode 100644
index adfc509e76a..00000000000
--- a/Master/texmf-dist/source/latex/projlib/ProjLib.dtx
+++ /dev/null
@@ -1,3683 +0,0 @@
-% \iffalse meta-comment
-%
-% Copyright (C) 2021 by Jinwen XU
-% -------------------------------
-%
-% This file may be distributed and/or modified under the conditions of the LaTeX
-% Project Public License, either version 1.3c of this license or (at your option)
-% any later version. The latest version of this license is in:
-%
-% http://www.latex-project.org/lppl.txt
-%
-% \fi
-%
-%<*driver>
-\ProvidesFile{ProjLib.dtx}
-%</driver>
-\NeedsTeXFormat{LaTeX2e}[2020-10-01]
-%
-%<*ProjLib>
-\ProvidesPackage{ProjLib}
- [2021/12/16 The collective interface of ProjLib toolkit]
-%</ProjLib>
-%
-%<*PJLauthor>
-\ProvidesPackage{PJLauthor}
- [2021/12/16 Enhanced author information block]
-%</PJLauthor>
-%
-%<*PJLdate>
-\ProvidesPackage{PJLdate}
- [2021/12/16 Convert yyyy-mm-dd to normal datetime format]
-%</PJLdate>
-%
-%<*PJLdraft>
-\ProvidesPackage{PJLdraft}
- [2021/12/16 Some useful macros for the draft stage]
-%</PJLdraft>
-%
-%<*PJLlang>
-\ProvidesPackage{PJLlang}
- [2021/12/16 Multi-language configuration]
-%</PJLlang>
-%
-%<*PJLlogo>
-\ProvidesPackage{PJLlogo}
- [2021/12/16 The ProjLib logo]
-%</PJLlogo>
-%
-%<*PJLmath>
-\ProvidesPackage{PJLmath}
- [2021/12/16 Useful math macros and shortcuts]
-%</PJLmath>
-%
-%<*PJLpaper>
-\ProvidesPackage{PJLpaper}
- [2021/12/16 Paper style configuration]
-%</PJLpaper>
-%
-%<*PJLthm>
-\ProvidesPackage{PJLthm}
- [2021/12/16 Theorem setup and configuration]
-%</PJLthm>
-%
-%# 下面两行引入宏包的代码是所有文件共用的。
-%# The following two lines are common to all files.
-\RequirePackage{kvoptions}
-\RequirePackage{etoolbox}
-%
-%<*PJLauthor>
-%# 这段代码定义了宏包中的选项。
-%# This code defines the options in the package.
-\SetupKeyvalOptions{
- family = @PJLauthor,
- prefix = @PJLauthor@,
-}
-%# 支持 AMS 风格
-%# Support AMS fashion
-\DeclareBoolOption[false]{amsfashion}
-%# 处理选项
-%# Process options
-\ProcessKeyvalOptions*\relax
-
-%# 在 AMS 文档类中不执行任何操作
-%# Do nothing if AMS class detected
-\ifdefined\subjclass\endinput\fi
-
-%%================================
-%% Font and style
-%%================================
-%# 各个作者信息元素的字体
-%# Font of the elements in the author block
-\def\PJLauthor@font@author{\normalsize\normalfont\scshape}
-\def\PJLauthor@font@address{\small\normalfont\itshape}
-\def\PJLauthor@font@curraddr{\small\normalfont\itshape}
-\def\PJLauthor@font@email{\small\normalfont\ttfamily}
-
-%%================================
-%% Lengths
-%%================================
-%# author 和 address 之间的距离
-%# Space between author and address
-\newlength{\PJLauthor@length@innersep}
-\setlength{\PJLauthor@length@innersep}{.3\baselineskip}
-%# 两个作者块之间的距离
-%# Space between different author blocks
-\newlength{\PJLauthor@length@sep}
-\setlength{\PJLauthor@length@sep}{.5\baselineskip}
-%# 作者块和日期之间的距离
-%# Space between affiliation and date
-\newlength{\PJLauthor@length@aftersep}
-\setlength{\PJLauthor@length@aftersep}{.3\baselineskip}
-
-%%================================
-%% The macros
-%%================================
-%# 用来记录当前是否有附加作者信息,以便调整距离
-%# To record whether there's affiliation so as to adjust the vertical space
-\newif\if@PJLauthor@affilon
-%# 作者
-%# author
-\renewcommand*{\author}[1]{%
- \gappto\@author{\phantom{A}\\[-\baselineskip]%
- \vspace{\PJLauthor@length@sep}%
- \PJLauthor@font@author{#1}\\\phantom{}
- \@PJLauthor@affilonfalse}}
-%# 地址
-%# address
-\providecommand*{\address}[1]{%
- \gappto\@author{\phantom{A}\\[-\baselineskip]%
- \if@PJLauthor@affilon\else%
- \vspace{\PJLauthor@length@innersep}%
- \fi%
- \@PJLauthor@affilontrue%
- \PJLauthor@font@address{#1}\\\phantom{}}%
-}
-%# 当前地址
-%# curraddr
-\providecommand*{\curraddr}[1]{%
- \gappto\@author{\phantom{A}\\[-\baselineskip]%
- \if@PJLauthor@affilon\else%
- \vspace{\PJLauthor@length@innersep}%
- \fi%
- \@PJLauthor@affilontrue%
- \PJLauthor@font@curraddr{#1}\\\phantom{}}%
-}
-%# 电子邮箱
-%# email
-\providecommand*{\email}[1]{%
- \gappto\@author{\phantom{A}\\[-\baselineskip]%
- \if@PJLauthor@affilon\else%
- \vspace{\PJLauthor@length@innersep}%
- \fi%
- \@PJLauthor@affilontrue%
- \PJLauthor@font@email{#1}\\\phantom{}}%
-}
-
-%%================================
-%% Adjustment
-%%================================
-%# 去除 maketitle 中默认对 author 的处理
-%# Remove the tabular around \@author in maketitle
-\patchcmd{\@maketitle}{\begin{tabular}[t]{c}}{}{}{}
-\patchcmd{\@maketitle}{\end{tabular}}{}{}{}
-%# 下面这一行是为了避免错误 "No \author given."
-%# The follwing line is for avoiding the error "No \author given."
-\def\@author{}
-%# 修正作者块的前后等距离
-%# Adjust the spacing before and after the author block
-\pretocmd{\@maketitle}{%
- \pretocmd{\@author}{\vspace{-\PJLauthor@length@sep}}{}{\FAIL}%
- \apptocmd{\@author}{%
-% Fix the space caused by `\\\phantom{}`
- \vspace{-\baselineskip}%
- \if@PJLauthor@affilon%
- \vspace{\PJLauthor@length@aftersep}%
- \fi%
- }{}{\FAIL}%
-}{}{\FAIL}
-
-%# 若使用 AMS 风格
-%# If AMS fashion enabled
-\ifbool{@PJLauthor@amsfashion}{
-
-%# 使用 PJLlang 以支持自动语言转换
-%# Use `PJLlang` to support automatic language conversion
-\RequirePackage{PJLlang}
-\RequirePackage{calc}
-
-%# 设定带条件的加粗
-%# Set the conditional bold face
-\providecommand{\conditionalbfseries}{\bfseries}
-
-%# 关键词的标签
-%# keywords' label
-\def\keywordsnameEN{\textsc{Key words and phrases}}
-\def\keywordsnameFR{\textsc{Mots et phrases clés}}
-\def\keywordsnameDE{\textsc{Schlüsselwörter und Phrasen}}
-\def\keywordsnameIT{\textsc{Parole e frasi chiave}}
-\def\keywordsnamePT{\textsc{Palavras e frases chave}}
-\def\keywordsnameBR{\textsc{Palavras e frases chave}}
-\def\keywordsnameES{\textsc{Palabras y frases clave}}
-\def\keywordsnameCN{关键词}
-\def\keywordsnameTC{關鍵詞}
-\def\keywordsnameJP{キーワード}
-\def\keywordsnameRU{Ключевые слова и фразы}
-
-%# 关键词
-%# keywords
-\def\PJL@keywords{}
-\providecommand*{\keywords}[1]{\def\PJL@keywords{#1}}
-
-%# 献给
-%# dedicatory
-\def\PJL@dedicatory{}
-\providecommand*{\dedicatory}[1]{\def\PJL@dedicatory{#1}}
-
-%# 致谢,在 \author 中使用时呈现为 article 风格,在外面单独用是则呈现为 AMS 风格
-%# \thanks: behave like article-style when in \author, and ams-style (no marker) when outside
-\AtEndPreamble{
-% In case that \@author changes again
-\let\footnotemark@PJLoriginal\footnotemark%
-\let\footnotemark\relax%
-\let\thanks@PJLoriginal\thanks%
-\newlength\PJL@starlength
-\setlength{\PJL@starlength}{\widthof{*}}
-\newcommand*{\PJL@prethanks}[1]{\thanks@PJLoriginal{\hspace*{-\PJL@starlength}#1}}
-% \renewcommand*{\thanks}[1]{%
-% \ifx#1\@empty\else%
-% \thanks@PJLoriginal{\hspace*{-\PJL@starlength}#1}%
-% \fi}
-\renewcommand*{\thanks}[1]{%
- \ifx#1\@empty\else%
- \apptocmd{\@title}{%
- \thanks@PJLoriginal{\hspace*{-\PJL@starlength}#1}%
- }{}{\FAIL}%
- \fi}
-\let\author@PJLoriginal\author
-\renewcommand{\author}[1]{%
- \author@PJLoriginal{%
- \let\footnotemark\footnotemark@PJLoriginal%
- \let\thanks\thanks@PJLoriginal%
- #1%
- \let\footnotemark\relax%
- }%
-}
-% \pretocmd{\@author}{\let\footnotemark\footnotemark@PJLoriginal\let\thanks\thanks@PJLoriginal}{}{\FAIL}
-% \apptocmd{\@author}{\let\footnotemark\relax}{}{\FAIL}
-}
-
-%# 重定义 abstract 环境以允许其出现在 maketitle 的前面
-%# Modify abstract to allow it before maketitle
-\let\abstract@PJLoriginal\abstract%
-\let\endabstract@PJLoriginal\endabstract%
-\newif\if@PJLauthor@maketitle\@PJLauthor@maketitlefalse
-\newif\if@PJLauthor@absbefore\@PJLauthor@absbeforefalse
-\RequirePackage{fancyvrb}
-% Taken from https://tex.stackexchange.com/a/596328
-% define the same as \protected@write, but with \immediate
-\providecommand*\protected@iwrite[3]{%
- \begingroup
- \let\thepage\relax
- #2%
- \let\protect\@unexpandable@protect
- \edef\reserved@a{\immediate\write#1{#3}}\reserved@a
- \endgroup
- \if@nobreak\ifvmode\nobreak\fi\fi
-}
-\patchcmd{\FVB@VerbatimOut}
- {\immediate\write\FV@OutFile}
- {\protected@iwrite\FV@OutFile{}}
- {}{}
-%
-\renewenvironment{abstract}{%
- \VerbatimOut{\jobname.pjlabs}%
-}{
- \endVerbatimOut%
- \if@PJLauthor@maketitle%
- \begin{abstract@PJLoriginal}%
- \input{\jobname.pjlabs}%
- \end{abstract@PJLoriginal}%
- % \ifx\PJL@keywords\@empty\else%
- % \par\smallskip\noindent{\conditionalbfseries\csname keywordsname\csname\languagename ABBR\endcsname\endcsname.}~\PJL@keywords%
- % \fi%
- \else%
- \global\@PJLauthor@absbeforetrue%
- \fi%
-}
-
-%# 修改 maketitle 以包含上面的诸多改动
-%# Modify maketitle to reflect the modifications above
-\AtEndPreamble{%
-%## 将 dedicatory 添加进 \@maketitle
-%## Add dedicatory to \@maketitle
-\patchcmd{\@maketitle}{\@date}{%
- \ifx\@date\@empty\vspace{-2\baselineskip}%
- \else\@date\fi%
- \ifx\PJL@dedicatory\@empty\else%
- \ifx\@date\@empty\vspace{2\baselineskip}\fi%
- \par\vspace{-\parskip}\bigskip%
- {\itshape\PJL@dedicatory}%
- \ifx\@date\@empty%
- \vspace{-1.7\baselineskip}%
- \vspace{-\parskip}%
- \fi%
- \fi%
-}{}{\FAIL}
-%## 将 keywords 添加进 \maketitle
-%## Add keywords to \maketitle
-\pretocmd{\maketitle}{%
- \ifx\PJL@keywords\@empty\else%
- \PJL@prethanks{{\protect\conditionalbfseries%
- \csname keywordsname\csname\languagename ABBR\endcsname\endcsname.}%
- ~\PJL@keywords}%
- \fi}{}{\FAIL}
-%## 将 abstract 添加进 \maketitle
-%## Add abstract to \maketitle
-\apptocmd{\maketitle}{%
- \if@PJLauthor@absbefore%
- \begin{abstract@PJLoriginal}%
- \input{\jobname.pjlabs}%
- % \ifx\PJL@keywords\@empty\else%
- % \par\smallskip\noindent{\conditionalbfseries\csname keywordsname\csname\languagename ABBR\endcsname\endcsname.}~\PJL@keywords%
- % \fi%
- \end{abstract@PJLoriginal}%
- \fi%
- \global\let\address\relax
- \global\let\curraddr\relax
- \global\let\email\relax
- \global\let\dedicatory\relax
- \global\let\keywords\relax
- \global\@PJLauthor@maketitletrue
-}{}{\FAIL}
-%##- 这段未被采用的代码将使 maketitle 中的 \newpage 失效
-%##- Disbale the \newpage in maketitle
-% \let\maketitle@PJLoriginal=\maketitle
-% \renewcommand*{\maketitle}{{\let\newpage\relax\maketitle@PJLoriginal}}
-}
-
-%# 定义 \subjclass,这段代码改编自 AMS 文档类
-%# Define \subjclass, the code is adopted from AMS classes
-\newcommand*\subjclass[2][2020]{%
- \def\@subjclass{#2}%
- \@ifundefined{subjclassname@#1}{%
- \ClassWarning{\@currname}{Unknown edition (#1) of Mathematics
- Subject Classification; using '2020'}%
- \expandafter\let\expandafter\subjclassname\csname subjclassname@2020\endcsname
- }{%
- \expandafter\let\expandafter\subjclassname\csname subjclassname@#1\endcsname
- }%
- \PJL@prethanks{{\itshape\subjclassname.}\enspace\@subjclass{}.}
-}
-\@namedef{subjclassname@1991}{%
- \textup{1991} Mathematics Subject Classification}
-\@namedef{subjclassname@2000}{%
- \textup{2000} Mathematics Subject Classification}
-\@namedef{subjclassname@2010}{%
- \textup{2010} Mathematics Subject Classification}
-\@namedef{subjclassname@2020}{%
- \textup{2020} Mathematics Subject Classification}
-
-}
-%</PJLauthor>
-%
-%<*PJLdate>
-%# 这段代码定义了宏包中的选项。
-%# This code defines the options in the package.
-\SetupKeyvalOptions{
- family = @PJLdate,
- prefix = @PJLdate@,
-}
-%# 草稿模式或快速模式
-%# Draft mode or fast mode
-\DeclareBoolOption[false]{draft}
-\DeclareBoolOption[false]{fast}
-%# 处理选项
-%# Process options
-\ProcessKeyvalOptions*\relax
-%# 下面的代码设定了选项之间的关系
-%# The following code sets the relationship between options
-\if@PJLdate@draft
- \@PJLdate@fasttrue
-\fi
-%# 定义 \PJLdate 的同义指令
-%# Define synonym macros of \PJLdate
-\DeclareDocumentCommand{\TheDate}{}{\PJLdate}
-\DeclareDocumentCommand{\PLdate}{}{\PJLdate}
-%# 快速模式下直接输出原日期字符串
-%# Directly output the original date string in fast mode
-\if@PJLdate@fast\let\PJLdate\relax\endinput\fi
-
-%# 载入多语言支持
-%# Load multi-language support
-\RequirePackage{PJLlang}
-
-%# 下面一行是为了避免使用 authblk 时产生的错误
-%# The following line is for "authblk"
-\robustify\@latex@warning@no@line
-
-%# 消除一些警告
-%# Eliminate some warnings
-\RequirePackage{silence}
-\WarningFilter*{datetime2}{Date-Time Language Module}
-%# 分别引入负责西文日期和 CJK 日期的宏包
-%# Use packages resp. for western date and CJK date
-\PassOptionsToPackage{fr-FR,en-US}{datetime2}
-\RequirePackage{datetime2}
-\RequirePackage{zhnumber}
-
-%# 在 CJK 模式下将 DTMdate 定义为 zhdate
-%# Maps DTMdate to zhdate in CJK context
-\let\@DTMdate@PJLoriginal\@DTMdate
-\gappto{\PJLlang@langconfig@common}{%
- \let\@DTMdate\@DTMdate@PJLoriginal%
-}
-\gappto{\PJLlang@langconfig@CN}{%
- \renewcommand*{\@DTMdate}[1]{%
- \expandafter\@dtm@parsedate#1\@dtm@endparsedate%
- \zhdate{\@dtm@year/\@dtm@month/\@dtm@day}%
- }%
-}
-\gappto{\PJLlang@langconfig@TC}{%
- \renewcommand*{\@DTMdate}[1]{%
- \expandafter\@dtm@parsedate#1\@dtm@endparsedate%
- \zhdate{\@dtm@year/\@dtm@month/\@dtm@day}%
- }%
-}
-\gappto{\PJLlang@langconfig@JP}{%
- \renewcommand*{\@DTMdate}[1]{%
- \expandafter\@dtm@parsedate#1\@dtm@endparsedate%
- \zhdate{\@dtm@year/\@dtm@month/\@dtm@day}%
- }%
-}
-
-%# 提供命令 PJLdate
-%# Provide the macro PJLdate
-\providecommand*{\PJLdate}[1]{\DTMdate{#1}}
-%</PJLdate>
-%
-%<*PJLdraft>
-%# 这段代码定义了宏包中的选项。
-%# This code defines the options in the package.
-\SetupKeyvalOptions{
- family = @PJLdraft,
- prefix = @PJLdraft@,
-}
-%# 草稿模式或快速模式
-%# Draft mode or fast mode
-\DeclareBoolOption[false]{draft}
-\DeclareBoolOption[false]{fast}
-%# 处理选项
-%# Process options
-\ProcessKeyvalOptions*\relax
-%# 下面的代码设定了选项之间的关系
-%# The following code sets the relationship between options
-\if@PJLdraft@draft
- \@PJLdraft@fasttrue
-\fi
-
-%# 载入多语言支持
-%# Load multi-language support
-\RequirePackage{PJLlang}
-%# 载入颜色支持
-%# Load support for colors
-\RequirePackage{xcolor}
-
-%# 命令中的默认字体
-%# Default font in the macro
-\def\dnfFont{\ttfamily}
-\def\needgraphFont{\ttfamily}
-
-%# 命令中的文字
-%# Text in the macro
-\def\dnfTextEN{To be finished}
-\def\needgraphTextEN{A graph is needed here}
-\def\dnfTextFR{Pas encore fini}
-\def\needgraphTextFR{Il manque une image ici}
-\def\dnfTextDE{Nicht beendet}
-\def\needgraphTextDE{Benötigen Sie ein Bild}
-\def\dnfTextIT{Per essere finito}
-\def\needgraphTextIT{Manca un'immagine qui}
-\def\dnfTextPT{Não terminou}
-\def\needgraphTextPT{Precisa de uma foto aqui}
-\def\dnfTextBR{Não terminou}
-\def\needgraphTextBR{Precisa de uma foto aqui}
-\def\dnfTextES{Estar terminado}
-\def\needgraphTextES{Falta una imagen aquí}
-\def\dnfTextCN{这里尚未完成}
-\def\needgraphTextCN{这里需要一张图片}
-\def\dnfTextTC{這裡尚未完成}
-\def\needgraphTextTC{這裡需要一張圖片}
-\def\dnfTextJP{終わってない}
-\def\needgraphTextJP{まだ画像が必要です}
-\def\dnfTextRU{Не закончен}
-\def\needgraphTextRU{Еще нужна картинка}
-
-%# 命令中的颜色
-%# Default color in the macro
-\definecolor{dnfColor}{RGB}{21,122,20}
-\definecolor{needgraphColor}{RGB}{70,130,180}
-
-\if@PJLdraft@fast
-%# 快速模式用 fbox 定义
-%# Use fbox in fast mode
- \newcommand{\plainBox}[2][-paper]{\textcolor{#1}{%
- \setlength{\fboxsep}{1.5pt}%
- \setlength{\fboxrule}{1.2pt}%
- \fbox{#2}}}
-\else
-%# 正常模式用 tcolorbox 定义
-%# Use tcolorbox in normal mode
- \PassOptionsToPackage{many}{tcolorbox}
- \RequirePackage{tcolorbox}
- \newtcbox{\plainBox}[1][-paper]{enhanced jigsaw,%
- on line, arc = 1.2pt, outer arc = 1pt,breakable,%
- colframe = #1,colupper=#1,opacityback=0,%
- boxsep = 1pt,boxrule = 1.2pt,%
- left = 1pt, right = 1pt, top = 0pt, bottom = 0pt,%
- }
-\fi
-
-%# 命令中的计数器
-%# Counters for the macro
-\newcounter{dnfcnt}
-\newcounter{needgraphcnt}
-
-%# 尚未完成的标记
-%# Mark for ``did not finish''
-\NewDocumentCommand{\dnf}{d<>}{%
- \noindent\plainBox[dnfColor]%
- {\normalfont\dnfFont\bfseries\small%
- \csname dnfText\csname\languagename ABBR\endcsname\endcsname%
- \stepcounter{dnfcnt}~\#\thednfcnt%
- \IfNoValueF{#1}{\,: #1}}%
-}
-%# 需要图片的标记
-%# Mark for ``Graph needed''
-\NewDocumentCommand{\needgraph}{d<>}{%
- \begin{center}%
- \plainBox[needgraphColor]%
- {\normalfont\needgraphFont\bfseries\small%
- \csname needgraphText\csname\languagename ABBR\endcsname\endcsname%
- \stepcounter{needgraphcnt}~\#\theneedgraphcnt%
- \IfNoValueF{#1}{\,: #1}}%
- \end{center}%
-}
-%</PJLdraft>
-%
-%<*PJLlang>
-%# 这段代码定义了宏包中的选项。
-%# This code defines the options in the package.
-\SetupKeyvalOptions{%
- family = @PJLlang,
- prefix = @PJLlang@
-}
-%# 使用 polyglossia 而不是 babel 进行设置,目前还不完善
-%# Use polyglossia instead of babel
-\DeclareBoolOption[false]{polyglossia}
-
-%# 用于记录该语言是否被启用
-%# To record whether the language is enabled in the document
-\newif\if@PJLlang@enable@all\@PJLlang@enable@alltrue
-\newif\if@PJLlang@enable@EN\@PJLlang@enable@ENfalse
-\newif\if@PJLlang@enable@FR\@PJLlang@enable@FRfalse
-\newif\if@PJLlang@enable@DE\@PJLlang@enable@DEfalse
-\newif\if@PJLlang@enable@IT\@PJLlang@enable@ITfalse
-\newif\if@PJLlang@enable@PT\@PJLlang@enable@PTfalse
-\newif\if@PJLlang@enable@BR\@PJLlang@enable@BRfalse
-\newif\if@PJLlang@enable@ES\@PJLlang@enable@ESfalse
-\newif\if@PJLlang@enable@CN\@PJLlang@enable@CNfalse
-\newif\if@PJLlang@enable@TC\@PJLlang@enable@TCfalse
-\newif\if@PJLlang@enable@JP\@PJLlang@enable@JPfalse
-\newif\if@PJLlang@enable@RU\@PJLlang@enable@RUfalse
-%# 用来存储要传递给babel的选项
-%# To store the option list to pass to babel
-\def\PJLlang@babeloptions{}
-%# 语言选项:启用该语言并添加相应的 babel 参数
-%# The language options: enable the corresponding language and add the corresponding options to babel
-\DeclareVoidOption{EN}{\@PJLlang@enable@allfalse\@PJLlang@enable@ENtrue\providecommand{\PJLlang@mainlang}{EN}\gpreto{\PJLlang@babeloptions}{,english}}
-\DeclareVoidOption{english}{\@PJLlang@enable@allfalse\@PJLlang@enable@ENtrue\providecommand{\PJLlang@mainlang}{EN}\gpreto{\PJLlang@babeloptions}{,english}}
-\DeclareVoidOption{English}{\@PJLlang@enable@allfalse\@PJLlang@enable@ENtrue\providecommand{\PJLlang@mainlang}{EN}\gpreto{\PJLlang@babeloptions}{,english}}
-\DeclareVoidOption{FR}{\@PJLlang@enable@allfalse\@PJLlang@enable@FRtrue\providecommand{\PJLlang@mainlang}{FR}\gpreto{\PJLlang@babeloptions}{,french}}
-\DeclareVoidOption{french}{\@PJLlang@enable@allfalse\@PJLlang@enable@FRtrue\providecommand{\PJLlang@mainlang}{FR}\gpreto{\PJLlang@babeloptions}{,french}}
-\DeclareVoidOption{French}{\@PJLlang@enable@allfalse\@PJLlang@enable@FRtrue\providecommand{\PJLlang@mainlang}{FR}\gpreto{\PJLlang@babeloptions}{,french}}
-\DeclareVoidOption{DE}{\@PJLlang@enable@allfalse\@PJLlang@enable@DEtrue\providecommand{\PJLlang@mainlang}{DE}\gpreto{\PJLlang@babeloptions}{,ngerman}}
-\DeclareVoidOption{german}{\@PJLlang@enable@allfalse\@PJLlang@enable@DEtrue\providecommand{\PJLlang@mainlang}{DE}\gpreto{\PJLlang@babeloptions}{,ngerman}}
-\DeclareVoidOption{ngerman}{\@PJLlang@enable@allfalse\@PJLlang@enable@DEtrue\providecommand{\PJLlang@mainlang}{DE}\gpreto{\PJLlang@babeloptions}{,ngerman}}
-\DeclareVoidOption{German}{\@PJLlang@enable@allfalse\@PJLlang@enable@DEtrue\providecommand{\PJLlang@mainlang}{DE}\gpreto{\PJLlang@babeloptions}{,ngerman}}
-\DeclareVoidOption{IT}{\@PJLlang@enable@allfalse\@PJLlang@enable@ITtrue\providecommand{\PJLlang@mainlang}{IT}\gpreto{\PJLlang@babeloptions}{,italian}}
-\DeclareVoidOption{italian}{\@PJLlang@enable@allfalse\@PJLlang@enable@ITtrue\providecommand{\PJLlang@mainlang}{IT}\gpreto{\PJLlang@babeloptions}{,italian}}
-\DeclareVoidOption{Italian}{\@PJLlang@enable@allfalse\@PJLlang@enable@ITtrue\providecommand{\PJLlang@mainlang}{IT}\gpreto{\PJLlang@babeloptions}{,italian}}
-\DeclareVoidOption{PT}{\@PJLlang@enable@allfalse\@PJLlang@enable@PTtrue\providecommand{\PJLlang@mainlang}{PT}\gpreto{\PJLlang@babeloptions}{,portuguese}}
-\DeclareVoidOption{portuguese}{\@PJLlang@enable@allfalse\@PJLlang@enable@PTtrue\providecommand{\PJLlang@mainlang}{PT}\gpreto{\PJLlang@babeloptions}{,portuguese}}
-\DeclareVoidOption{Portuguese}{\@PJLlang@enable@allfalse\@PJLlang@enable@PTtrue\providecommand{\PJLlang@mainlang}{PT}\gpreto{\PJLlang@babeloptions}{,portuguese}}
-\DeclareVoidOption{BR}{\@PJLlang@enable@allfalse\@PJLlang@enable@BRtrue\providecommand{\PJLlang@mainlang}{BR}\gpreto{\PJLlang@babeloptions}{,brazilian}}
-\DeclareVoidOption{brazilian}{\@PJLlang@enable@allfalse\@PJLlang@enable@BRtrue\providecommand{\PJLlang@mainlang}{BR}\gpreto{\PJLlang@babeloptions}{,brazilian}}
-\DeclareVoidOption{Brazilian}{\@PJLlang@enable@allfalse\@PJLlang@enable@BRtrue\providecommand{\PJLlang@mainlang}{BR}\gpreto{\PJLlang@babeloptions}{,brazilian}}
-\DeclareVoidOption{ES}{\@PJLlang@enable@allfalse\@PJLlang@enable@EStrue\providecommand{\PJLlang@mainlang}{ES}\gpreto{\PJLlang@babeloptions}{,spanish}}
-\DeclareVoidOption{spanish}{\@PJLlang@enable@allfalse\@PJLlang@enable@EStrue\providecommand{\PJLlang@mainlang}{ES}\gpreto{\PJLlang@babeloptions}{,spanish}}
-\DeclareVoidOption{Spanish}{\@PJLlang@enable@allfalse\@PJLlang@enable@EStrue\providecommand{\PJLlang@mainlang}{ES}\gpreto{\PJLlang@babeloptions}{,spanish}}
-\DeclareVoidOption{CN}{\@PJLlang@enable@allfalse\@PJLlang@enable@CNtrue\providecommand{\PJLlang@mainlang}{CN}}
-\DeclareVoidOption{chinese}{\@PJLlang@enable@allfalse\@PJLlang@enable@CNtrue\providecommand{\PJLlang@mainlang}{CN}}
-\DeclareVoidOption{Chinese}{\@PJLlang@enable@allfalse\@PJLlang@enable@CNtrue\providecommand{\PJLlang@mainlang}{CN}}
-\DeclareVoidOption{schinese}{\@PJLlang@enable@allfalse\@PJLlang@enable@CNtrue\providecommand{\PJLlang@mainlang}{CN}}
-\DeclareVoidOption{SChinese}{\@PJLlang@enable@allfalse\@PJLlang@enable@CNtrue\providecommand{\PJLlang@mainlang}{CN}}
-\DeclareVoidOption{simplifiedchinese}{\@PJLlang@enable@allfalse\@PJLlang@enable@CNtrue\providecommand{\PJLlang@mainlang}{CN}}
-\DeclareVoidOption{SimplifiedChinese}{\@PJLlang@enable@allfalse\@PJLlang@enable@CNtrue\providecommand{\PJLlang@mainlang}{CN}}
-\DeclareVoidOption{TC}{\@PJLlang@enable@allfalse\@PJLlang@enable@TCtrue\providecommand{\PJLlang@mainlang}{TC}}
-\DeclareVoidOption{tchinese}{\@PJLlang@enable@allfalse\@PJLlang@enable@TCtrue\providecommand{\PJLlang@mainlang}{TC}}
-\DeclareVoidOption{TChinese}{\@PJLlang@enable@allfalse\@PJLlang@enable@TCtrue\providecommand{\PJLlang@mainlang}{TC}}
-\DeclareVoidOption{traditionalchinese}{\@PJLlang@enable@allfalse\@PJLlang@enable@TCtrue\providecommand{\PJLlang@mainlang}{TC}}
-\DeclareVoidOption{TraditionalChinese}{\@PJLlang@enable@allfalse\@PJLlang@enable@TCtrue\providecommand{\PJLlang@mainlang}{TC}}
-\DeclareVoidOption{JP}{\@PJLlang@enable@allfalse\@PJLlang@enable@JPtrue\providecommand{\PJLlang@mainlang}{JP}\gpreto{\PJLlang@babeloptions}{,japanese}}
-\DeclareVoidOption{japanese}{\@PJLlang@enable@allfalse\@PJLlang@enable@JPtrue\providecommand{\PJLlang@mainlang}{JP}\gpreto{\PJLlang@babeloptions}{,japanese}}
-\DeclareVoidOption{Japanese}{\@PJLlang@enable@allfalse\@PJLlang@enable@JPtrue\providecommand{\PJLlang@mainlang}{JP}\gpreto{\PJLlang@babeloptions}{,japanese}}
-\DeclareVoidOption{RU}{\@PJLlang@enable@allfalse\@PJLlang@enable@RUtrue\providecommand{\PJLlang@mainlang}{RU}\gpreto{\PJLlang@babeloptions}{,russian}}
-\DeclareVoidOption{russian}{\@PJLlang@enable@allfalse\@PJLlang@enable@RUtrue\providecommand{\PJLlang@mainlang}{RU}\gpreto{\PJLlang@babeloptions}{,russian}}
-\DeclareVoidOption{Russian}{\@PJLlang@enable@allfalse\@PJLlang@enable@RUtrue\providecommand{\PJLlang@mainlang}{RU}\gpreto{\PJLlang@babeloptions}{,russian}}
-%# 处理选项
-%# Process options
-\ProcessKeyvalOptions*\relax
-
-%# 从全局参数中去除 chinese 和 Chinese
-%# Remove chinese and Chinese from global options
-\ExplSyntaxOn
-\cs_new_protected:cpn { @clearglobaloption } #1
- {
- \clist_remove_all:cn { @classoptionslist } { #1 }
- }
-\ExplSyntaxOff
-
-\@clearglobaloption{chinese}
-\@clearglobaloption{Chinese}
-
-%# 默认语言:英语
-%# Default main language: English
-\providecommand{\PJLlang@mainlang}{EN}
-
-%# 启用全部支持的语言
-%# Enable all supported language
-\if@PJLlang@enable@all
- \@PJLlang@enable@ENtrue
- \@PJLlang@enable@FRtrue
- \@PJLlang@enable@DEtrue
- \@PJLlang@enable@ITtrue
- \@PJLlang@enable@PTtrue
- \@PJLlang@enable@BRtrue
- \@PJLlang@enable@EStrue
- \@PJLlang@enable@CNtrue
- \@PJLlang@enable@TCtrue
- \@PJLlang@enable@JPtrue
- \@PJLlang@enable@RUtrue
-\fi
-
-%# 语言名称的缩写
-%# Abbreviation of language name
-\newcommand\englishABBR{EN}
-\newcommand\frenchABBR{FR}
-\newcommand\ngermanABBR{DE}
-\newcommand\italianABBR{IT}
-\newcommand\portugueseABBR{PT}
-\newcommand\brazilianABBR{BR}
-\newcommand\spanishABBR{ES}
-\newcommand\schineseABBR{CN}
-\newcommand\tchineseABBR{TC}
-\newcommand\japaneseABBR{JP}
-\newcommand\russianABBR{RU}
-
-%# 将字符串转换为相应的缩写
-%# Convert a string to the corresponding abbreviation
-\ExplSyntaxOn
-% See https://tex.stackexchange.com/a/610146
-\NewExpandableDocumentCommand{\StrToABBR}{m}
- {
- \str_case_e:nn { \str_foldcase:n { #1 } }
- {
- {cn} {CN}
- {chinese} {CN}
- {schinese} {CN}
- {simplifiedchinese} {CN}
- {tc} {TC}
- {tchinese} {TC}
- {traditionalchinese} {TC}
- {jp} {JP}
- {japanese} {JP}
- {en} {EN}
- {english} {EN}
- {fr} {FR}
- {french} {FR}
- {de} {DE}
- {ngerman} {DE}
- {it} {IT}
- {italian} {IT}
- {pt} {PT}
- {portuguese} {PT}
- {br} {BR}
- {brazilian} {BR}
- {es} {ES}
- {spanish} {ES}
- {german} {DE}
- {ru} {RU}
- {russian} {RU}
- }
- }
-
-\NewExpandableDocumentCommand{\StrToTYPE}{m}
- {
- \str_case_e:nn { \str_foldcase:n { #1 } }
- {
- {cn} {CJK}
- {chinese} {CJK}
- {schinese} {CJK}
- {simplifiedchinese} {CJK}
- {tc} {CJK}
- {tchinese} {CJK}
- {traditionalchinese} {CJK}
- {jp} {CJK}
- {japanese} {CJK}
- {en} {Latin}
- {english} {Latin}
- {fr} {Latin}
- {french} {Latin}
- {de} {Latin}
- {ngerman} {Latin}
- {it} {Latin}
- {italian} {Latin}
- {pt} {Latin}
- {portuguese} {Latin}
- {br} {Latin}
- {brazilian} {Latin}
- {es} {Latin}
- {spanish} {Latin}
- {german} {Latin}
- {ru} {Latin}
- {russian} {Latin}
- }
- }
-\ExplSyntaxOff
-
-%# 在 pdfLaTeX 编译时载入编码设置
-%# Load the encoding settings when pdfLaTeX is used
-\RequirePackage{iftex}
-\ifPDFTeX
-\RequirePackage[T1]{fontenc}
-\RequirePackage{inputenc}
-\fi
-
-\if@PJLlang@polyglossia
-%# polyglossia 对应的设置
-%# Configure with `polyglossia`
- \RequirePackage{polyglossia}
- \setdefaultlanguage{english}
- \setotherlanguage[frenchpart=false]{french}
- \setotherlanguage{ngerman}
- \setotherlanguage{spanish}
- \setotherlanguage{portuguese}
- \setotherlanguage[variant=brazilian]{portuguese}
- \setotherlanguage{italian}
- \ifPDFTeX\else
- \setotherlanguage{russian}
- \setotherlanguage{japanese}
- \RequirePackage{silence}
- \WarningFilter{polyglossia}{Asking to add empty feature to latin font(Script="CJK" to scripttag "")}
- \fi
-\else
-%# babel 对应的设置
-%# Configure with `babel`
- \if@PJLlang@enable@all
- \ifPDFTeX\else
- \PassOptionsToPackage{japanese,russian}{babel}
- \fi
- \PassOptionsToPackage{italian,portuguese,brazilian,spanish,es-notilde,es-noquoting,ngerman,french,english,shorthands=off}{babel}
- \else
- \PassOptionsToPackage{\PJLlang@babeloptions}{babel}
- \fi
- \PassOptionsToPackage{italian,brazilian,spanish,ngerman,french,english}{cleveref}
- \RequirePackage{babel}
- \if@PJLlang@enable@FR
- \frenchsetup{PartNameFull=false}
- \fi
- \if@PJLlang@enable@PT
- \let\PJL@babelord\ord
- \let\ord\relax
- \AtBeginDocument{
- \@ifundefined{ord}{}
- {
- \let\PJL@userord\ord
- \let\ord\relax
- \newcommand{\ord}{%
- \ifmmode\expandafter\PJL@userord\else\expandafter\PJL@babelord\fi%
- }
- }
- }
- \fi
-
- \babelprovide{schinese}
- \babelprovide{tchinese}
-\fi
-
-%# 本地化 \today
-%# Localize \today
-\let\today@PJLoriginal\today
-\newcommand{\PJLlang@langconfig@common}{%
- \ifdefined\DTMtoday%
- \let\today\DTMtoday%
- \else%
- \let\today\today@PJLoriginal%
- \fi%
-}
-
-%# 各个语言的设置
-%# The configuration for each language
-\newcommand{\PJLlang@langconfig@CN}{%
- \def\abstractname{摘要}%
- \def\proofname{证明}%
- \def\contentsname{目录}%
- \def\listfigurename{插图}%
- \def\listtablename{表格}%
- \def\figurename{图}%
- \def\tablename{表}%
- \def\indexname{索引}%
- \def\appendixname{附录}%
- \def\refname{参考文献}%
- \def\bibname{参考文献}%
- \let\today\zhtoday%
- \renewcommand{\languagename}{schinese}%
-}
-\newcommand{\PJLlang@langconfig@TC}{%
- \def\abstractname{摘要}%
- \def\proofname{證明}%
- \def\contentsname{目錄}%
- \def\listfigurename{插圖}%
- \def\listtablename{表格}%
- \def\figurename{圖}%
- \def\tablename{表}%
- \def\indexname{索引}%
- \def\appendixname{附錄}%
- \def\refname{參考文獻}%
- \def\bibname{參考文獻}%
- \let\today\zhtoday%
- \renewcommand{\languagename}{tchinese}%
-}
-\newcommand{\PJLlang@langconfig@JP}{%
- \selectlanguage{japanese}%
-}
-\newcommand{\PJLlang@langconfig@EN}{%
- \selectlanguage{english}%
-}
-\newcommand{\PJLlang@langconfig@FR}{%
- \selectlanguage{french}%
-% The line below is currently only needed for 'babel', but also works with 'polyglossia'
- \def\frenchpartname{Partie}%
-}
-\newcommand{\PJLlang@langconfig@DE}{%
- \selectlanguage{ngerman}%
-}
-\newcommand{\PJLlang@langconfig@IT}{%
- \selectlanguage{italian}%
-}
-\newcommand{\PJLlang@langconfig@PT}{%
- \selectlanguage{portuguese}%
-}
-\newcommand{\PJLlang@langconfig@BR}{%
- \selectlanguage{brazilian}%
-}
-\newcommand{\PJLlang@langconfig@ES}{%
- \selectlanguage{spanish}%
-}
-\newcommand{\PJLlang@langconfig@RU}{%
- \selectlanguage{russian}%
-}
-
-%# 用于增加语言设置的用户指令 AddLanguageSetting
-%# User command for adding language settings
-\NewDocumentCommand\AddLanguageSetting{d()m}{%
-\IfNoValueTF{#1}%
- {\gappto{\PJLlang@langconfig@common}{#2}}%
- {\expandafter\gappto\expandafter{\csname PJLlang@langconfig@\StrToABBR{#1}\endcsname}{#2}}%
-}
-
-\RequirePackage{setspace}
-%# 行距的设置
-%# Line spacing configuration
-\def\PJL@config@linespacing{\setstretch{1.00}}
-\def\PJL@config@CJKlinespacing{\onehalfspacing}
-\newcommand{\PJLsetlinespacing}[1]{\renewcommand{\PJL@config@linespacing}{#1}}
-\newcommand{\PJLsetCJKlinespacing}[1]{\renewcommand{\PJL@config@CJKlinespacing}{#1}}
-%# 缩进的设置
-%# Parindent configuration
-\@ifclassloaded{beamer}{
- \def\PJL@config@parindent{\ltx@ifpackageloaded{parskip}{}{\setlength{\parindent}{0em}}}
- \def\PJL@config@CJKparindent{\ltx@ifpackageloaded{parskip}{}{\setlength{\parindent}{0em}}}
-}{
- \def\PJL@config@parindent{\ltx@ifpackageloaded{parskip}{}{\setlength{\parindent}{1.5em}}}
- \def\PJL@config@CJKparindent{\ltx@ifpackageloaded{parskip}{}{\setlength{\parindent}{2em}}}
-}
-\newcommand{\PJLsetparindent}[1]{\renewcommand{\PJL@config@parindent}{\ltx@ifpackageloaded{parskip}{}{\setlength{\parindent}{#1}}}}
-\newcommand{\PJLsetCJKparindent}[1]{\renewcommand{\PJL@config@CJKparindent}{\ltx@ifpackageloaded{parskip}{}{\setlength{\parindent}{#1}}}}
-%# 合并设置
-%# All-in-all configuration
-\def\PJL@config@CJK{\PJL@config@CJKlinespacing\PJL@config@CJKparindent}
-\def\PJL@config@Latin{\PJL@config@linespacing\PJL@config@parindent}
-%
-%# UseLanguage 的核心部分,只能在正文中使用
-%# The core part of UseLanguage, can be used only in the main text, not preamble
-\NewDocumentCommand{\UseLanguageCORE}{m}{%
- \PJLlang@langconfig@common%
- \csname PJL@config@\StrToTYPE{#1}\endcsname%
- \csname PJLlang@langconfig@\StrToABBR{#1}\endcsname%
-}
-%# 用于选定语言的 UseLanguage
-%# Macro for selecting language
-\NewDocumentCommand{\UseLanguage}{m}{%
- \ifx\@onlypreamble\@notprerr%
- \UseLanguageCORE{#1}%
- \else%
- \AfterEndPreamble{\UseLanguageCORE{#1}}%
- \fi%
-}
-%# 用于局部选定语言的 UseOtherLanguage
-%# Macro for selecting language locally
-\NewDocumentCommand{\UseOtherLanguage}{mm}{%
-\begingroup\begingroup%
- \PJLlang@langconfig@common%
- \csname PJLlang@langconfig@\StrToABBR{#1}\endcsname%
- #2%
-\endgroup\endgroup%
-}
-
-%# 运行默认语言的设置
-%# Execute the configuration of the main language
-\expandafter\UseLanguage\expandafter{\PJLlang@mainlang}
-%</PJLlang>
-%
-%<*PJLlogo>
-%# 这段代码定义了宏包中的选项。
-%# This code defines the options in the package.
-\SetupKeyvalOptions{
- family = @PJLlogo,
- prefix = @PJLlogo@,
-}
-%# 草稿模式或快速模式
-%# Draft mode or fast mode
-\DeclareBoolOption[false]{draft}
-\DeclareBoolOption[false]{fast}
-%# 处理选项
-%# Process options
-\ProcessKeyvalOptions*\relax
-%# 下面的代码设定了选项之间的关系
-%# The following code sets the relationship between options
-\if@PJLlogo@draft
- \@PJLlogo@fasttrue
-\fi
-%# 快速模式下直接输出字符串 ProjLib
-%# Directly output the string ``ProjLib'' in fast mode
-\if@PJLlogo@fast\def\ProjLib{{\normalfont ProjLib}}\endinput\fi
-
-%# 以下选取字体并定义 Logo
-%# Below select the font and define the logo
-\RequirePackage{xcolor}
-\RequirePackage{graphicx}
-\ifdefined\fontspec
- \newfontface{\PJLlogo@font}{LinBiolinum_R.otf}
-\else
- \RequirePackage[T1]{fontenc}
- \newcommand{\PJLlogo@font}{\fontfamily{LinuxBiolinumT-TLF}\selectfont}
-\fi
-
-\newcommand{\PJLSigmaJ}{%
- \vbox{\offinterlineskip
- \ialign{%
- \hfil##\hfil\cr
- \hidewidth\hskip0.15ex\scalebox{0.4}{\rotatebox{-10}{\usefont{U}{zeur}{b}{n}\symbol{"06}}}\hidewidth\cr
- \noalign{\kern0.15ex}
- \j\cr
- }%
- }%
-}
-
-\newcommand{\ProjLib@generic}[1]{%
- \begingroup
- \normalfont\PJLlogo@font
- \textcolor{blue!60!cyan}{P}%
- \textcolor{blue!45!cyan}{r}%
- \textcolor{blue!30!cyan}{o}%
- \textcolor{green!70!black}{#1}%
- \textcolor{red!20!yellow}{L}%
- \textcolor{red!40!yellow}{i}%
- \textcolor{red!60!yellow}{b}%
- \endgroup
-}
-\DeclareRobustCommand*{\ProjLib}{\ProjLib@generic{\PJLSigmaJ}}
-\DeclareRobustCommand*{\ProjLibText}{\ProjLib@generic{j}}
-%</PJLlogo>
-%
-%<*PJLmath>
-%# 载入常用数学宏包
-%# Load commonly used math packages
-\RequirePackage{mathtools}
-\RequirePackage{mathrsfs}
-\@ifpackageloaded{unicode-math}{}{\RequirePackage{amssymb}}
-
-%%================================
-%% Shorthands
-%%================================
-%# 常见代数结构的捷径
-%# Shortcuts for commonly used algebraic structures
-\providecommand{\N}{\ensuremath{\mathbb{N}}}
-\providecommand{\Z}{\ensuremath{\mathbb{Z}}}
-\providecommand{\Q}{\ensuremath{\mathbb{Q}}}
-\providecommand{\R}{\ensuremath{\mathbb{R}}}
-\providecommand{\C}{\ensuremath{\mathbb{C}}}
-\providecommand{\F}{\ensuremath{\mathbb{F}}}
-\providecommand{\A}{\ensuremath{\mathbb{A}}}
-
-%# mathbb 的捷径
-%# Shortcuts for blackboard bold face
-\providecommand{\bb}[1]{\ensuremath{\mathbb{#1}}}
-\providecommand{\bbA}{\ensuremath{\mathbb{A}}}
-\providecommand{\bbB}{\ensuremath{\mathbb{B}}}
-\providecommand{\bbC}{\ensuremath{\mathbb{C}}}
-\providecommand{\bbD}{\ensuremath{\mathbb{D}}}
-\providecommand{\bbE}{\ensuremath{\mathbb{E}}}
-\providecommand{\bbF}{\ensuremath{\mathbb{F}}}
-\providecommand{\bbG}{\ensuremath{\mathbb{G}}}
-\providecommand{\bbH}{\ensuremath{\mathbb{H}}}
-\providecommand{\bbI}{\ensuremath{\mathbb{I}}}
-\providecommand{\bbJ}{\ensuremath{\mathbb{J}}}
-\providecommand{\bbK}{\ensuremath{\mathbb{K}}}
-\providecommand{\bbL}{\ensuremath{\mathbb{L}}}
-\providecommand{\bbM}{\ensuremath{\mathbb{M}}}
-\providecommand{\bbN}{\ensuremath{\mathbb{N}}}
-\providecommand{\bbO}{\ensuremath{\mathbb{O}}}
-\providecommand{\bbP}{\ensuremath{\mathbb{P}}}
-\providecommand{\bbQ}{\ensuremath{\mathbb{Q}}}
-\providecommand{\bbR}{\ensuremath{\mathbb{R}}}
-\providecommand{\bbS}{\ensuremath{\mathbb{S}}}
-\providecommand{\bbT}{\ensuremath{\mathbb{T}}}
-\providecommand{\bbU}{\ensuremath{\mathbb{U}}}
-\providecommand{\bbV}{\ensuremath{\mathbb{V}}}
-\providecommand{\bbW}{\ensuremath{\mathbb{W}}}
-\providecommand{\bbX}{\ensuremath{\mathbb{X}}}
-\providecommand{\bbY}{\ensuremath{\mathbb{Y}}}
-\providecommand{\bbZ}{\ensuremath{\mathbb{Z}}}
-
-%# mathcal 的捷径
-%# Shortcuts for calligraphic shape
-\providecommand{\mc}[1]{\ensuremath{\mathcal{#1}}}
-\providecommand{\mcA}{\ensuremath{\mathcal{A}}}
-\providecommand{\mcB}{\ensuremath{\mathcal{B}}}
-\providecommand{\mcC}{\ensuremath{\mathcal{C}}}
-\providecommand{\mcD}{\ensuremath{\mathcal{D}}}
-\providecommand{\mcE}{\ensuremath{\mathcal{E}}}
-\providecommand{\mcF}{\ensuremath{\mathcal{F}}}
-\providecommand{\mcG}{\ensuremath{\mathcal{G}}}
-\providecommand{\mcH}{\ensuremath{\mathcal{H}}}
-\providecommand{\mcI}{\ensuremath{\mathcal{I}}}
-\providecommand{\mcJ}{\ensuremath{\mathcal{J}}}
-\providecommand{\mcK}{\ensuremath{\mathcal{K}}}
-\providecommand{\mcL}{\ensuremath{\mathcal{L}}}
-\providecommand{\mcM}{\ensuremath{\mathcal{M}}}
-\providecommand{\mcN}{\ensuremath{\mathcal{N}}}
-\providecommand{\mcO}{\ensuremath{\mathcal{O}}}
-\providecommand{\mcP}{\ensuremath{\mathcal{P}}}
-\providecommand{\mcQ}{\ensuremath{\mathcal{Q}}}
-\providecommand{\mcR}{\ensuremath{\mathcal{R}}}
-\providecommand{\mcS}{\ensuremath{\mathcal{S}}}
-\providecommand{\mcT}{\ensuremath{\mathcal{T}}}
-\providecommand{\mcU}{\ensuremath{\mathcal{U}}}
-\providecommand{\mcV}{\ensuremath{\mathcal{V}}}
-\providecommand{\mcW}{\ensuremath{\mathcal{W}}}
-\providecommand{\mcX}{\ensuremath{\mathcal{X}}}
-\providecommand{\mcY}{\ensuremath{\mathcal{Y}}}
-\providecommand{\mcZ}{\ensuremath{\mathcal{Z}}}
-
-\providecommand{\cal}[1]{\ensuremath{\mathcal{#1}}}
-\providecommand{\calA}{\ensuremath{\mathcal{A}}}
-\providecommand{\calB}{\ensuremath{\mathcal{B}}}
-\providecommand{\calC}{\ensuremath{\mathcal{C}}}
-\providecommand{\calD}{\ensuremath{\mathcal{D}}}
-\providecommand{\calE}{\ensuremath{\mathcal{E}}}
-\providecommand{\calF}{\ensuremath{\mathcal{F}}}
-\providecommand{\calG}{\ensuremath{\mathcal{G}}}
-\providecommand{\calH}{\ensuremath{\mathcal{H}}}
-\providecommand{\calI}{\ensuremath{\mathcal{I}}}
-\providecommand{\calJ}{\ensuremath{\mathcal{J}}}
-\providecommand{\calK}{\ensuremath{\mathcal{K}}}
-\providecommand{\calL}{\ensuremath{\mathcal{L}}}
-\providecommand{\calM}{\ensuremath{\mathcal{M}}}
-\providecommand{\calN}{\ensuremath{\mathcal{N}}}
-\providecommand{\calO}{\ensuremath{\mathcal{O}}}
-\providecommand{\calP}{\ensuremath{\mathcal{P}}}
-\providecommand{\calQ}{\ensuremath{\mathcal{Q}}}
-\providecommand{\calR}{\ensuremath{\mathcal{R}}}
-\providecommand{\calS}{\ensuremath{\mathcal{S}}}
-\providecommand{\calT}{\ensuremath{\mathcal{T}}}
-\providecommand{\calU}{\ensuremath{\mathcal{U}}}
-\providecommand{\calV}{\ensuremath{\mathcal{V}}}
-\providecommand{\calW}{\ensuremath{\mathcal{W}}}
-\providecommand{\calX}{\ensuremath{\mathcal{X}}}
-\providecommand{\calY}{\ensuremath{\mathcal{Y}}}
-\providecommand{\calZ}{\ensuremath{\mathcal{Z}}}
-
-%# mathfrak 的捷径
-%# Shortcuts for Fraktur shape
-\providecommand{\mf}[1]{\ensuremath{\mathfrak{#1}}}
-\providecommand{\mfa}{\ensuremath{\mathfrak{a}}}
-\providecommand{\mfb}{\ensuremath{\mathfrak{b}}}
-\providecommand{\mfc}{\ensuremath{\mathfrak{c}}}
-\providecommand{\mfd}{\ensuremath{\mathfrak{d}}}
-\providecommand{\mfe}{\ensuremath{\mathfrak{e}}}
-\providecommand{\mff}{\ensuremath{\mathfrak{f}}}
-\providecommand{\mfg}{\ensuremath{\mathfrak{g}}}
-\providecommand{\mfh}{\ensuremath{\mathfrak{h}}}
-\providecommand{\mfi}{\ensuremath{\mathfrak{i}}}
-\providecommand{\mfj}{\ensuremath{\mathfrak{j}}}
-\providecommand{\mfk}{\ensuremath{\mathfrak{k}}}
-\providecommand{\mfl}{\ensuremath{\mathfrak{l}}}
-\providecommand{\mfm}{\ensuremath{\mathfrak{m}}}
-\providecommand{\mfn}{\ensuremath{\mathfrak{n}}}
-\providecommand{\mfo}{\ensuremath{\mathfrak{o}}}
-\providecommand{\mfp}{\ensuremath{\mathfrak{p}}}
-\providecommand{\mfq}{\ensuremath{\mathfrak{q}}}
-\providecommand{\mfr}{\ensuremath{\mathfrak{r}}}
-\providecommand{\mfs}{\ensuremath{\mathfrak{s}}}
-\providecommand{\mft}{\ensuremath{\mathfrak{t}}}
-\providecommand{\mfu}{\ensuremath{\mathfrak{u}}}
-\providecommand{\mfv}{\ensuremath{\mathfrak{v}}}
-\providecommand{\mfw}{\ensuremath{\mathfrak{w}}}
-\providecommand{\mfx}{\ensuremath{\mathfrak{x}}}
-\providecommand{\mfy}{\ensuremath{\mathfrak{y}}}
-\providecommand{\mfz}{\ensuremath{\mathfrak{z}}}
-\providecommand{\mfA}{\ensuremath{\mathfrak{A}}}
-\providecommand{\mfB}{\ensuremath{\mathfrak{B}}}
-\providecommand{\mfC}{\ensuremath{\mathfrak{C}}}
-\providecommand{\mfD}{\ensuremath{\mathfrak{D}}}
-\providecommand{\mfE}{\ensuremath{\mathfrak{E}}}
-\providecommand{\mfF}{\ensuremath{\mathfrak{F}}}
-\providecommand{\mfG}{\ensuremath{\mathfrak{G}}}
-\providecommand{\mfH}{\ensuremath{\mathfrak{H}}}
-\providecommand{\mfI}{\ensuremath{\mathfrak{I}}}
-\providecommand{\mfJ}{\ensuremath{\mathfrak{J}}}
-\providecommand{\mfK}{\ensuremath{\mathfrak{K}}}
-\providecommand{\mfL}{\ensuremath{\mathfrak{L}}}
-\providecommand{\mfM}{\ensuremath{\mathfrak{M}}}
-\providecommand{\mfN}{\ensuremath{\mathfrak{N}}}
-\providecommand{\mfO}{\ensuremath{\mathfrak{O}}}
-\providecommand{\mfP}{\ensuremath{\mathfrak{P}}}
-\providecommand{\mfQ}{\ensuremath{\mathfrak{Q}}}
-\providecommand{\mfR}{\ensuremath{\mathfrak{R}}}
-\providecommand{\mfS}{\ensuremath{\mathfrak{S}}}
-\providecommand{\mfT}{\ensuremath{\mathfrak{T}}}
-\providecommand{\mfU}{\ensuremath{\mathfrak{U}}}
-\providecommand{\mfV}{\ensuremath{\mathfrak{V}}}
-\providecommand{\mfW}{\ensuremath{\mathfrak{W}}}
-\providecommand{\mfX}{\ensuremath{\mathfrak{X}}}
-\providecommand{\mfY}{\ensuremath{\mathfrak{Y}}}
-\providecommand{\mfZ}{\ensuremath{\mathfrak{Z}}}
-
-\providecommand{\frak}[1]{\ensuremath{\mathfrak{#1}}}
-\providecommand{\fraka}{\ensuremath{\mathfrak{a}}}
-\providecommand{\frakb}{\ensuremath{\mathfrak{b}}}
-\providecommand{\frakc}{\ensuremath{\mathfrak{c}}}
-\providecommand{\frakd}{\ensuremath{\mathfrak{d}}}
-\providecommand{\frake}{\ensuremath{\mathfrak{e}}}
-\providecommand{\frakf}{\ensuremath{\mathfrak{f}}}
-\providecommand{\frakg}{\ensuremath{\mathfrak{g}}}
-\providecommand{\frakh}{\ensuremath{\mathfrak{h}}}
-\providecommand{\fraki}{\ensuremath{\mathfrak{i}}}
-\providecommand{\frakj}{\ensuremath{\mathfrak{j}}}
-\providecommand{\frakk}{\ensuremath{\mathfrak{k}}}
-\providecommand{\frakl}{\ensuremath{\mathfrak{l}}}
-\providecommand{\frakm}{\ensuremath{\mathfrak{m}}}
-\providecommand{\frakn}{\ensuremath{\mathfrak{n}}}
-\providecommand{\frako}{\ensuremath{\mathfrak{o}}}
-\providecommand{\frakp}{\ensuremath{\mathfrak{p}}}
-\providecommand{\frakq}{\ensuremath{\mathfrak{q}}}
-\providecommand{\frakr}{\ensuremath{\mathfrak{r}}}
-\providecommand{\fraks}{\ensuremath{\mathfrak{s}}}
-\providecommand{\frakt}{\ensuremath{\mathfrak{t}}}
-\providecommand{\fraku}{\ensuremath{\mathfrak{u}}}
-\providecommand{\frakv}{\ensuremath{\mathfrak{v}}}
-\providecommand{\frakw}{\ensuremath{\mathfrak{w}}}
-\providecommand{\frakx}{\ensuremath{\mathfrak{x}}}
-\providecommand{\fraky}{\ensuremath{\mathfrak{y}}}
-\providecommand{\frakz}{\ensuremath{\mathfrak{z}}}
-\providecommand{\frakA}{\ensuremath{\mathfrak{A}}}
-\providecommand{\frakB}{\ensuremath{\mathfrak{B}}}
-\providecommand{\frakC}{\ensuremath{\mathfrak{C}}}
-\providecommand{\frakD}{\ensuremath{\mathfrak{D}}}
-\providecommand{\frakE}{\ensuremath{\mathfrak{E}}}
-\providecommand{\frakF}{\ensuremath{\mathfrak{F}}}
-\providecommand{\frakG}{\ensuremath{\mathfrak{G}}}
-\providecommand{\frakH}{\ensuremath{\mathfrak{H}}}
-\providecommand{\frakI}{\ensuremath{\mathfrak{I}}}
-\providecommand{\frakJ}{\ensuremath{\mathfrak{J}}}
-\providecommand{\frakK}{\ensuremath{\mathfrak{K}}}
-\providecommand{\frakL}{\ensuremath{\mathfrak{L}}}
-\providecommand{\frakM}{\ensuremath{\mathfrak{M}}}
-\providecommand{\frakN}{\ensuremath{\mathfrak{N}}}
-\providecommand{\frakO}{\ensuremath{\mathfrak{O}}}
-\providecommand{\frakP}{\ensuremath{\mathfrak{P}}}
-\providecommand{\frakQ}{\ensuremath{\mathfrak{Q}}}
-\providecommand{\frakR}{\ensuremath{\mathfrak{R}}}
-\providecommand{\frakS}{\ensuremath{\mathfrak{S}}}
-\providecommand{\frakT}{\ensuremath{\mathfrak{T}}}
-\providecommand{\frakU}{\ensuremath{\mathfrak{U}}}
-\providecommand{\frakV}{\ensuremath{\mathfrak{V}}}
-\providecommand{\frakW}{\ensuremath{\mathfrak{W}}}
-\providecommand{\frakX}{\ensuremath{\mathfrak{X}}}
-\providecommand{\frakY}{\ensuremath{\mathfrak{Y}}}
-\providecommand{\frakZ}{\ensuremath{\mathfrak{Z}}}
-
-%# mathscr 的捷径
-%# Shortcuts for script shape
-\providecommand{\ms}[1]{\ensuremath{\mathscr{#1}}}
-\providecommand{\msA}{\ensuremath{\mathscr{A}}}
-\providecommand{\msB}{\ensuremath{\mathscr{B}}}
-\providecommand{\msC}{\ensuremath{\mathscr{C}}}
-\providecommand{\msD}{\ensuremath{\mathscr{D}}}
-\providecommand{\msE}{\ensuremath{\mathscr{E}}}
-\providecommand{\msF}{\ensuremath{\mathscr{F}}}
-\providecommand{\msG}{\ensuremath{\mathscr{G}}}
-\providecommand{\msH}{\ensuremath{\mathscr{H}}}
-\providecommand{\msI}{\ensuremath{\mathscr{I}}}
-\providecommand{\msJ}{\ensuremath{\mathscr{J}}}
-\providecommand{\msK}{\ensuremath{\mathscr{K}}}
-\providecommand{\msL}{\ensuremath{\mathscr{L}}}
-\providecommand{\msM}{\ensuremath{\mathscr{M}}}
-\providecommand{\msN}{\ensuremath{\mathscr{N}}}
-\providecommand{\msO}{\ensuremath{\mathscr{O}}}
-\providecommand{\msP}{\ensuremath{\mathscr{P}}}
-\providecommand{\msQ}{\ensuremath{\mathscr{Q}}}
-\providecommand{\msR}{\ensuremath{\mathscr{R}}}
-\providecommand{\msS}{\ensuremath{\mathscr{S}}}
-\providecommand{\msT}{\ensuremath{\mathscr{T}}}
-\providecommand{\msU}{\ensuremath{\mathscr{U}}}
-\providecommand{\msV}{\ensuremath{\mathscr{V}}}
-\providecommand{\msW}{\ensuremath{\mathscr{W}}}
-\providecommand{\msX}{\ensuremath{\mathscr{X}}}
-\providecommand{\msY}{\ensuremath{\mathscr{Y}}}
-\providecommand{\msZ}{\ensuremath{\mathscr{Z}}}
-
-\providecommand{\scr}[1]{\ensuremath{\mathscr{#1}}}
-\providecommand{\scrA}{\ensuremath{\mathscr{A}}}
-\providecommand{\scrB}{\ensuremath{\mathscr{B}}}
-\providecommand{\scrC}{\ensuremath{\mathscr{C}}}
-\providecommand{\scrD}{\ensuremath{\mathscr{D}}}
-\providecommand{\scrE}{\ensuremath{\mathscr{E}}}
-\providecommand{\scrF}{\ensuremath{\mathscr{F}}}
-\providecommand{\scrG}{\ensuremath{\mathscr{G}}}
-\providecommand{\scrH}{\ensuremath{\mathscr{H}}}
-\providecommand{\scrI}{\ensuremath{\mathscr{I}}}
-\providecommand{\scrJ}{\ensuremath{\mathscr{J}}}
-\providecommand{\scrK}{\ensuremath{\mathscr{K}}}
-\providecommand{\scrL}{\ensuremath{\mathscr{L}}}
-\providecommand{\scrM}{\ensuremath{\mathscr{M}}}
-\providecommand{\scrN}{\ensuremath{\mathscr{N}}}
-\providecommand{\scrO}{\ensuremath{\mathscr{O}}}
-\providecommand{\scrP}{\ensuremath{\mathscr{P}}}
-\providecommand{\scrQ}{\ensuremath{\mathscr{Q}}}
-\providecommand{\scrR}{\ensuremath{\mathscr{R}}}
-\providecommand{\scrS}{\ensuremath{\mathscr{S}}}
-\providecommand{\scrT}{\ensuremath{\mathscr{T}}}
-\providecommand{\scrU}{\ensuremath{\mathscr{U}}}
-\providecommand{\scrV}{\ensuremath{\mathscr{V}}}
-\providecommand{\scrW}{\ensuremath{\mathscr{W}}}
-\providecommand{\scrX}{\ensuremath{\mathscr{X}}}
-\providecommand{\scrY}{\ensuremath{\mathscr{Y}}}
-\providecommand{\scrZ}{\ensuremath{\mathscr{Z}}}
-
-%%================================
-%% General symbols
-%%================================
-\providecommand{\abs}[1]{\lvert#1\rvert}
-\providecommand{\norm}[1]{\lVert#1\rVert}
-
-\providecommand*{\injection}{\ensuremath{\hookrightarrow}}
-\providecommand*{\surjection}{\ensuremath{\twoheadrightarrow}}
-\providecommand*{\bijection}{\ensuremath{\xrightarrow{\sim}}}
-
-%%================================
-%% Symbols for number theory
-%%================================
-\ifdefined\@@pmod\else
-\let\@@pmod\pmod
-\DeclareRobustCommand{\pmod}{\@ifstar\@pmods\@@pmod}
-\def\@pmods#1{\mkern4mu({\operator@font mod}\mkern 6mu#1)}
-\fi
-
-\providecommand{\genlegendre}[4]{%
- \genfrac{(}{)}{}{#1}{#3}{#4}%
- \if\relax\detokenize{#2}\relax\else_{\!#2}\fi%
-}
-\providecommand{\legendre}[3][]{\genlegendre{}{#1}{#2}{#3}}
-\providecommand{\dlegendre}[3][]{\genlegendre{0}{#1}{#2}{#3}}
-\providecommand{\tlegendre}[3][]{\genlegendre{1}{#1}{#2}{#3}}
-%</PJLmath>
-%
-%<*PJLpaper>
-\RequirePackage{ifthen}
-
-%# 这段代码定义了宏包中的选项。
-%# This code defines the options in the package.
-\SetupKeyvalOptions{%
- family = @PJLpaper,
- prefix = @PJLpaper@,
- setkeys=\kvsetkeys
-}
-
-\DeclareStringOption[normal]{paperstyle}
-%# 几种纸张颜色的选项
-%# Several options of different paper color style
-\DeclareVoidOption{yellowpaper}{\kvsetkeys{@PJLpaper}{paperstyle=yellow}}
-\DeclareVoidOption{darkpaper}{\kvsetkeys{@PJLpaper}{paperstyle=dark}}
-\DeclareVoidOption{nordpaper}{\kvsetkeys{@PJLpaper}{paperstyle=nord}}
-%# 预览模式:减去边框
-%# Preview mode: crop the edge
-\DeclareBoolOption[false]{preview}
-%# 处理选项
-%# Process options
-\ProcessKeyvalOptions*\relax
-
-%%================================
-%% Preview mode
-%%================================
-\ifdefined\PJLnoPreview\else%
- \if@PJLpaper@preview%
- \RequirePackage{calc}
- \AtEndPreamble{%
- \setlength{\paperwidth}{\textwidth*\real{1.05}}%
- \setlength{\paperheight}{%
- (\textheight+\headheight+\headsep+\footskip)*\real{1.05}}%
- \setlength{\oddsidemargin}{(\paperwidth-\textwidth)/2-1in}%
- \setlength{\evensidemargin}{(\paperwidth-\textwidth)/2-1in}%
- \setlength{\topmargin}{(\paperheight-\textheight-\headheight-\headsep-\footskip)/2- 1in}%
- }
- \fi
-\fi
-
-%%================================
-%% Paper color
-%%================================
-\RequirePackage{xcolor}
-\definecolor{paper}{RGB}{255,255,255}
-\definecolor{maintext}{RGB}{0,0,0}
-
-\ifthenelse{\equal{\@PJLpaper@paperstyle}{yellow}}
-{
- \definecolor{paper}{RGB}{247,246,233}
-}
-{\relax}
-
-\ifthenelse{\equal{\@PJLpaper@paperstyle}{dark}}
-{
- \definecolor{paper}{RGB}{30,30,30}
- \definecolor{maintext}{RGB}{207,207,207}
-}
-{\relax}
-
-\ifthenelse{\equal{\@PJLpaper@paperstyle}{nord}}
-{
- \definecolor{paper}{RGB}{46,52,64}
- \definecolor{maintext}{RGB}{214,220,230}
-}
-{\relax}
-
-\newcommand{\PJLglobalcolor}[1]{%
- \color{#1}\global\let\default@color\current@color
-}
-
-%# 设置纸张颜色、文字颜色
-%# Set the paper and text color
-\pagecolor{paper}
-\PJLglobalcolor{maintext}
-\AtEndPreamble{
-\ifdefined\tcbset%
- \tcbset{colupper=maintext,collower=maintext}
-\fi
-}
-%</PJLpaper>
-%
-%<*PJLthm>
-%# 这段代码定义了宏包中的选项。
-%# This code defines the options in the package.
-\SetupKeyvalOptions{%
- family = @PJLthm,
- prefix = @PJLthm@
-}
-%# 不建立定理类环境
-%# Do not setup theorem-like environments
-\DeclareBoolOption[false]{nothms}
-%# 推迟建立定理类环境
-%# Delay the setup of theorem-like environments to the end of the preamble
-\DeclareBoolOption[false]{delaythms}
-%# 不编号定理类环境
-%# Do not number theorem-like environments
-\DeclareBoolOption[false]{nothmnum}
-%# 指定如何编号定理类环境
-%# Number theorem-like environments With ...
-\DeclareStringOption{thmnum}[PJL@thmnum@default]
-%# 草稿模式或快速模式
-%# Draft mode or fast mode
-\DeclareBoolOption[false]{draft}
-\DeclareBoolOption[false]{fast}
-%# 引用的名称将随当前语言的不同而改变
-%# Reference name will change with the current language
-\DeclareBoolOption[true]{regionalref}
-\DeclareBoolOption[false]{originalref}
-%# 名称采用详尽设置或简易设置
-%# Detailed or simple settings for the name of theorem-like environments
-\DeclareBoolOption[true]{complexname}
-\DeclareBoolOption[false]{simplename}
-%# 处理选项
-%# Process options
-\ProcessKeyvalOptions*\relax
-%# 下面的代码设定了选项之间的关系
-%# The following code sets the relationship between options
-\if@PJLthm@originalref
- \@PJLthm@regionalreffalse
-\fi
-\if@PJLthm@simplename
- \@PJLthm@complexnamefalse
-\fi
-\if@PJLthm@draft
- \@PJLthm@fasttrue
-\fi
-\if@PJLthm@fast
- \@PJLthm@regionalreftrue
-\fi
-
-\@ifclassloaded{beamer}{%
- \RequirePackage{silence}
- \WarningFilter{cleveref}{hyperref package loaded with implicit=false option}
- \@PJLthm@nothmnumtrue%
- \if@PJLthm@nothms\else%
- \let\theorem\relax
- \let\lemma\relax
- \let\corollary\relax
- \let\definition\relax
- \let\fact\relax
- \let\example\relax
- \let\problem\relax
- \fi
-}{}
-
-\RequirePackage{PJLlang}
-\RequirePackage{amsmath,amsthm}
-\RequirePackage{aliascnt}
-\PassOptionsToPackage{nameinlink}{cleveref}
-\RequirePackage{crefthe}
-
-%# 用于命名定理类环境的用户命令
-%# Macro for naming theorems
-\RequirePackage{xparse}
-\RequirePackage{xstring}
-\NewDocumentCommand{\NameTheorem}{omm}{%
- \protected@edef\PJLthm@temp{#2}%
- \expandafter\IfEndWith\expandafter{\PJLthm@temp}{*}{%
- \expandafter\StrGobbleRight\expandafter{\PJLthm@temp}{1}[\PJLthm@temp]%
- }{}%
- \IfSubStr{\detokenize{#3}}{=}{% key-value mode
- \IfValueTF{#1}{%
- \CreateTheoremSetKeys{\PJLthm@temp}{#1={#3}}%
- }{%
- \CreateTheoremSetKeys{\PJLthm@temp}{#3}%
- }%
- }{% simple mode
- \IfValueTF{#1}{%
- \expandafter\def\csname\PJLthm@temp name\StrToABBR{#1}\endcsname{#3}%
- }{%
- \expandafter\def\csname\PJLthm@temp nameEN\endcsname{#3}%
- \expandafter\def\csname\PJLthm@temp nameFR\endcsname{#3}%
- \expandafter\def\csname\PJLthm@temp nameDE\endcsname{#3}%
- \expandafter\def\csname\PJLthm@temp nameIT\endcsname{#3}%
- \expandafter\def\csname\PJLthm@temp namePT\endcsname{#3}%
- \expandafter\def\csname\PJLthm@temp nameBR\endcsname{#3}%
- \expandafter\def\csname\PJLthm@temp nameES\endcsname{#3}%
- \expandafter\def\csname\PJLthm@temp nameCN\endcsname{#3}%
- \expandafter\def\csname\PJLthm@temp nameTC\endcsname{#3}%
- \expandafter\def\csname\PJLthm@temp nameJP\endcsname{#3}%
- \expandafter\def\csname\PJLthm@temp nameRU\endcsname{#3}%
- }%
- }%
-}
-
-%# 用于创建定理类环境的用户命令
-%# Macro for creating theorems
-\newcommand\PassFirstToSecond[2]{#2{#1}}%
-\NewDocumentCommand{\CreateTheorem}{sm}{%
- \begingroup
- \protected@edef\PJLthm@temp{#2}%
- \expandafter\IfEndWith\expandafter{\PJLthm@temp}{*}{%
- \expandafter\StrGobbleRight\expandafter{\PJLthm@temp}{1}[\PJLthm@temp]%
- \PassFirstToSecond{*}%
- }{%
- \PassFirstToSecond{}%
- }%
- {\expandafter\PassFirstToSecond%
- \expandafter{\PJLthm@temp}{\endgroup\InnerCreateTheorem{#1}}}%
-}%
-\if@PJLthm@regionalref
-\NewDocumentCommand{\InnerCreateTheorem}{mmmod<>d()g}{%
-% #1 = star or no star
-% #2 = name of environment
-% #3 = emptiness or star to append to name of environment
-% #4 = numbered like
-% #5 = numbered within
-% #6 = existed environment
-% #7 = key-value configuration of names
- \IfBooleanTF{#1}{%
- \IfValueTF{#4}
- {\@firstoftwo}
- {\IfValueTF{#5}{\@firstoftwo}{\@secondoftwo}}%
- }{%
- \IfValueTF{#4}
- {\IfValueTF{#5}{\@firstoftwo}{\@secondoftwo}}{
- \@secondoftwo}
- }%
- {%
- \GenericError{}%
- {\string\CreateTheorem\space syntax error\on@line}{%
- You cannot call the starred variant with optional argument,\MessageBreak
- nor call the unstarred variant with several optional arguments.}%
- {}%
- }{%
- \IfValueTF{#6}{%
- \IfBooleanTF{#1}{%
- \ifcsmacro{#2#3}%
- {\renewenvironment{#2#3}{\begin{#6*}}{\end{#6*}}}%
- {\newenvironment{#2#3}{\begin{#6*}}{\end{#6*}}}%
- }{%
- \ifcsmacro{#2#3}%
- {\renewenvironment{#2#3}{\begin{#6}}{\end{#6}}}%
- {\newenvironment{#2#3}{\begin{#6}}{\end{#6}}}%
- }
- }{%
- \IfBooleanTF{#1}{%
- \newtheorem*{#2#3}{\csname#2name\csname\languagename ABBR\endcsname\endcsname}
- }{%
- \IfValueTF{#5}{%
- \newtheorem{PJL#2#3}{\csname#2name\csname\languagename ABBR\endcsname\endcsname}[#5]%
- \newaliascnt{#2#3}{PJL#2#3}%
- }{%
- \IfValueTF{#4}{%
- \newtheorem{PJL#2#3}[#4]{\csname#2name\csname\languagename ABBR\endcsname\endcsname}%
- }{%
- \newtheorem{PJL#2#3}{\csname#2name\csname\languagename ABBR\endcsname\endcsname}%
- \newaliascnt{#2#3}{PJL#2#3}%
- }%
- }%
- \ifcsname cref@PJL#2#3@name\endcsname\else%
- \crefname{PJL#2#3}%
- {\csname#2name\csname\languagename ABBR\endcsname\endcsname}%
- {\csname#2name\csname\languagename ABBR\endcsname\endcsname}%
- \fi%
- \ifcsname Cref@PJL#2#3@name\endcsname\else%
- \Crefname{PJL#2#3}%
- {\csname#2name\csname\languagename ABBR\endcsname\endcsname}%
- {\csname#2name\csname\languagename ABBR\endcsname\endcsname}%
- \fi%
- \NewDocumentEnvironment{#2#3}{}
- {\begin{PJL#2#3}}
- {\end{PJL#2#3}}
- }%
- }%
- }%
- \IfValueTF{#7}{%
- \NameTheorem{#2}{#7}%
- }{}%
-}%
-\else
-\NewDocumentCommand{\InnerCreateTheorem}{mmmod<>d()g}{%
-% #1 = Tokens denoting an xparse-boolean value;
-% value "true" -> the call was \CreateTheorem*{...}...
-% value "false" -> the call was \CreateTheorem{...}...
-% This indicates whether the "starred" variant or the
-% "unstarred" variant of \CreateTheorem was called.
-% #2 = Name of environment to define. One trailing
-% star is removed from the environment-name provided
-% to \CreateTheorem if that environment-name has
-% trailing stars.
-% #3 = If the environment-name provided to \CreateTheorem has
-% trailing stars: A star (*).
-% If the environment-name provided to \CreateTheorem has
-% no trailing stars: Empty/no tokens at all.
-% #4 = numbered like=name of counter like which the environment
-% shall be numbered.
-% #5 = numbered within=name of counter which is superordinate
-% to the environment's counter and whose stepping resets
-% the environment's counter.
-% #6 = existed environment name (the environment to copy)
-% #7 = key-value configuration of names
- \IfBooleanTF{#1}{%
- \IfValueTF{#4}
- {\@firstoftwo}
- {\IfValueTF{#5}{\@firstoftwo}{\@secondoftwo}}%
- }{%
- \IfValueTF{#4}
- {\IfValueTF{#5}{\@firstoftwo}{\@secondoftwo}}{
- \@secondoftwo}
- }%
- {%
- \GenericError{}%
- {\string\CreateTheorem\space syntax error\on@line}{%
- You cannot call the starred variant with optional argument,\MessageBreak
- nor call the unstarred variant with several optional arguments.}%
- {%
- Allowed usage:\MessageBreak\MessageBreak
- \CreateTheorem*{(name of environment)}\MessageBreak
- \CreateTheorem{(name of environment)}\MessageBreak
- \CreateTheorem{(name of environment)}[(numbered like)]\MessageBreak
- \CreateTheorem{(name of environment)}<(numbered within)>\MessageBreak
- \CreateTheorem{(name of environment)}((existed environment))\MessageBreak
- }%
- }{%
- \IfValueTF{#6}{%
- \IfBooleanTF{#1}{%
- \ifcsmacro{#2#3}%
- {\renewenvironment{#2#3}{\begin{#6*}}{\end{#6*}}}%
- {\newenvironment{#2#3}{\begin{#6*}}{\end{#6*}}}%
- }{%
- \ifcsmacro{#2#3}%
- {\renewenvironment{#2#3}{\begin{#6}}{\end{#6}}}%
- {\newenvironment{#2#3}{\begin{#6}}{\end{#6}}}%
- }
- }{%
- \IfBooleanTF{#1}{%
-% \newtheorem*{#2EN#3}{\csname#2nameEN\endcsname}%
-% \newtheorem*{#2FR#3}{\csname#2nameFR\endcsname}%
-% \newtheorem*{#2DE#3}{\csname#2nameDE\endcsname}%
-% \newtheorem*{#2IT#3}{\csname#2nameIT\endcsname}%
-% \newtheorem*{#2PT#3}{\csname#2namePT\endcsname}%
-% \newtheorem*{#2BR#3}{\csname#2nameBR\endcsname}%
-% \newtheorem*{#2ES#3}{\csname#2nameES\endcsname}%
-% \newtheorem*{#2CN#3}{\csname#2nameCN\endcsname}%
-% \newtheorem*{#2TC#3}{\csname#2nameTC\endcsname}%
-% \newtheorem*{#2JP#3}{\csname#2nameJP\endcsname}%
-% \newtheorem*{#2RU#3}{\csname#2nameRU\endcsname}%
- \if@PJLlang@enable@EN\expandafter\PassFirstToSecond\expandafter{\csname#2nameEN\endcsname}{\newtheorem*{#2EN#3}}\fi%
- \if@PJLlang@enable@FR\expandafter\PassFirstToSecond\expandafter{\csname#2nameFR\endcsname}{\newtheorem*{#2FR#3}}\fi%
- \if@PJLlang@enable@DE\expandafter\PassFirstToSecond\expandafter{\csname#2nameDE\endcsname}{\newtheorem*{#2DE#3}}\fi%
- \if@PJLlang@enable@IT\expandafter\PassFirstToSecond\expandafter{\csname#2nameIT\endcsname}{\newtheorem*{#2IT#3}}\fi%
- \if@PJLlang@enable@PT\expandafter\PassFirstToSecond\expandafter{\csname#2namePT\endcsname}{\newtheorem*{#2PT#3}}\fi%
- \if@PJLlang@enable@BR\expandafter\PassFirstToSecond\expandafter{\csname#2nameBR\endcsname}{\newtheorem*{#2BR#3}}\fi%
- \if@PJLlang@enable@ES\expandafter\PassFirstToSecond\expandafter{\csname#2nameES\endcsname}{\newtheorem*{#2ES#3}}\fi%
- \if@PJLlang@enable@CN\expandafter\PassFirstToSecond\expandafter{\csname#2nameCN\endcsname}{\newtheorem*{#2CN#3}}\fi%
- \if@PJLlang@enable@TC\expandafter\PassFirstToSecond\expandafter{\csname#2nameTC\endcsname}{\newtheorem*{#2TC#3}}\fi%
- \if@PJLlang@enable@JP\expandafter\PassFirstToSecond\expandafter{\csname#2nameJP\endcsname}{\newtheorem*{#2JP#3}}\fi%
- \if@PJLlang@enable@RU\expandafter\PassFirstToSecond\expandafter{\csname#2nameRU\endcsname}{\newtheorem*{#2RU#3}}\fi%
- }{%
- \IfValueTF{#5}{%
- \newcounter{#2#3}[{#5}]%
- \expandafter\renewcommand\expandafter*%
- \csname the#2#3\expandafter\endcsname%
- \expandafter{\csname the#5\endcsname.\arabic{#2#3}}%
- }{%
- \IfValueTF{#4}
- {\newaliascnt{#2#3}{#4}}
- {\newcounter{#2#3}}%
- }%
- %---------------------------------------------------------------
- \if@PJLlang@enable@EN\CreateTheoremNumberedLikeAliasCounter{#2}{EN}{#3}\fi%
- \if@PJLlang@enable@FR\CreateTheoremNumberedLikeAliasCounter{#2}{FR}{#3}\fi%
- \if@PJLlang@enable@DE\CreateTheoremNumberedLikeAliasCounter{#2}{DE}{#3}\fi%
- \if@PJLlang@enable@IT\CreateTheoremNumberedLikeAliasCounter{#2}{IT}{#3}\fi%
- \if@PJLlang@enable@PT\CreateTheoremNumberedLikeAliasCounter{#2}{PT}{#3}\fi%
- \if@PJLlang@enable@BR\CreateTheoremNumberedLikeAliasCounter{#2}{BR}{#3}\fi%
- \if@PJLlang@enable@ES\CreateTheoremNumberedLikeAliasCounter{#2}{ES}{#3}\fi%
- \if@PJLlang@enable@CN\CreateTheoremNumberedLikeAliasCounter{#2}{CN}{#3}\fi%
- \if@PJLlang@enable@TC\CreateTheoremNumberedLikeAliasCounter{#2}{TC}{#3}\fi%
- \if@PJLlang@enable@JP\CreateTheoremNumberedLikeAliasCounter{#2}{JP}{#3}\fi%
- \if@PJLlang@enable@RU\CreateTheoremNumberedLikeAliasCounter{#2}{RU}{#3}\fi%
- %---------------------------------------------------------------
- }%
- \NewDocumentEnvironment{#2#3}{}
- {\csname#2\csname\languagename ABBR\endcsname#3\endcsname}%
- {\csname end#2\csname\languagename ABBR\endcsname#3\endcsname}%
- }%
- }%
- \IfValueTF{#7}{%
- \NameTheorem{#2}{#7}%
- }{}%
-}%
-\NewDocumentCommand{\CreateTheoremNumberedLikeAliasCounter}{mmm}{%
- \newaliascnt{#1#2#3}{#1#3}%
-% \newtheorem{#1#2#3}[{#1#2#3}]{\csname#1name#2\endcsname}%
- \expandafter\PassFirstToSecond\expandafter{\csname#1name#2\endcsname}{\newtheorem{#1#2#3}[{#1#2#3}]}%
- \aliascntresetthe{#1#2#3}%
-% \crefname{#1#2#3}%
-% {\csname#1name#2\endcsname}%
-% {\csname#1name#2\endcsname}%
-% \Crefname{#1#2#3}%
-% {\csname#1name#2\endcsname}%
-% {\csname#1name#2\endcsname}%
- \ifcsname cref@#1#2#3@name\endcsname\else%
- \expandafter\PassFirstToSecond\expandafter{\csname#1name#2\endcsname}%
- {%
- \expandafter\PassFirstToSecond\expandafter{\csname#1name#2\endcsname}%
- {\crefname{#1#2#3}}%
- }%
- \fi%
- \ifcsname Cref@#1#2#3@name\endcsname\else%
- \expandafter\PassFirstToSecond\expandafter{\csname#1name#2\endcsname}%
- {%
- \expandafter\PassFirstToSecond\expandafter{\csname#1name#2\endcsname}%
- {\Crefname{#1#2#3}}%
- }%
- \fi%
-}%
-\fi
-
-% See https://tex.stackexchange.com/a/610604
-\ExplSyntaxOn
-
-% Helper-macros/scratch-macros
-%-----------------------------
-\cs_new:Nn \PJLthm_exchange_i_iii_ii:nnn { #1 {#3} {#2} }
-\cs_new:Nn \__PJLthm_languageprefix: {}
-\cs_new:Nn \__PJLthm_countername: {}
-
-% Message-management:
-%--------------------
-\msg_new:nnnn {PJLthm}
- {Undefined Language Dependent Specification Class}
- {\token_to_str:N \CreateTheorem :\ Value\ `\tl_to_str:n{#2}'\ for\ invalid\ key\ `#1'.}
- {Providing\ Language-dependent\ specifications\ for\ element\ `#1'\ is\ currently\ not\ implemented.}
-
-% Nested key=value-interface by means of package l3keys:
-%-------------------------------------------------------
-% (l3keys is similar to pgfkeys.)
-% The outer level of key=value-specifications, i.e., <language-ID>={...},
-% is processed via \keyval_parse:nnn which was added tpo expl3 in 2020/12/19.
-% The inner level of key=value-specifications,
-% i.e., the single keys whose values are to be specified dependant on the language,
-% i.e., the "..."-content of the outer lever's {...},
-% is processed via \keys_set:nn .
-% The keys for the inner level are defined via \keys_define:nn .
-
-\NewDocumentCommand \CreateTheoremSetKeys { mm } {
-% #1 = name of counter
-% #2 = keyval-list of language-specifications
- \cs_set:Nn \__PJLthm_countername: {#1}
- \keyval_parse:nnn { \PJLthm_exchange_i_iii_ii:nnn { \PJLthm_setlanguagespecificparameters:nn } {} }
- { \PJLthm_setlanguagespecificparameters:nn }
- { #2 }
-}
-
-\cs_new_protected:Nn \PJLthm_setlanguagespecificparameters:nn {
-% #1 = language-prefix
-% #2 = key-val-list for language whose prefix is language-prefix
- \cs_set:Nx \__PJLthm_languageprefix: {\StrToABBR{#1}}
- \exp_args:No \tl_if_empty:nTF {\__PJLthm_languageprefix:}
- { \msg_error:nn { PJLthm }
- { No~language~"\exp_not:n{#1}"~defined }
- }%
- {%
- \keys_set:nn { PJLthm } { #2 }
- }%
-}%
-
-\keys_define:nn { PJLthm } {
- crefname.code:n = \cs_if_exist:NTF \crefname {
- \ifbool{@PJLthm@regionalref}{
- \exp_args:Nx \PJLthm@setcrefinnername{PJL\__PJLthm_countername: \__PJLthm_languageprefix: }#1
- \exp_args:Nx \PJLthm@setcrefname{PJL\__PJLthm_countername: }
- }{
- \exp_args:Nx \crefname {\__PJLthm_countername: \__PJLthm_languageprefix: }#1
- }
- }{},
- crefname.value_required:n = true,
- Crefname.code:n = \cs_if_exist:NTF \Crefname {
- \ifbool{@PJLthm@regionalref}{
- \exp_args:Nx \PJLthm@setCrefinnername{PJL\__PJLthm_countername: \__PJLthm_languageprefix: }#1
- \exp_args:Nx \PJLthm@setCrefname{PJL\__PJLthm_countername: }
- }{
- \exp_args:Nx \Crefname {\__PJLthm_countername: \__PJLthm_languageprefix: }#1
- }
- }{},
- Crefname.value_required:n = true,
- name.code:n = \exp_args:Nx \cs_set:cpn {\__PJLthm_countername: name \__PJLthm_languageprefix:} {#1},
- name.value_required:n = true,
- autorefname.code:n = \exp_args:Nx \cs_set:cpn {\__PJLthm_countername: \__PJLthm_languageprefix: autorefname} {#1},
- autorefname.value_required:n = true,
- theoremheading.code:n= \exp_args:Nx \cs_set:cpn {\__PJLthm_countername: \__PJLthm_languageprefix: heading} {#1},
- theoremheading.value_required:n = true,
- the.code:n= \exp_args:Nx \cs_set:cpn {the \__PJLthm_countername: \__PJLthm_languageprefix: } {#1},
- the.value_required:n = true,
- %
- % Define keys for more Language Dependent Specification Classes.
- %
- unknown.code:n = \msg_error:nnxx {PJLthm}
- {Undefined Language Dependent Specification Class}
- {\exp_args:No \exp_not:n \l_keys_key_str}
- {\exp_not:n{#1}},
-}
-
-\ExplSyntaxOff
-
-% Some command for regionalref mode
-\newcommand{\PJLthm@setcrefinnername}[3]{%
- \expandafter\def\csname PJLthm@cref@#1@name\endcsname{#2}%
- \expandafter\def\csname PJLthm@cref@#1@name@plural\endcsname{#3}%
-}
-\newcommand{\PJLthm@setCrefinnername}[3]{%
- \expandafter\def\csname PJLthm@Cref@#1@name\endcsname{#2}%
- \expandafter\def\csname PJLthm@Cref@#1@name@plural\endcsname{#3}%
-}
-
-\newcommand{\PJLthm@setcrefname}[1]{%
- \crefname{#1}%
- {\csname PJLthm@cref@#1\csname\languagename ABBR\endcsname @name\endcsname}%
- {\csname PJLthm@cref@#1\csname\languagename ABBR\endcsname @name@plural\endcsname}%
-}
-\newcommand{\PJLthm@setCrefname}[1]{%
- \Crefname{#1}%
- {\csname PJLthm@Cref@#1\csname\languagename ABBR\endcsname @name\endcsname}%
- {\csname PJLthm@Cref@#1\csname\languagename ABBR\endcsname @name@plural\endcsname}%
-}
-
-%# 设置定理类环境名称
-%# Set the names of theorem-like environments
-\ifbool{@PJLthm@complexname}{
- \NameTheorem{theorem}{
- EN = {
- name = {Theorem},
- crefname = {theorem}{theorems},
- Crefname = {Theorem}{Theorems},
- },
- FR = {
- name = {Théorème},
- crefname = {\crefthemark{le} théorème}{\crefthemark{les} théorèmes},
- Crefname = {Le théorème}{Les théorèmes},
- },
- DE = {
- name = {Satz},
- crefname = {Satz}{Sätze},
- Crefname = {Satz}{Sätze},
- },
- IT = {
- name = {Teorema},
- crefname = {\crefthemark{il} teorema}{\crefthemark{i} teoremi},
- Crefname = {Il teorema}{I teoremi},
- },
- PT = {
- name = {Teorema},
- crefname = {\crefthemark{o} teorema}{\crefthemark{os} teoremas},
- Crefname = {O teorema}{Os teoremas},
- },
- BR = {
- name = {Teorema},
- crefname = {\crefthemark{o} teorema}{\crefthemark{os} teoremas},
- Crefname = {O teorema}{Os teoremas},
- },
- ES = {
- name = {Teorema},
- crefname = {\crefthemark{el} teorema}{los teoremas},
- Crefname = {El teorema}{Los teoremas},
- },
- CN = {
- name = {定理},
- crefname = {定理}{定理},
- Crefname = {定理}{定理},
- },
- TC = {
- name = {定理},
- crefname = {定理}{定理},
- Crefname = {定理}{定理},
- },
- JP = {
- name = {定理},
- crefname = {定理}{定理},
- Crefname = {定理}{定理},
- },
- RU = {
- name = {Теорема},
- crefname = {теорема}{теоремы},
- Crefname = {Теорема}{Теоремы},
- },
- }
- \NameTheorem{lemma}{
- EN = {
- name = {Lemma},
- crefname = {lemma}{Lemmas},
- Crefname = {Lemma}{Lemmas},
- },
- FR = {
- name = {Lemme},
- crefname = {\crefthemark{le} lemme}{\crefthemark{les} lemmes},
- Crefname = {Le lemme}{Les lemmes},
- },
- DE = {
- name = {Lemma},
- crefname = {Lemma}{Lemmata},
- Crefname = {Lemma}{Lemmata},
- },
- IT = {
- name = {Lemma},
- crefname = {\crefthemark{il} lemma}{\crefthemark{i} lemmi},
- Crefname = {Il lemma}{I lemmi},
- },
- PT = {
- name = {Lema},
- crefname = {\crefthemark{o} lema}{\crefthemark{os} lemas},
- Crefname = {O lema}{Os lemas},
- },
- BR = {
- name = {Lema},
- crefname = {\crefthemark{o} lema}{\crefthemark{os} lemas},
- Crefname = {O lema}{Os lemas},
- },
- ES = {
- name = {Lema},
- crefname = {\crefthemark{el} lema}{las lemas},
- Crefname = {El lema}{Las lemas},
- },
- CN = {
- name = {引理},
- crefname = {引理}{引理},
- Crefname = {引理}{引理},
- },
- TC = {
- name = {引理},
- crefname = {引理}{引理},
- Crefname = {引理}{引理},
- },
- JP = {
- name = {補題},
- crefname = {補題}{補題},
- Crefname = {補題}{補題},
- },
- RU = {
- name = {Лемма},
- crefname = {лемма}{леммы},
- Crefname = {Лемма}{Леммы},
- },
- }
- \NameTheorem{proposition}{
- EN = {
- name = {Proposition},
- crefname = {proposition}{propositions},
- Crefname = {Proposition}{Propositions},
- },
- FR = {
- name = {Proposition},
- crefname = {\crefthemark{la} proposition}{\crefthemark{les} propositions},
- Crefname = {La proposition}{Les propositions},
- },
- DE = {
- name = {Proposition},
- crefname = {Proposition}{Propositionen},
- Crefname = {Proposition}{Propositionen},
- },
- IT = {
- name = {Proposizione},
- crefname = {\crefthemark{la} proposizione}{\crefthemark{le} proposte},
- Crefname = {La proposizione}{Le proposte},
- },
- PT = {
- name = {Proposição},
- crefname = {\crefthemark{a} proposição}{\crefthemark{as} proposições},
- Crefname = {A proposição}{As proposições},
- },
- BR = {
- name = {Proposição},
- crefname = {\crefthemark{a} proposição}{\crefthemark{as} proposições},
- Crefname = {A proposição}{As proposições},
- },
- ES = {
- name = {Proposición},
- crefname = {la proposición}{las proposiciones},
- Crefname = {La proposición}{Las proposiciones},
- },
- CN = {
- name = {命题},
- crefname = {命题}{命题},
- Crefname = {命题}{命题},
- },
- TC = {
- name = {命題},
- crefname = {命題}{命題},
- Crefname = {命題}{命題},
- },
- JP = {
- name = {命題},
- crefname = {命題}{命題},
- Crefname = {命題}{命題},
- },
- RU = {
- name = {Предложение},
- crefname = {предложение}{предложения},
- Crefname = {Предложение}{Предложения},
- },
- }
- \NameTheorem{corollary}{
- EN = {
- name = {Corollary},
- crefname = {corollary}{corollaries},
- Crefname = {Corollary}{Corollaries},
- },
- FR = {
- name = {Corollaire},
- crefname = {\crefthemark{le} corollaire}{\crefthemark{les} corollaires},
- Crefname = {Le corollaire}{Les corollaires},
- },
- DE = {
- name = {Korollar},
- crefname = {Korollar}{Korollare},
- Crefname = {Korollar}{Korollare},
- },
- IT = {
- name = {Corollario},
- crefname = {\crefthemark{il} corollario}{\crefthemark{i} corollari},
- Crefname = {Il corollario}{I corollari},
- },
- PT = {
- name = {Corolário},
- crefname = {\crefthemark{o} corolário}{\crefthemark{os} corolários},
- Crefname = {O corolário}{Os corolários},
- },
- BR = {
- name = {Corolário},
- crefname = {\crefthemark{o} corolário}{\crefthemark{os} corolários},
- Crefname = {O corolário}{Os corolários},
- },
- ES = {
- name = {Corolario},
- crefname = {\crefthemark{el} corolario}{los corolarios},
- Crefname = {El corolario}{Los corolarios},
- },
- CN = {
- name = {推论},
- crefname = {推论}{推论},
- Crefname = {推论}{推论},
- },
- TC = {
- name = {推論},
- crefname = {推論}{推論},
- Crefname = {推論}{推論},
- },
- JP = {
- name = {系},
- crefname = {系}{系},
- Crefname = {系}{系},
- },
- RU = {
- name = {Следствие},
- crefname = {следствие}{следствия},
- Crefname = {Следствие}{Следствия},
- },
- }
- \NameTheorem{property}{
- EN = {
- name = {Property},
- crefname = {property}{properties},
- Crefname = {Property}{Properties},
- },
- FR = {
- name = {Propriété},
- crefname = {\crefthemark{la} propriété}{\crefthemark{les} propriétés},
- Crefname = {La propriété}{Les propriétés},
- },
- DE = {
- name = {Eigenschaft},
- crefname = {Eigenschaft}{Eigenschaften},
- Crefname = {Eigenschaft}{Eigenschaften},
- },
- IT = {
- name = {Proprietà},
- crefname = {\crefthemark{la} proprietà}{\crefthemark{le} proprietà},
- Crefname = {La proprietà}{Le proprietà},
- },
- PT = {
- name = {Propriedade},
- crefname = {\crefthemark{a} propriedade}{\crefthemark{as} propriedades},
- Crefname = {A propriedade}{As propriedades},
- },
- BR = {
- name = {Propriedade},
- crefname = {\crefthemark{a} propriedade}{\crefthemark{as} propriedades},
- Crefname = {A propriedade}{As propriedades},
- },
- ES = {
- name = {Propiedad},
- crefname = {la propiedad}{las propiedades},
- Crefname = {La propiedad}{Las propiedades},
- },
- CN = {
- name = {性质},
- crefname = {性质}{性质},
- Crefname = {性质}{性质},
- },
- TC = {
- name = {性質},
- crefname = {性質}{性質},
- Crefname = {性質}{性質},
- },
- JP = {
- name = {性質},
- crefname = {性質}{性質},
- Crefname = {性質}{性質},
- },
- RU = {
- name = {Имущество},
- crefname = {имущество}{имущества},
- Crefname = {Имущество}{Имущества},
- },
- }
- \NameTheorem{fact}{
- EN = {
- name = {Fact},
- crefname = {fact}{facts},
- Crefname = {Fact}{Facts},
- },
- FR = {
- name = {Fait},
- crefname = {\crefthemark{le} fait}{\crefthemark{les} faits},
- Crefname = {Le fait}{Les faits},
- },
- DE = {
- name = {Fakt},
- crefname = {Fakt}{Fakten},
- Crefname = {Fakt}{Fakten},
- },
- IT = {
- name = {Fatto},
- crefname = {\crefthemark{il} fatto}{\crefthemark{i} fatti},
- Crefname = {Il fatto}{I fatti},
- },
- PT = {
- name = {Facto},
- crefname = {\crefthemark{o} facto}{\crefthemark{os} factos},
- Crefname = {O facto}{Os factos},
- },
- BR = {
- name = {Fato},
- crefname = {\crefthemark{o} fato}{\crefthemark{os} fatos},
- Crefname = {O fato}{Os fatos},
- },
- ES = {
- name = {Hecho},
- crefname = {\crefthemark{el} hecho}{los hechos},
- Crefname = {El hecho}{Los hechos},
- },
- CN = {
- name = {事实},
- crefname = {事实}{事实},
- Crefname = {事实}{事实},
- },
- TC = {
- name = {事實},
- crefname = {事實}{事實},
- Crefname = {事實}{事實},
- },
- JP = {
- name = {事実},
- crefname = {事実}{事実},
- Crefname = {事実}{事実},
- },
- RU = {
- name = {Факт},
- crefname = {факт}{факты},
- Crefname = {Факт}{Факты},
- },
- }
- \NameTheorem{conjecture}{
- EN = {
- name = {Conjecture},
- crefname = {conjecture}{conjectures},
- Crefname = {Conjecture}{Conjectures},
- },
- FR = {
- name = {Conjecture},
- crefname = {\crefthemark{la} conjecture}{\crefthemark{les} conjectures},
- Crefname = {La conjecture}{Les conjectures},
- },
- DE = {
- name = {Vermutung},
- crefname = {Vermutung}{Vermutungen},
- Crefname = {Vermutung}{Vermutungen},
- },
- IT = {
- name = {Congettura},
- crefname = {\crefthemark{la} congettura}{\crefthemark{le} congetture},
- Crefname = {La congettura}{Le congetture},
- },
- PT = {
- name = {Conjetura},
- crefname = {\crefthemark{a} conjetura}{\crefthemark{as} conjeturas},
- Crefname = {A conjetura}{As conjeturas},
- },
- BR = {
- name = {Conjectura},
- crefname = {\crefthemark{a} conjectura}{\crefthemark{as} conjecturas},
- Crefname = {A conjectura}{As conjecturas},
- },
- ES = {
- name = {Conjetura},
- crefname = {la conjetura}{las conjeturas},
- Crefname = {La conjetura}{Las conjeturas},
- },
- CN = {
- name = {猜想},
- crefname = {猜想}{猜想},
- Crefname = {猜想}{猜想},
- },
- TC = {
- name = {猜想},
- crefname = {猜想}{猜想},
- Crefname = {猜想}{猜想},
- },
- JP = {
- name = {予想},
- crefname = {予想}{予想},
- Crefname = {予想}{予想},
- },
- RU = {
- name = {Гипотеза},
- crefname = {гипотеза}{гипотезы},
- Crefname = {Гипотеза}{Гипотезы},
- },
- }
- \NameTheorem{definition}{
- EN = {
- name = {Definition},
- crefname = {definition}{definitions},
- Crefname = {Definition}{Definitions},
- },
- FR = {
- name = {Définition},
- crefname = {\crefthemark{la} définition}{\crefthemark{les} définitions},
- Crefname = {La définition}{Les définitions},
- },
- DE = {
- name = {Definition},
- crefname = {Definition}{Definitionen},
- Crefname = {Definition}{Definitionen},
- },
- IT = {
- name = {Definizione},
- crefname = {\crefthemark{la} definizione}{\crefthemark{le} definizioni},
- Crefname = {La definizione}{Le definizioni},
- },
- PT = {
- name = {Definição},
- crefname = {\crefthemark{a} definição}{\crefthemark{as} definições},
- Crefname = {A definição}{As definições},
- },
- BR = {
- name = {Definição},
- crefname = {\crefthemark{a} definição}{\crefthemark{as} definições},
- Crefname = {A definição}{As definições},
- },
- ES = {
- name = {Definición},
- crefname = {la definición}{las definiciones},
- Crefname = {La definición}{Las definiciones},
- },
- CN = {
- name = {定义},
- crefname = {定义}{定义},
- Crefname = {定义}{定义},
- },
- TC = {
- name = {定義},
- crefname = {定義}{定義},
- Crefname = {定義}{定義},
- },
- JP = {
- name = {定義},
- crefname = {定義}{定義},
- Crefname = {定義}{定義},
- },
- RU = {
- name = {Определение},
- crefname = {определение}{определения},
- Crefname = {Определение}{Определения},
- },
- }
- \NameTheorem{axiom}{
- EN = {
- name = {Axiom},
- crefname = {axiom}{axioms},
- Crefname = {Axiom}{Axioms},
- },
- FR = {
- name = {Axiome},
- crefname = {\crefthemark{l'}axiome}{\crefthemark{les} axiomes},
- Crefname = {L'axiome}{Les axiomes},
- },
- DE = {
- name = {Axiom},
- crefname = {Axiom}{Axiome},
- Crefname = {Axiom}{Axiome},
- },
- IT = {
- name = {Assioma},
- crefname = {\crefthemark{l'}assioma}{\crefthemark{gli} assiomi},
- Crefname = {L'assioma}{Gli assiomi},
- },
- PT = {
- name = {Axioma},
- crefname = {\crefthemark{o} axioma}{\crefthemark{os} axiomas},
- Crefname = {O axioma}{Os axiomas},
- },
- BR = {
- name = {Axioma},
- crefname = {\crefthemark{o} axioma}{\crefthemark{os} axiomas},
- Crefname = {O axioma}{Os axiomas},
- },
- ES = {
- name = {Axioma},
- crefname = {\crefthemark{el} axioma}{los axiomas},
- Crefname = {El axioma}{Los axiomas},
- },
- CN = {
- name = {公理},
- crefname = {公理}{公理},
- Crefname = {公理}{公理},
- },
- TC = {
- name = {公理},
- crefname = {公理}{公理},
- Crefname = {公理}{公理},
- },
- JP = {
- name = {公理},
- crefname = {公理}{公理},
- Crefname = {公理}{公理},
- },
- RU = {
- name = {Аксиома},
- crefname = {аксиома}{аксиомы},
- Crefname = {Аксиома}{Аксиомы},
- },
- }
- \NameTheorem{assumption}{
- EN = {
- name = {Assumption},
- crefname = {assumption}{assumptions},
- Crefname = {Assumption}{Assumptions},
- },
- FR = {
- name = {Supposition},
- crefname = {\crefthemark{la} supposition}{\crefthemark{les} suppositions},
- Crefname = {La supposition}{Les suppositions},
- },
- DE = {
- name = {Annahme},
- crefname = {Annahme}{Annahmen},
- Crefname = {Annahme}{Annahmen},
- },
- IT = {
- name = {Supposizione},
- crefname = {\crefthemark{la} supposizione}{\crefthemark{le} supposizioni},
- Crefname = {La supposizione}{Le supposizioni},
- },
- PT = {
- name = {Suposição},
- crefname = {\crefthemark{a} suposição}{\crefthemark{as} suposições},
- Crefname = {A suposição}{As suposições},
- },
- BR = {
- name = {Suposição},
- crefname = {\crefthemark{a} suposição}{\crefthemark{as} suposições},
- Crefname = {A suposição}{As suposições},
- },
- ES = {
- name = {Suposición},
- crefname = {la suposición}{las suposiciones},
- Crefname = {La suposición}{Las suposiciones},
- },
- CN = {
- name = {假定},
- crefname = {假定}{假定},
- Crefname = {假定}{假定},
- },
- TC = {
- name = {假定},
- crefname = {假定}{假定},
- Crefname = {假定}{假定},
- },
- JP = {
- name = {仮定},
- crefname = {仮定}{仮定},
- Crefname = {仮定}{仮定},
- },
- RU = {
- name = {Предположение},
- crefname = {предположение}{предположения},
- Crefname = {Предположение}{Предположения},
- },
- }
- \NameTheorem{convention}{
- EN = {
- name = {Convention},
- crefname = {convention}{conventions},
- Crefname = {Convention}{Conventions},
- },
- FR = {
- name = {Convention},
- crefname = {\crefthemark{la} convention}{\crefthemark{les} conventions},
- Crefname = {La convention}{Les conventions},
- },
- DE = {
- name = {Konvention},
- crefname = {Konvention}{Konventionen},
- Crefname = {Konvention}{Konventionen},
- },
- IT = {
- name = {Convenzione},
- crefname = {\crefthemark{la} convenzione}{\crefthemark{le} convenzioni},
- Crefname = {La convenzione}{Le convenzioni},
- },
- PT = {
- name = {Convenção},
- crefname = {\crefthemark{a} convenção}{\crefthemark{as} convenções},
- Crefname = {A convenção}{As convenções},
- },
- BR = {
- name = {Convenção},
- crefname = {\crefthemark{a} convenção}{\crefthemark{as} convenções},
- Crefname = {A convenção}{As convenções},
- },
- ES = {
- name = {Convención},
- crefname = {la convención}{las convenciones},
- Crefname = {La convención}{Las convenciones},
- },
- CN = {
- name = {约定},
- crefname = {约定}{约定},
- Crefname = {约定}{约定},
- },
- TC = {
- name = {約定},
- crefname = {約定}{約定},
- Crefname = {約定}{約定},
- },
- JP = {
- name = {慣例},
- crefname = {慣例}{慣例},
- Crefname = {慣例}{慣例},
- },
- RU = {
- name = {Конвенция},
- crefname = {конвенция}{конвенции},
- Crefname = {Конвенция}{Конвенции},
- },
- }
- \NameTheorem{hypothesis}{
- EN = {
- name = {Hypothesis},
- crefname = {hypothesis}{hypotheses},
- Crefname = {Hypothesis}{Hypotheses},
- },
- FR = {
- name = {Hypothèse},
- crefname = {\crefthemark{l'}hypothèse}{\crefthemark{les} hypothèses},
- Crefname = {L'hypothèse}{Les hypothèses},
- },
- DE = {
- name = {Hypothese},
- crefname = {Hypothese}{Hypothesen},
- Crefname = {Hypothese}{Hypothesen},
- },
- IT = {
- name = {Ipotesi},
- crefname = {\crefthemark{l'}ipotesi}{\crefthemark{le} ipotesi},
- Crefname = {L'ipotesi}{Le ipotesi},
- },
- PT = {
- name = {Hipótese},
- crefname = {\crefthemark{a} hipótese}{\crefthemark{as} hipóteses},
- Crefname = {A hipótese}{As hipóteses},
- },
- BR = {
- name = {Hipótese},
- crefname = {\crefthemark{a} hipótese}{\crefthemark{as} hipóteses},
- Crefname = {A hipótese}{As hipóteses},
- },
- ES = {
- name = {Hipótesis},
- crefname = {la hipótesis}{las hipótesis},
- Crefname = {La hipótesis}{Las hipótesis},
- },
- CN = {
- name = {假设},
- crefname = {假设}{假设},
- Crefname = {假设}{假设},
- },
- TC = {
- name = {假設},
- crefname = {假設}{假設},
- Crefname = {假設}{假設},
- },
- JP = {
- name = {仮設},
- crefname = {仮設}{仮設},
- Crefname = {仮設}{仮設},
- },
- RU = {
- name = {Гипотеза},
- crefname = {гипотеза}{гипотезы},
- Crefname = {Гипотеза}{Гипотезы},
- },
- }
- \NameTheorem{notation}{
- EN = {
- name = {Notation},
- crefname = {notation}{notations},
- Crefname = {Notation}{Notations},
- },
- FR = {
- name = {Notation},
- crefname = {\crefthemark{la} notation}{\crefthemark{les} notations},
- Crefname = {La notation}{Les notations},
- },
- DE = {
- name = {Notation},
- crefname = {Notation}{Notationen},
- Crefname = {Notation}{Notationen},
- },
- IT = {
- name = {Notazione},
- crefname = {\crefthemark{la} notazione}{\crefthemark{le} notazioni},
- Crefname = {La notazione}{Le notazioni},
- },
- PT = {
- name = {Notação},
- crefname = {\crefthemark{a} notação}{\crefthemark{as} notações},
- Crefname = {A notação}{As notações},
- },
- BR = {
- name = {Notação},
- crefname = {\crefthemark{a} notação}{\crefthemark{as} notações},
- Crefname = {A notação}{As notações},
- },
- ES = {
- name = {Notación},
- crefname = {la notación}{las notaciones},
- Crefname = {La notación}{Las notaciones},
- },
- CN = {
- name = {记号},
- crefname = {记号}{记号},
- Crefname = {记号}{记号},
- },
- TC = {
- name = {記號},
- crefname = {記號}{記號},
- Crefname = {記號}{記號},
- },
- JP = {
- name = {記法},
- crefname = {記法}{記法},
- Crefname = {記法}{記法},
- },
- RU = {
- name = {Нотация},
- crefname = {нотация}{нотации},
- Crefname = {Нотация}{Нотации},
- },
- }
- \NameTheorem{example}{
- EN = {
- name = {Example},
- crefname = {example}{examples},
- Crefname = {Example}{Examples},
- },
- FR = {
- name = {Exemple},
- crefname = {\crefthemark{l'}example}{\crefthemark{les} examples},
- Crefname = {L'example}{Les examples},
- },
- DE = {
- name = {Beispiel},
- crefname = {Beispiel}{Beispiele},
- Crefname = {Beispiel}{Beispiele},
- },
- IT = {
- name = {Esempio},
- crefname = {\crefthemark{l'}esempio}{\crefthemark{gli} esempi},
- Crefname = {L'esempio}{Gli esempi},
- },
- PT = {
- name = {Exemplo},
- crefname = {\crefthemark{o} exemplo}{\crefthemark{os} exemplos},
- Crefname = {O exemplo}{Os exemplos},
- },
- BR = {
- name = {Exemplo},
- crefname = {\crefthemark{o} exemplo}{\crefthemark{os} exemplos},
- Crefname = {O exemplo}{Os exemplos},
- },
- ES = {
- name = {Ejemplo},
- crefname = {\crefthemark{el} ejemplo}{los ejemplos},
- Crefname = {El ejemplo}{Los ejemplos},
- },
- CN = {
- name = {例},
- crefname = {例}{例},
- Crefname = {例}{例},
- },
- TC = {
- name = {例},
- crefname = {例}{例},
- Crefname = {例}{例},
- },
- JP = {
- name = {例},
- crefname = {例}{例},
- Crefname = {例}{例},
- },
- RU = {
- name = {Пример},
- crefname = {пример}{примеры},
- Crefname = {Пример}{Примеры},
- },
- }
- \NameTheorem{problem}{
- EN = {
- name = {Problem},
- crefname = {problem}{problems},
- Crefname = {Problem}{Problems},
- },
- FR = {
- name = {Problème},
- crefname = {\crefthemark{le} problème}{\crefthemark{les} problèmes},
- Crefname = {Le problème}{Les problèmes},
- },
- DE = {
- name = {Problem},
- crefname = {Problem}{Probleme},
- Crefname = {Problem}{Probleme},
- },
- IT = {
- name = {Problema},
- crefname = {\crefthemark{il} problema}{\crefthemark{i} problemi},
- Crefname = {Il problema}{I problemi},
- },
- PT = {
- name = {Problema},
- crefname = {\crefthemark{o} problema}{\crefthemark{os} problemas},
- Crefname = {O problema}{Os problemas},
- },
- BR = {
- name = {Problema},
- crefname = {\crefthemark{o} problema}{\crefthemark{os} problemas},
- Crefname = {O problema}{Os problemas},
- },
- ES = {
- name = {Problema},
- crefname = {\crefthemark{el} problema}{los problemas},
- Crefname = {El problema}{Los problemas},
- },
- CN = {
- name = {问题},
- crefname = {问题}{问题},
- Crefname = {问题}{问题},
- },
- TC = {
- name = {問題},
- crefname = {問題}{問題},
- Crefname = {問題}{問題},
- },
- JP = {
- name = {問題},
- crefname = {問題}{問題},
- Crefname = {問題}{問題},
- },
- RU = {
- name = {Проблема},
- crefname = {проблема}{проблемы},
- Crefname = {Проблема}{Проблемы},
- },
- }
- \NameTheorem{question}{
- EN = {
- name = {Question},
- crefname = {question}{questions},
- Crefname = {Question}{Questions},
- },
- FR = {
- name = {Question},
- crefname = {\crefthemark{la} question}{\crefthemark{les} questions},
- Crefname = {La question}{Les questions},
- },
- DE = {
- name = {Frage},
- crefname = {Frage}{Fragen},
- Crefname = {Frage}{Fragen},
- },
- IT = {
- name = {Domanda},
- crefname = {\crefthemark{la} domanda}{\crefthemark{le} domande},
- Crefname = {La domanda}{Le domande},
- },
- PT = {
- name = {Pergunta},
- crefname = {\crefthemark{a} pergunta}{\crefthemark{as} perguntas},
- Crefname = {A pergunta}{As perguntas},
- },
- BR = {
- name = {Pergunta},
- crefname = {\crefthemark{a} pergunta}{\crefthemark{as} perguntas},
- Crefname = {A pergunta}{As perguntas},
- },
- ES = {
- name = {Pregunta},
- crefname = {la pregunta}{las preguntas},
- Crefname = {La pregunta}{Las preguntas},
- },
- CN = {
- name = {问题},
- crefname = {问题}{问题},
- Crefname = {问题}{问题},
- },
- TC = {
- name = {問題},
- crefname = {問題}{問題},
- Crefname = {問題}{問題},
- },
- JP = {
- name = {問題},
- crefname = {問題}{問題},
- Crefname = {問題}{問題},
- },
- RU = {
- name = {Вопрос},
- crefname = {вопрос}{вопросы},
- Crefname = {Вопрос}{Вопросы},
- },
- }
- \NameTheorem{exercise}{
- EN = {
- name = {Exercise},
- crefname = {exercise}{exercises},
- Crefname = {Exercise}{Exercises},
- },
- FR = {
- name = {Exercice},
- crefname = {\crefthemark{l'}exercice}{\crefthemark{les} exercices},
- Crefname = {L'exercice}{Les exercices},
- },
- DE = {
- name = {Übung},
- crefname = {Übung}{Übungen},
- Crefname = {Übung}{Übungen},
- },
- IT = {
- name = {Esercizio},
- crefname = {\crefthemark{l'}esercizio}{\crefthemark{gli} esercizi},
- Crefname = {L'esercizio}{Gli esercizi},
- },
- PT = {
- name = {Exercício},
- crefname = {\crefthemark{o} exercício}{\crefthemark{os} exercícios},
- Crefname = {O exercício}{Os exercícios},
- },
- BR = {
- name = {Exercício},
- crefname = {\crefthemark{o} exercício}{\crefthemark{os} exercícios},
- Crefname = {O exercício}{Os exercícios},
- },
- ES = {
- name = {Ejercicio},
- crefname = {\crefthemark{el} ejercicio}{los ejercicios},
- Crefname = {El ejercicio}{Los ejercicios},
- },
- CN = {
- name = {练习},
- crefname = {练习}{练习},
- Crefname = {练习}{练习},
- },
- TC = {
- name = {練習},
- crefname = {練習}{練習},
- Crefname = {練習}{練習},
- },
- JP = {
- name = {練習},
- crefname = {練習}{練習},
- Crefname = {練習}{練習},
- },
- RU = {
- name = {Упражнение},
- crefname = {упражнение}{упражнения},
- Crefname = {Упражнение}{Упражнения},
- },
- }
- \NameTheorem{remark}{
- EN = {
- name = {Remark},
- crefname = {remark}{remarks},
- Crefname = {Remark}{Remarks},
- },
- FR = {
- name = {Remarque},
- crefname = {\crefthemark{la} remarque}{\crefthemark{les} remarques},
- Crefname = {La remarque}{Les remarques},
- },
- DE = {
- name = {Bemerkung},
- crefname = {Bemerkung}{Bemerkungen},
- Crefname = {Bemerkung}{Bemerkungen},
- },
- IT = {
- name = {Commento},
- crefname = {\crefthemark{il} commento}{\crefthemark{i} commenti},
- Crefname = {Il commento}{I commenti},
- },
- PT = {
- name = {Comentário},
- crefname = {\crefthemark{o} comentário}{\crefthemark{os} comentários},
- Crefname = {O comentário}{Os comentários},
- },
- BR = {
- name = {Comentário},
- crefname = {\crefthemark{o} comentário}{\crefthemark{os} comentários},
- Crefname = {O comentário}{Os comentários},
- },
- ES = {
- name = {Comentario},
- crefname = {\crefthemark{el} comentario}{los comentarios},
- Crefname = {El comentario}{Los comentarios},
- },
- CN = {
- name = {备注},
- crefname = {备注}{备注},
- Crefname = {备注}{备注},
- },
- TC = {
- name = {備註},
- crefname = {備註}{備註},
- Crefname = {備註}{備註},
- },
- JP = {
- name = {注釈},
- crefname = {注釈}{注釈},
- Crefname = {注釈}{注釈},
- },
- RU = {
- name = {Замечание},
- crefname = {замечание}{замечания},
- Crefname = {Замечание}{Замечания},
- },
- }
- \NameTheorem{observation}{
- EN = {
- name = {Observation},
- crefname = {observation}{observations},
- Crefname = {Observation}{Observations},
- },
- FR = {
- name = {Observation},
- crefname = {\crefthemark{la} observation}{\crefthemark{les} observations},
- Crefname = {La observation}{Les observations},
- },
- DE = {
- name = {Beobachtung},
- crefname = {Beobachtung}{Beobachtungen},
- Crefname = {Beobachtung}{Beobachtungen},
- },
- IT = {
- name = {Osservazione},
- crefname = {\crefthemark{l'}osservazione}{\crefthemark{le} osservazioni},
- Crefname = {L'osservazione}{Le osservazioni},
- },
- PT = {
- name = {Observação},
- crefname = {\crefthemark{a} observação}{\crefthemark{as} observações},
- Crefname = {A observação}{As observações},
- },
- BR = {
- name = {Observação},
- crefname = {\crefthemark{a} observação}{\crefthemark{as} observações},
- Crefname = {A observação}{As observações},
- },
- ES = {
- name = {Observación},
- crefname = {la observación}{las observaciones},
- Crefname = {La observación}{Las observaciones},
- },
- CN = {
- name = {观察},
- crefname = {观察}{观察},
- Crefname = {观察}{观察},
- },
- TC = {
- name = {觀察},
- crefname = {觀察}{觀察},
- Crefname = {觀察}{觀察},
- },
- JP = {
- name = {観察},
- crefname = {観察}{観察},
- Crefname = {観察}{観察},
- },
- RU = {
- name = {Наблюдение},
- crefname = {наблюдение}{наблюдения},
- Crefname = {Наблюдение}{Наблюдения},
- },
- }
- \NameTheorem{definition-proposition}{
- EN = {
- name = {\definitionnameEN-\propositionnameEN},
- crefname = {definition-proposition}{definitions-propositions},
- Crefname = {Definition-proposition}{Definitions-propositions},
- },
- FR = {
- name = {\definitionnameFR-\propositionnameFR},
- crefname = {\crefthemark{la} définition-proposition}{\crefthemark{les} définitions-propositions},
- Crefname = {La définition-proposition}{Les définitions-propositions},
- },
- DE = {
- name = {\definitionnameDE-\propositionnameDE},
- crefname = {Definition-Proposition}{Definitionen-Propositionen},
- Crefname = {Definition-Proposition}{Definitionen-Propositionen},
- },
- IT = {
- name = {\definitionnameIT-\propositionnameIT},
- crefname = {\crefthemark{la} definizione-proposizione}{\crefthemark{le} definizioni-proposte},
- Crefname = {La definizione-proposizione}{Le definizioni-proposte},
- },
- PT = {
- name = {\definitionnamePT-\propositionnamePT},
- crefname = {\crefthemark{a} definição-proposição}{\crefthemark{as} definições-proposições},
- Crefname = {A definição-proposição}{As definições-proposições},
- },
- BR = {
- name = {\definitionnameBR-\propositionnameBR},
- crefname = {\crefthemark{a} definição-proposição}{\crefthemark{as} definições-proposições},
- Crefname = {A definição-proposição}{As definições-proposições},
- },
- ES = {
- name = {\definitionnameES-\propositionnameES},
- crefname = {la definición-proposición}{las definiciones-proposiciones},
- Crefname = {La definición-proposición}{Las definiciones-proposiciones},
- },
- CN = {
- name = {\definitionnameCN-\propositionnameCN},
- crefname = {\definitionnameCN-\propositionnameCN}{\definitionnameCN-\propositionnameCN},
- Crefname = {\definitionnameCN-\propositionnameCN}{\definitionnameCN-\propositionnameCN},
- },
- TC = {
- name = {\definitionnameTC-\propositionnameTC},
- crefname = {\definitionnameTC-\propositionnameTC}{\definitionnameTC-\propositionnameTC},
- Crefname = {\definitionnameTC-\propositionnameTC}{\definitionnameTC-\propositionnameTC},
- },
- JP = {
- name = {\definitionnameJP-\propositionnameJP},
- crefname = {\definitionnameJP-\propositionnameJP}{\definitionnameJP-\propositionnameJP},
- Crefname = {\definitionnameJP-\propositionnameJP}{\definitionnameJP-\propositionnameJP},
- },
- RU = {
- name = {\definitionnameRU-\propositionnameRU},
- crefname = {определение-предложение}{определения-предложения},
- Crefname = {Определение-предложение}{Определения-предложение},
- },
- }
- \NameTheorem{definition-theorem}{
- EN = {
- name = {\definitionnameEN-\theoremnameEN},
- crefname = {definition-theorem}{definitions-theorems},
- Crefname = {Definition-theorem}{Definitions-theorems},
- },
- FR = {
- name = {\definitionnameFR-\theoremnameFR},
- crefname = {\crefthemark{la} définition-théorème}{\crefthemark{les} définitions-théorèmes},
- Crefname = {La définition-théorème}{Les définitions-théorèmes},
- },
- DE = {
- name = {\definitionnameDE-\theoremnameDE},
- crefname = {Definition-Satz}{Definitionen-Sätze},
- Crefname = {Definition-Satz}{Definitionen-Sätze},
- },
- IT = {
- name = {\definitionnameIT-\theoremnameIT},
- crefname = {\crefthemark{la} definizione-teorema}{\crefthemark{le} definizioni-teoremi},
- Crefname = {La definizione-teorema}{Le definizioni-teoremi},
- },
- PT = {
- name = {\definitionnamePT-\theoremnamePT},
- crefname = {\crefthemark{a} definição-teorema}{\crefthemark{as} definições-teoremas},
- Crefname = {A definição-teorema}{As definições-teoremas},
- },
- BR = {
- name = {\definitionnameBR-\theoremnameBR},
- crefname = {\crefthemark{a} definição-teorema}{\crefthemark{as} definições-teoremas},
- Crefname = {A definição-teorema}{As definições-teoremas},
- },
- ES = {
- name = {\definitionnameES-\theoremnameES},
- crefname = {la definición-teorema}{las definiciones-teoremas},
- Crefname = {La definición-teorema}{Las definiciones-teoremas},
- },
- CN = {
- name = {\definitionnameCN-\theoremnameCN},
- crefname = {\definitionnameCN-\theoremnameCN}{\definitionnameCN-\theoremnameCN},
- Crefname = {\definitionnameCN-\theoremnameCN}{\definitionnameCN-\theoremnameCN},
- },
- TC = {
- name = {\definitionnameTC-\theoremnameTC},
- crefname = {\definitionnameTC-\theoremnameTC}{\definitionnameTC-\theoremnameTC},
- Crefname = {\definitionnameTC-\theoremnameTC}{\definitionnameTC-\theoremnameTC},
- },
- JP = {
- name = {\definitionnameJP-\theoremnameJP},
- crefname = {\definitionnameJP-\theoremnameJP}{\definitionnameJP-\theoremnameJP},
- Crefname = {\definitionnameJP-\theoremnameJP}{\definitionnameJP-\theoremnameJP},
- },
- RU = {
- name = {\definitionnameRU-\theoremnameRU},
- crefname = {определение-теорема}{определения-теоремы},
- Crefname = {Определение-теорема}{Определения-теорема},
- },
- }
-}{
-%# 英文定理名称
-%# English theorems names
- \def\theoremnameEN{{Theorem}}
- \def\lemmanameEN{{Lemma}}
- \def\propositionnameEN{{Proposition}}
- \def\corollarynameEN{{Corollary}}
- \def\propertynameEN{{Property}}
- \def\factnameEN{{Fact}}
- \def\conjecturenameEN{{Conjecture}}
- \def\definitionnameEN{{Definition}}
- \def\axiomnameEN{{Axiom}}
- \def\assumptionnameEN{{Assumption}}
- \def\conventionnameEN{{Convention}}
- \def\hypothesisnameEN{{Hypothesis}}
- \def\notationnameEN{{Notation}}
- \def\examplenameEN{{Example}}
- \def\problemnameEN{{Problem}}
- \def\questionnameEN{{Question}}
- \def\exercisenameEN{{Exercise}}
- \def\remarknameEN{{Remark}}
- \def\observationnameEN{{Observation}}
- \expandafter\def\csname definition-propositionnameEN\endcsname{\definitionnameEN-\propositionnameEN}
- \expandafter\def\csname definition-theoremnameEN\endcsname{\definitionnameEN-\theoremnameEN}
-
-%# 法语定理名称
-%# French theorems names
- \def\theoremnameFR{{Théorème}}
- \def\lemmanameFR{{Lemme}}
- \def\propositionnameFR{{Proposition}}
- \def\corollarynameFR{{Corollaire}}
- \def\propertynameFR{{Propriété}}
- \def\factnameFR{{Fait}}
- \def\conjecturenameFR{{Conjecture}}
- \def\definitionnameFR{{Définition}}
- \def\axiomnameFR{{Axiome}}
- \def\assumptionnameFR{{Supposition}}
- \def\conventionnameFR{{Convention}}
- \def\hypothesisnameFR{{Hypothèse}}
- \def\notationnameFR{{Notation}}
- \def\examplenameFR{{Exemple}}
- \def\problemnameFR{{Problème}}
- \def\questionnameFR{{Question}}
- \def\exercisenameFR{{Exercice}}
- \def\remarknameFR{{Remarque}}
- \def\observationnameFR{{Observation}}
- \expandafter\def\csname definition-propositionnameFR\endcsname{\definitionnameFR-\propositionnameFR}
- \expandafter\def\csname definition-theoremnameFR\endcsname{\definitionnameFR-\theoremnameFR}
-
-%# 德语定理名称
-%# German theorems names
- \def\theoremnameDE{{Satz}}
- \def\lemmanameDE{{Lemma}}
- \def\propositionnameDE{{Proposition}}
- \def\corollarynameDE{{Korollar}}
- \def\propertynameDE{{Eigenschaft}}
- \def\factnameDE{{Fakt}}
- \def\conjecturenameDE{{Vermutung}}
- \def\definitionnameDE{{Definition}}
- \def\axiomnameDE{{Axiom}}
- \def\assumptionnameDE{{Annahme}}
- \def\conventionnameDE{{Konvention}}
- \def\hypothesisnameDE{{Hypothese}}
- \def\notationnameDE{{Notation}}
- \def\examplenameDE{{Beispiel}}
- \def\problemnameDE{{Problem}}
- \def\questionnameDE{{Frage}}
- \def\exercisenameDE{{Übung}}
- \def\remarknameDE{{Bemerkung}}
- \def\observationnameDE{{Beobachtung}}
- \expandafter\def\csname definition-propositionnameDE\endcsname{\definitionnameDE-\propositionnameDE}
- \expandafter\def\csname definition-theoremnameDE\endcsname{\definitionnameDE-\theoremnameDE}
-
-%# 意大利语定理名称
-%# Italian theorems names
- \def\theoremnameIT{{Teorema}}
- \def\lemmanameIT{{Lemma}}
- \def\propositionnameIT{{Proposizione}}
- \def\corollarynameIT{{Corollario}}
- \def\propertynameIT{{Proprietà}}
- \def\factnameIT{{Fatto}}
- \def\conjecturenameIT{{Congettura}}
- \def\definitionnameIT{{Definizione}}
- \def\axiomnameIT{{Assioma}}
- \def\assumptionnameIT{{Supposizione}}
- \def\conventionnameIT{{Convenzione}}
- \def\hypothesisnameIT{{Ipotesi}}
- \def\notationnameIT{{Notazione}}
- \def\examplenameIT{{Esempio}}
- \def\problemnameIT{{Problema}}
- \def\questionnameIT{{Domanda}}
- \def\exercisenameIT{{Esercizio}}
- \def\remarknameIT{{Commento}}
- \def\observationnameIT{{Osservazione}}
- \expandafter\def\csname definition-propositionnameIT\endcsname{\definitionnameIT-\propositionnameIT}
- \expandafter\def\csname definition-theoremnameIT\endcsname{\definitionnameIT-\theoremnameIT}
-
-%# 葡萄牙语定理名称
-%# Portuguese theorems names
- \def\theoremnamePT{{Teorema}}
- \def\lemmanamePT{{Lema}}
- \def\propositionnamePT{{Proposição}}
- \def\corollarynamePT{{Corolário}}
- \def\propertynamePT{{Propriedade}}
- \def\factnamePT{{Facto}}
- \def\conjecturenamePT{{Conjetura}}
- \def\definitionnamePT{{Definição}}
- \def\axiomnamePT{{Axioma}}
- \def\assumptionnamePT{{Suposição}}
- \def\conventionnamePT{{Convenção}}
- \def\hypothesisnamePT{{Hipótese}}
- \def\notationnamePT{{Notação}}
- \def\examplenamePT{{Exemplo}}
- \def\problemnamePT{{Problema}}
- \def\questionnamePT{{Pergunta}}
- \def\exercisenamePT{{Exercício}}
- \def\remarknamePT{{Comentário}}
- \def\observationnamePT{{Observação}}
- \expandafter\def\csname definition-propositionnamePT\endcsname{\definitionnamePT-\propositionnamePT}
- \expandafter\def\csname definition-theoremnamePT\endcsname{\definitionnamePT-\theoremnamePT}
-
-%# 巴西葡萄牙语定理名称
-%# Brazilian theorems names
- \def\theoremnameBR{{Teorema}}
- \def\lemmanameBR{{Lema}}
- \def\propositionnameBR{{Proposição}}
- \def\corollarynameBR{{Corolário}}
- \def\propertynameBR{{Propriedade}}
- \def\factnameBR{{Fato}}
- \def\conjecturenameBR{{Conjectura}}
- \def\definitionnameBR{{Definição}}
- \def\axiomnameBR{{Axioma}}
- \def\assumptionnameBR{{Suposição}}
- \def\conventionnameBR{{Convenção}}
- \def\hypothesisnameBR{{Hipótese}}
- \def\notationnameBR{{Notação}}
- \def\examplenameBR{{Exemplo}}
- \def\problemnameBR{{Problema}}
- \def\questionnameBR{{Pergunta}}
- \def\exercisenameBR{{Exercício}}
- \def\remarknameBR{{Comentário}}
- \def\observationnameBR{{Observação}}
- \expandafter\def\csname definition-propositionnameBR\endcsname{\definitionnameBR-\propositionnameBR}
- \expandafter\def\csname definition-theoremnameBR\endcsname{\definitionnameBR-\theoremnameBR}
-
-%# 西班牙语定理名称
-%# Spanish theorems names
- \def\theoremnameES{{Teorema}}
- \def\lemmanameES{{Lema}}
- \def\propositionnameES{{Proposición}}
- \def\corollarynameES{{Corolario}}
- \def\propertynameES{{Propiedad}}
- \def\factnameES{{Hecho}}
- \def\conjecturenameES{{Conjetura}}
- \def\definitionnameES{{Definición}}
- \def\axiomnameES{{Axioma}}
- \def\assumptionnameES{{Suposición}}
- \def\conventionnameES{{Convención}}
- \def\hypothesisnameES{{Hipótesis}}
- \def\notationnameES{{Notación}}
- \def\examplenameES{{Ejemplo}}
- \def\problemnameES{{Problema}}
- \def\questionnameES{{Pregunta}}
- \def\exercisenameES{{Ejercicio}}
- \def\remarknameES{{Comentario}}
- \def\observationnameES{{Observación}}
- \expandafter\def\csname definition-propositionnameES\endcsname{\definitionnameES-\propositionnameES}
- \expandafter\def\csname definition-theoremnameES\endcsname{\definitionnameES-\theoremnameES}
-
-%# 中文定理名称
-%# Chinese theorems names
- \def\theoremnameCN{{定理}}
- \def\lemmanameCN{{引理}}
- \def\propositionnameCN{{命题}}
- \def\corollarynameCN{{推论}}
- \def\propertynameCN{{性质}}
- \def\factnameCN{{事实}}
- \def\conjecturenameCN{{猜想}}
- \def\definitionnameCN{{定义}}
- \def\axiomnameCN{{公理}}
- \def\assumptionnameCN{{假定}}
- \def\conventionnameCN{{约定}}
- \def\hypothesisnameCN{{假设}}
- \def\notationnameCN{{记号}}
- \def\examplenameCN{{例}}
- \def\problemnameCN{{问题}}
- \def\questionnameCN{{问题}}
- \def\exercisenameCN{{练习}}
- \def\remarknameCN{{备注}}
- \def\observationnameCN{{观察}}
- \expandafter\def\csname definition-propositionnameCN\endcsname{\definitionnameCN-\propositionnameCN}
- \expandafter\def\csname definition-theoremnameCN\endcsname{\definitionnameCN-\theoremnameCN}
-
- \def\theoremnameTC{{定理}}
- \def\lemmanameTC{{引理}}
- \def\propositionnameTC{{命題}}
- \def\corollarynameTC{{推論}}
- \def\propertynameTC{{性質}}
- \def\factnameTC{{事實}}
- \def\conjecturenameTC{{猜想}}
- \def\definitionnameTC{{定義}}
- \def\axiomnameTC{{公理}}
- \def\assumptionnameTC{{假定}}
- \def\conventionnameTC{{約定}}
- \def\hypothesisnameTC{{假設}}
- \def\notationnameTC{{記號}}
- \def\examplenameTC{{例}}
- \def\problemnameTC{{問題}}
- \def\questionnameTC{{問題}}
- \def\exercisenameTC{{練習}}
- \def\remarknameTC{{備註}}
- \def\observationnameTC{{觀察}}
- \expandafter\def\csname definition-propositionnameTC\endcsname{\definitionnameTC-\propositionnameTC}
- \expandafter\def\csname definition-theoremnameTC\endcsname{\definitionnameTC-\theoremnameTC}
-
-%# 日文定理名称
-%# Japanese theorems names
- \def\theoremnameJP{{定理}}
- \def\lemmanameJP{{補題}}
- \def\propositionnameJP{{命題}}
- \def\corollarynameJP{{系}}
- \def\propertynameJP{{性質}}
- \def\factnameJP{{事実}}
- \def\conjecturenameJP{{予想}}
- \def\definitionnameJP{{定義}}
- \def\axiomnameJP{{公理}}
- \def\assumptionnameJP{{仮定}}
- \def\conventionnameJP{{慣例}}
- \def\hypothesisnameJP{{仮設}}
- \def\notationnameJP{{記法}}
- \def\examplenameJP{{例}}
- \def\problemnameJP{{問題}}
- \def\questionnameJP{{問題}}
- \def\exercisenameJP{{練習}}
- \def\remarknameJP{{注釈}}
- \def\observationnameJP{{観察}}
- \expandafter\def\csname definition-propositionnameJP\endcsname{\definitionnameJP-\propositionnameJP}
- \expandafter\def\csname definition-theoremnameJP\endcsname{\definitionnameJP-\theoremnameJP}
-
-%# 俄文定理名称
-%# Russian theorems names
- \def\theoremnameRU{{Теорема}} % Теоре́ма
- \def\lemmanameRU{{Лемма}} % Ле́мма
- \def\propositionnameRU{{Предложение}} % Предложе́ние
- \def\corollarynameRU{{Следствие}} % Сле́дствие
- \def\propertynameRU{{Имущество}} % Иму́щество
- \def\factnameRU{{Факт}}
- \def\conjecturenameRU{{Гипотеза}} % Гипо́теза % Конъектура Конъекту́ра
- \def\definitionnameRU{{Определение}} % Определе́ние
- \def\axiomnameRU{{Аксиома}} % Аксио́ма
- \def\assumptionnameRU{{Предположение}} % Предположе́ние
- \def\conventionnameRU{{Конвенция}} % Конве́нция
- \def\hypothesisnameRU{{Гипотеза}} % Гипо́теза
- \def\notationnameRU{{Нотация}} % Нота́ция
- \def\examplenameRU{{Пример}} % Приме́р
- \def\problemnameRU{{Проблема}} % Пробле́ма
- \def\questionnameRU{{Вопрос}} % Вопро́с
- \def\exercisenameRU{{Упражнение}} % Упражне́ние
- \def\remarknameRU{{Замечание}} % Замеча́ние
- \def\observationnameRU{{Наблюдение}} % Наблюде́ние
- \expandafter\def\csname definition-propositionnameRU\endcsname{\definitionnameRU-\propositionnameRU}
- \expandafter\def\csname definition-theoremnameRU\endcsname{\definitionnameRU-\theoremnameRU}
-}
-
-%# 判断最高级别的标题是 section 还是 chapter
-%# Detect the highest level of title: section or chapter?
-\newif\ifPJLthm@IsBook
-\ifdefined\c@chapter\PJLthm@IsBooktrue\else\PJLthm@IsBookfalse\fi
-\ifbool{PJLthm@IsBook}{
- \newaliascnt{PJLthm@highest}{chapter}
-}{
- \newaliascnt{PJLthm@highest}{section}
-}
-%# 按照 thmnum 决定定理类环境如何编号
-%# Number the theorem-like environment with respect to thmnum
-\NewDocumentCommand{\CreateTheorem@thmnum}{m}{
- \expandafter\ifstrempty\expandafter{\@PJLthm@thmnum}{
- \CreateTheorem{#1}<PJLthm@highest>
- }{
- \expandafter\ifstrequal\expandafter{\@PJLthm@thmnum}{PJL@thmnum@default}{
- \CreateTheorem{#1}
- }{
- \CreateTheorem{#1}<\@PJLthm@thmnum>
- }
- }
-}
-
-%# 建立定理类环境
-%# Setup theorem-like environments
-\def\PJLthm@definethms{
-\if@PJLthm@nothms\else
-\if@PJLthm@nothmnum
-\CreateTheorem*{theorem}
-\CreateTheorem*{lemma}
-\CreateTheorem*{proposition}
-\CreateTheorem*{corollary}
-\CreateTheorem*{definition-proposition}
-\CreateTheorem*{definition-theorem}
-\CreateTheorem*{property}
-\CreateTheorem*{fact}
-\CreateTheorem*{conjecture}
-\else
-\CreateTheorem@thmnum{theorem}
-\CreateTheorem{lemma}[theorem]
-\CreateTheorem{proposition}[theorem]
-\CreateTheorem{corollary}[theorem]
-\CreateTheorem{definition-proposition}[theorem]
-\CreateTheorem{definition-theorem}[theorem]
-\CreateTheorem{property}[theorem]
-\CreateTheorem{fact}[theorem]
-\CreateTheorem{conjecture}[theorem]
-\fi
-\CreateTheorem*{theorem*}
-\CreateTheorem*{lemma*}
-\CreateTheorem*{proposition*}
-\CreateTheorem*{corollary*}
-\CreateTheorem*{definition-proposition*}
-\CreateTheorem*{definition-theorem*}
-\CreateTheorem*{property*}
-\CreateTheorem*{fact*}
-\CreateTheorem*{conjecture*}
-
-\theoremstyle{definition}
-\if@PJLthm@nothmnum
-\CreateTheorem*{definition}
-\CreateTheorem*{axiom}
-\CreateTheorem*{assumption}
-\CreateTheorem*{convention}
-\CreateTheorem*{hypothesis}
-\CreateTheorem*{notation}
-\CreateTheorem*{example}
-\CreateTheorem*{problem}
-\CreateTheorem*{question}
-\CreateTheorem*{exercise}
-\else
-\CreateTheorem{definition}[theorem]
-\CreateTheorem{axiom}[theorem]
-\CreateTheorem{assumption}[theorem]
-\CreateTheorem{convention}[theorem]
-\CreateTheorem{hypothesis}[theorem]
-\CreateTheorem{notation}[theorem]
-\CreateTheorem{example}[theorem]
-\CreateTheorem{problem}[theorem]
-\CreateTheorem{question}[theorem]
-\CreateTheorem{exercise}[theorem]
-\fi
-\CreateTheorem*{definition*}
-\CreateTheorem*{axiom*}
-\CreateTheorem*{assumption*}
-\CreateTheorem*{convention*}
-\CreateTheorem*{hypothesis*}
-\CreateTheorem*{notation*}
-\CreateTheorem*{example*}
-\CreateTheorem*{problem*}
-\CreateTheorem*{question*}
-\CreateTheorem*{exercise*}
-
-\theoremstyle{remark}
-\if@PJLthm@nothmnum
-\CreateTheorem*{remark}
-\CreateTheorem*{observation}
-\else
-\CreateTheorem@thmnum{remark}
-\CreateTheorem@thmnum{observation}
-\fi
-\CreateTheorem*{remark*}
-\CreateTheorem*{observation*}
-
-\theoremstyle{definition}
-\fi
-
-%# 按照 thmnum 决定公式如何编号
-%# Number the equations with respect to thmnum
-\expandafter\ifstrempty\expandafter{\@PJLthm@thmnum}{
-% thmnum is not used.
- \numberwithin{equation}{PJLthm@highest}
-}{
- \expandafter\ifstrequal\expandafter{\@PJLthm@thmnum}{PJL@thmnum@default}{
-% thmnum is used, with no value.
- }{
-% thmnum is used, with value \@PJLthm@thmnum.
- \numberwithin{equation}{\@PJLthm@thmnum}
- }
-}
-
-} % End of \PJLthm@definethms
-
-\if@PJLthm@delaythms
- \AtEndPreamble{\PJLthm@definethms}
-\else
- \PJLthm@definethms
-\fi
-
-%# 一些 cref 的本地化
-%# Some localization of cref
-\gappto{\PJLlang@langconfig@CN}{%
- \crefname{equation}{式}{式}%
- \crefname{figure}{图}{图}%
- \crefname{table}{表}{表}%
- \crefname{appendix}{附录}{附录}%
- \Crefname{equation}{式}{式}%
- \Crefname{figure}{图}{图}%
- \Crefname{table}{表}{表}%
- \Crefname{appendix}{附录}{附录}%
- \def\crefpairconjunction{、}%
- \def\crefmiddleconjunction{、}%
- \def\creflastconjunction{~和~}%
- \def\crefpairgroupconjunction{~和~}%
- \def\crefmiddlegroupconjunction{、}%
- \def\creflastgroupconjunction{~以及~}%
- \def\crefrangeconjunction{~}%
-}
-\gappto{\PJLlang@langconfig@TC}{%
- \crefname{equation}{式}{式}%
- \crefname{figure}{圖}{圖}%
- \crefname{table}{表}{表}%
- \crefname{appendix}{附錄}{附錄}%
- \Crefname{equation}{式}{式}%
- \Crefname{figure}{圖}{圖}%
- \Crefname{table}{表}{表}%
- \Crefname{appendix}{附錄}{附錄}%
- \def\crefpairconjunction{、}%
- \def\crefmiddleconjunction{、}%
- \def\creflastconjunction{~與~}%
- \def\crefpairgroupconjunction{~與~}%
- \def\crefmiddlegroupconjunction{、}%
- \def\creflastgroupconjunction{~以及~}%
- \def\crefrangeconjunction{~}%
-}
-\gappto{\PJLlang@langconfig@JP}{%
- \crefname{equation}{式}{式}%
- \crefname{figure}{図}{図}%
- \crefname{table}{表}{表}%
- \Crefname{appendix}{付録}{付録}%
- \Crefname{equation}{式}{式}%
- \Crefname{figure}{図}{図}%
- \Crefname{table}{表}{表}%
- \Crefname{appendix}{付録}{付録}%
- \def\crefpairconjunction{~と~}%
- \def\crefmiddleconjunction{~と~}%
- \def\creflastconjunction{~と~}%
- \def\crefpairgroupconjunction{~と~}%
- \def\crefmiddlegroupconjunction{~と~}%
- \def\creflastgroupconjunction{~及び~}%
- \def\crefrangeconjunction{~}%
-}
-\gappto{\PJLlang@langconfig@RU}{%
- \crefname{equation}{уравнение}{уравнения}%
- \crefname{figure}{рис.}{рис.}%
- \crefname{table}{таблица}{таблицы}%
- \crefname{appendix}{приложение}{приложения}%
- \Crefname{equation}{Уравнение}{Уравнения}%
- \Crefname{figure}{Рис.}{Рис.}%
- \Crefname{table}{Таблица}{Таблицы}%
- \Crefname{appendix}{Приложение}{Приложения}%
- \def\crefpairconjunction{~и~}%
- \def\crefmiddleconjunction{,~}%
- \def\creflastconjunction{~и~}%
- \def\crefpairgroupconjunction{~и~}%
- \def\crefmiddlegroupconjunction{,~}%
- \def\creflastgroupconjunction{~и~}%
- \def\crefrangeconjunction{~\textasciitilde~}%
-}
-\gappto{\PJLlang@langconfig@PT}{%
- \crefname{equation}{eq.}{eqs.}%
- \crefname{figure}{fig.}{figs.}%
- \crefname{table}{tabela}{tabelas}%
- \crefname{appendix}{apêndice}{apêndices}%
- \Crefname{equation}{Eq.}{Eqs.}%
- \Crefname{figure}{Fig.}{Figs.}%
- \Crefname{table}{Tabela}{Tabelas}%
- \Crefname{appendix}{Apêndice}{Apêndices}%
- \def\crefpairconjunction{ e\nobreakspace}%
- \def\crefmiddleconjunction{, }%
- \def\creflastconjunction{ e\nobreakspace}%
- \def\crefpairgroupconjunction{ e\nobreakspace}%
- \def\crefmiddlegroupconjunction{, }%
- \def\creflastgroupconjunction{ e\nobreakspace}%
- \def\crefrangeconjunction{ a\nobreakspace}%
-}
-%</PJLthm>
-%
-%<*ProjLib>
-%# 这段代码定义了宏包中的选项。
-%# This code defines the options in the package.
-\SetupKeyvalOptions{
- family = @ProjLib,
- prefix = @ProjLib@,
-}
-\DeclareBoolOption[false]{draft}
-\DeclareBoolOption[false]{fast}
-\DeclareBoolOption[false]{author}
-\DeclareBoolOption[false]{amsfashion}
-\DeclareBoolOption[false]{nothms}
-\DeclareBoolOption[false]{delaythms}
-\DeclareBoolOption[false]{nothmnum}
-\DeclareStringOption{thmnum}[PJL@thmnum@default]
-\DeclareBoolOption[true]{regionalref}
-\DeclareBoolOption[false]{originalref}
-\DeclareBoolOption[true]{complexname}
-\DeclareBoolOption[false]{simplename}
-\DeclareBoolOption[false]{useosf}
-\DeclareBoolOption[false]{lmodern}
-\DeclareBoolOption[false]{palatino}
-\DeclareBoolOption[false]{times}
-\DeclareBoolOption[false]{garamond}
-\DeclareBoolOption[false]{noto}
-\DeclareBoolOption[false]{biolinum}
-%# 处理选项
-%# Process options
-\ProcessKeyvalOptions*\relax
-
-%# 下面的代码设定了选项之间的关系
-%# The following code sets the relationship between options
-\if@ProjLib@originalref
- \@ProjLib@regionalreffalse
-\fi
-\if@ProjLib@simplename
- \@ProjLib@complexnamefalse
-\fi
-\if@ProjLib@draft
- \@ProjLib@fasttrue
-\fi
-
-%# 向组件传递一些参数
-%# Pass some options to the components
-\if@ProjLib@fast
- \PassOptionsToPackage{fast}{PJLdate}
- \PassOptionsToPackage{fast}{PJLdraft}
- \PassOptionsToPackage{fast}{PJLlogo}
- \PassOptionsToPackage{fast}{PJLthm}
-\fi
-\if@ProjLib@nothms
- \PassOptionsToPackage{nothms}{PJLthm}
-\fi
-\if@ProjLib@delaythms
- \PassOptionsToPackage{delaythms}{PJLthm}
-\fi
-\if@ProjLib@nothmnum
- \PassOptionsToPackage{nothmnum}{PJLthm}
-\fi
-\expandafter\ifstrempty\expandafter{\@ProjLib@thmnum}{}{
- \expandafter\ifstrequal\expandafter{\@ProjLib@thmnum}{PJL@thmnum@default}{
- \PassOptionsToPackage{thmnum}{PJLthm}
- }{
- \PassOptionsToPackage{thmnum=\@ProjLib@thmnum}{PJLthm}
- }
-}
-\if@ProjLib@regionalref\else
- \PassOptionsToPackage{originalref}{PJLthm}
-\fi
-\if@ProjLib@complexname\else
- \PassOptionsToPackage{simplename}{PJLthm}
-\fi
-
-%# 加载不默认载入的组件
-%# Load those components not by default loaded
-\if@ProjLib@amsfashion
- \PassOptionsToPackage{amsfashion}{PJLauthor}
- \RequirePackage{PJLauthor}
-\fi
-\if@ProjLib@author
- \RequirePackage{PJLauthor}
-\fi
-%# 加载组件
-%# Load the components
-\RequirePackage{PJLdate}
-\RequirePackage{PJLdraft}
-\RequirePackage{PJLlogo}
-\RequirePackage{PJLmath}
-\RequirePackage{PJLpaper}
-\RequirePackage{PJLthm}
-
-%# 配置字体选项
-%# Configure the font options below
-%
-% \PJL@font@alreadyset should contain the current font name
-% A message can then be shown as: Font "(font name)" has been set
-\ifdefined\PJL@font@alreadyset\else
-
-\if@ProjLib@lmodern
- \RequirePackage{amssymb}
- \if@ProjLib@useosf
- \RequirePackage{cfr-lm}
- \else
- \RequirePackage{lmodern}
- \fi
- \PJLsetlinespacing{\setstretch{1.00}}
-\fi
-
-\if@ProjLib@palatino
- % \RequirePackage{amssymb}
- \RequirePackage{mathpazo}
- \PassOptionsToPackage{defaultsups}{newpxtext}
- \RequirePackage{newpxtext}
- % \RequirePackage{newpxmath}
- \let\openbox\relax
- \PJLsetlinespacing{\setstretch{1.07}}
- \if@ProjLib@useosf\useosf\fi
-\fi
-
-\if@ProjLib@times
- % \RequirePackage{amssymb}
- \PassOptionsToPackage{defaultsups}{newtxtext}
- \RequirePackage{newtxtext}
- \RequirePackage{newtxmath}
- \let\openbox\relax
- \PJLsetlinespacing{\setstretch{1.00}}
- \if@ProjLib@useosf\useosf\fi
-\fi
-
-\if@ProjLib@garamond
- % \RequirePackage{amssymb}
- \if@ProjLib@useosf\else
- \PassOptionsToPackage{lining}{ebgaramond}
- \fi
- \RequirePackage{ebgaramond-maths}
- \RequirePackage{ebgaramond}
- % \RequirePackage{garamondlibre}
- \PJLsetlinespacing{\setstretch{1.00}}
-\fi
-
-\if@ProjLib@noto
- \if@ProjLib@useosf
- \PassOptionsToPackage{oldstyle}{notomath}
- \fi
- \RequirePackage{anyfontsize}
- \RequirePackage{notomath}
- \PJLsetlinespacing{\setstretch{1.00}}
-\fi
-
-\if@ProjLib@biolinum
- % \RequirePackage{amssymb}
- % \RequirePackage{mathpazo}
- % \RequirePackage[sansmath]{libertinust1math}
- \ifPDFTeX
- \if@ProjLib@useosf
- \PassOptionsToPackage{osf}{biolinum}
- \fi
- \RequirePackage{biolinum}
- \renewcommand*\familydefault{\biolinum@family}
- \else
- \PassOptionsToPackage{no-math}{fontspec}
- \RequirePackage{fontspec}
- \setmainfont{LinBiolinum_R.otf}[
- BoldFont = LinBiolinum_RB.otf ,
- ItalicFont = LinBiolinum_RI.otf ,
- BoldItalicFont = LinBiolinum_RBO.otf,
- \if@ProjLib@useosf Numbers = OldStyle\fi ]
- \fi
- \PJLsetlinespacing{\setstretch{1.05}}
- \RequirePackage[italic,defaultmathsizes]{mathastext}
-\fi
-
-%# 结束字体选项的配置
-%# End of the configuration of font options
-\fi
-
-%# 使用 microtype 优化排版细节
-%# Use `microtype` to get details better
-\RequirePackage{microtype}
-%</ProjLib>
-
-\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/projlib/ProjLib.ins b/Master/texmf-dist/source/latex/projlib/ProjLib.ins
deleted file mode 100644
index 014bdd86807..00000000000
--- a/Master/texmf-dist/source/latex/projlib/ProjLib.ins
+++ /dev/null
@@ -1,72 +0,0 @@
-%%
-%% Copyright (C) 2021 by Jinwen XU
-%%
-%% This file may be distributed and/or modified under the conditions of
-%% the LaTeX Project Public License, either version 1.3c of this license
-%% or (at your option) any later version. The latest version of this
-%% license is in:
-%%
-%% http://www.latex-project.org/lppl.txt
-%%
-
-\input docstrip.tex
-\keepsilent
-\askforoverwritefalse
-
-\begingroup
-\catcode`\^^M=\active%
-\obeyspaces%
-\gdef\copyright{%
-\ds@heading% This is file... generated with the docstrip utility.
-
-Copyright (C) 2021 by Jinwen XU
-
-This is part of the ProjLib Toolkit.
-}%
-\gdef\lppllicense{%
-
-This work may be distributed and/or modified under the conditions of the
-LaTeX Project Public License, either version 1.3c of this license or (at
-your option) any later version. The latest version of this license is in
-
- http://www.latex-project.org/lppl.txt
-
-and version 1.3c or later is part of all distributions of LaTeX version
-2005/12/01 or later.
-}%
-\endgroup
-
-\def\mypreamble{\copyright\lppllicense}
-\usepreamble\mypreamble
-
-\generate{\file{ProjLib.sty}{\from{ProjLib.dtx}{ProjLib}}}
-\generate{\file{PJLauthor.sty}{\from{ProjLib.dtx}{PJLauthor}}}
-\generate{\file{PJLdate.sty}{\from{ProjLib.dtx}{PJLdate}}}
-\generate{\file{PJLdraft.sty}{\from{ProjLib.dtx}{PJLdraft}}}
-\generate{\file{PJLlang.sty}{\from{ProjLib.dtx}{PJLlang}}}
-\generate{\file{PJLlogo.sty}{\from{ProjLib.dtx}{PJLlogo}}}
-\generate{\file{PJLmath.sty}{\from{ProjLib.dtx}{PJLmath}}}
-\generate{\file{PJLpaper.sty}{\from{ProjLib.dtx}{PJLpaper}}}
-\generate{\file{PJLthm.sty}{\from{ProjLib.dtx}{PJLthm}}}
-
-\obeyspaces
-\Msg{*************************************************************}
-\Msg{* *}
-\Msg{* To finish the installation you have to move the following *}
-\Msg{* files into a directory searched by TeX: *}
-\Msg{* *}
-\Msg{* ProjLib.sty *}
-\Msg{* PJLauthor.sty *}
-\Msg{* PJLdate.sty *}
-\Msg{* PJLdraft.sty *}
-\Msg{* PJLlang.sty *}
-\Msg{* PJLlogo.sty *}
-\Msg{* PJLmath.sty *}
-\Msg{* PJLpaper.sty *}
-\Msg{* PJLthm.sty *}
-\Msg{* *}
-\Msg{* Happy TeXing! *}
-\Msg{* *}
-\Msg{*************************************************************}
-
-\endbatchfile