diff options
author | Karl Berry <karl@freefriends.org> | 2021-05-23 20:35:02 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2021-05-23 20:35:02 +0000 |
commit | cfc16e83e66b1aaf6cbb0017fbb5d275afa491f9 (patch) | |
tree | 2c45117bb604d40948bb9101c27c5bf094c04f1e /Master | |
parent | 3b54a871bd1170014aaabf21dcce9ef8d4e21353 (diff) |
minimalist (23may21)
git-svn-id: svn://tug.org/texlive/trunk@59317 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r-- | Master/texmf-dist/doc/latex/minimalist/README.md | 25 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/minimalist/minimalist-doc.pdf | bin | 45936 -> 79955 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/minimalist/minimalist-doc.tex | 434 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/minimalist/minimalist.sty | 490 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/minimalist/minimart.cls | 89 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/minimalist/minimbook.cls | 89 |
6 files changed, 756 insertions, 371 deletions
diff --git a/Master/texmf-dist/doc/latex/minimalist/README.md b/Master/texmf-dist/doc/latex/minimalist/README.md index 084e34972f9..05a62e04770 100644 --- a/Master/texmf-dist/doc/latex/minimalist/README.md +++ b/Master/texmf-dist/doc/latex/minimalist/README.md @@ -2,27 +2,28 @@ # `minimalist` bundle: write you documents in a simple and clear way -This is collection of styles and classes for typesetting articles and books in a -simple and clear design. It mainly consists of two parts. +A collection of styles and classes that helps you typesetting articles and books +with a simple and clear design. It mainly consists of two parts. - Main part: - - minimalist.sty : the main style - - minimart.cls : class for typesetting articles - - minimbook.cls : class for typesetting books + - `minimalist.sty` : the main style + - `minimart.cls` : class for typesetting articles + - `minimbook.cls` : class for typesetting books - They can be used with any LaTeX engine. Currently they have native support - to English and French typesetting. (I have planed to add more language - support) + They can be used with any major TeX engine. Currently they have native + support to English, French and German typesetting (more language to be + added). - Derivative part (they have separate pages on CTAN): - - einfart.cls : more advanced class for typesetting articles - - simplivre.cls : more advanced class for typesetting books + - `einfart.cls` : more advanced class for typesetting articles + - `simplivre.cls` : more advanced class for typesetting books They are similar to the main classes, but have unicode support, thus can only be used with either XeLaTeX or LuaLaTeX. Currently they have native - support to English, French and Chinese typesetting, and also use more - beautiful fonts. (I have planed to add more language support) + support to Chinese (both simplified and traditional), English, French, + German, Japanese and Russian typesetting (more language to be added), and + also use more beautiful fonts. # License diff --git a/Master/texmf-dist/doc/latex/minimalist/minimalist-doc.pdf b/Master/texmf-dist/doc/latex/minimalist/minimalist-doc.pdf Binary files differindex ac42223ffa6..c89d0a2595e 100644 --- a/Master/texmf-dist/doc/latex/minimalist/minimalist-doc.pdf +++ b/Master/texmf-dist/doc/latex/minimalist/minimalist-doc.pdf diff --git a/Master/texmf-dist/doc/latex/minimalist/minimalist-doc.tex b/Master/texmf-dist/doc/latex/minimalist/minimalist-doc.tex index c6c5cf1b2ff..0b1b537bc87 100644 --- a/Master/texmf-dist/doc/latex/minimalist/minimalist-doc.tex +++ b/Master/texmf-dist/doc/latex/minimalist/minimalist-doc.tex @@ -1,24 +1,26 @@ %! TEX program = xelatex -\PassOptionsToPackage{dvipsnames}{xcolor} \documentclass{minimart} \linenumbers % Enable line numbers %%================================ -%% TeX logo and URL +%% Import toolkit %%================================ -\usepackage{hologo} -\usepackage{url} +\usepackage{PJLtoolkit} +\usepackage{longtable} % breakable tables +\usepackage{hologo} % more TeX logo %%================================ %% For typestting code %%================================ \usepackage{listings} +\definecolor{maintheme}{RGB}{70,130,180} +\definecolor{forestgreen}{RGB}{21,122,81} \definecolor{lightergray}{gray}{0.99} \lstset{language=[LaTeX]TeX, - keywordstyle=\color{RoyalBlue}, + keywordstyle=\color{maintheme}, basicstyle=\ttfamily, - commentstyle=\color{ForestGreen}\ttfamily, + commentstyle=\color{forestgreen}\ttfamily, stringstyle=\rmfamily, showstringspaces=false, breaklines=true, @@ -31,9 +33,9 @@ firstnumber=last, } \providecommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$} -\lstset{morekeywords=% - {CreateTheorem,proofideanameEN,cref,dnf,needgraph,UseLanguage, - linenumbers,nolinenumbers,subsection,maketitle +\lstset{moretexcs=% + {linenumbers,nolinenumbers,subsection, + color,CreateTheorem,proofideanameEN,cref,dnf,needgraph,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,PJLdate,ProjLib } } \lstnewenvironment{code}% @@ -42,6 +44,31 @@ } {\ResumeLineNumbers} +%%================================ +%% remind +%%================================ +\usepackage[many]{tcolorbox} +\newenvironment{remind}[1][Remind]{% + \LocallyStopLineNumbers% + \begin{tcolorbox}[breakable, + enhanced, + width = \textwidth, + colback = white, colbacktitle = paper, + colframe = gray!50, boxrule=0.2mm, + coltitle = black, + fonttitle = \sffamily, + attach boxed title to top left = {yshift=-\tcboxedtitleheight/2, xshift=\tcboxedtitlewidth/4}, + boxed title style = {boxrule=0pt, colframe=paper}, + before skip = 0.3cm, + after skip = 0.3cm, + top = 3mm, + bottom = 3mm, + title={\sffamily #1}]% +}{\end{tcolorbox}\ResumeLineNumbers} + +%%================================ +%% Names +%%================================ \providecommand{\minimalist}{\textsf{minimalist}} \providecommand{\minimart}{\textsf{minimart}} \providecommand{\minimbook}{\textsf{minimbook}} @@ -53,117 +80,306 @@ %%================================ \begin{document} -\title{\minimalist{}, write your articles or books in a simple and clear way\thanks{Corresponding to: \texttt{\minimalist{} 2021/03/15}}} -\author{Jinwen} -\date{March 2021, Beijing} +\title{\minimalist{}, write your articles or books in a simple and clear way} +\author{Jinwen XU} +\thanks{Corresponding to: \texttt{\minimalist{} 2021/05/23}} +\date{May 2021, Beijing} \maketitle \begin{abstract} - \minimalist{} is series of styles and classes for you to typeset your articles or books in a simple and clear manner. My original intention in designing this series was to write drafts and notes that look simple but not shabby. + \minimalist{} is a series of styles and classes for you to typeset your articles or books in a simple and clear manner. My original intention in designing this series was to write drafts and notes that look simple yet not shabby. - The entire collection includes \verb|minimalist.sty|, which is the main style shared by all the following classes; \verb|minimart.cls| for typesetting articles and \verb|minimbook.cls| for typesetting books. They can be used with all LaTeX engines, with native support to English and French typesetting via \lstinline|\UseLanguage|, see the instruction below for detail. + The entire collection includes \verb|minimalist.sty|, which is the main style shared by all of the following classes; \verb|minimart.cls| for typesetting articles and \verb|minimbook.cls| for typesetting books. They compile with any major \TeX{} engine, with native support to English, French and German typesetting via \lstinline|\UseLanguage| (see the instruction below for detail). - You can also found \einfart{} and \simplivre{} on CTAN. They are the enhanced version of \minimart{} and \minimbook{} with unicode support. With this, they can access to more beautiful fonts, and also have native support for Chinese typesetting. On the other hand, they need to be compiled with \hologo{XeLaTeX} or \hologo{LuaLaTeX} (not pdf\LaTeX). + You can also found \einfart{} and \simplivre{} on CTAN. They are the enhanced version of \minimart{} and \minimbook{} with unicode support. With this, they can access to more beautiful fonts, and also have native support for Chinese, Japanese and Russian typesetting. On the other hand, they need to be compiled with \hologo{XeLaTeX} or \hologo{LuaLaTeX} (not pdf\LaTeX). This documentation is typeset using \minimart{}. You can think of it as a short introduction and demonstration. \end{abstract} \tableofcontents -\section{How to load it} + +\bigskip +\begin{remind} + Multi-language support, theorem-like environments, draft marks and some other features are provided by the \ProjLib{} toolkit. Here we only briefly discuss how to use it with this document class. For more detailed information, you can refer to the documentation of \ProjLib{}. +\end{remind} + +\clearpage +\section{Initialization} + +\subsection{How to load it} You can directly use \minimart{} or \minimbook{} as your document class. In this way, you can directly begin writing your document, without having to worry about the configurations. \begin{code} \documentclass{minimart} (*{\normalfont or}*) \documentclass{minimbook} \end{code} -And of course, you can also use the default classes \textsf{article} or \textsf{book}, and load the \minimalist{} package. This way, only the basic styles are set, and you can thus use your preferred fonts and page layout. All the features mentioned in this article (except for draft marks) are provided. +And of course, you can also use the default classes \textsf{article} or \textsf{book}, and load the \minimalist{} package. This way, only the basic styles are set, and you can thus use your preferred fonts and page layout. All the features mentioned in this article are provided. + \begin{code} \usepackage{minimalist} \end{code} -\subsection{A useful switch: the option \textsf{fast} or \textsf{draft}} -You can use the option \verb|fast| or \verb|draft| to typeset in a fast but slightly rough manner. The main differences are: +\subsection{Options} + +\minimalist{} offers the following options: + \begin{itemize} - \item Do not use hyperref; - \item Do not use tikz (and thus tcolorbox); + \item \texttt{draft} or \texttt{fast} + \begin{itemize} + \item The option \verb|fast| enables a faster but slightly rougher style, main differences are: + \begin{itemize} + \item Use simpler math font configuration; + \item Do not use hyperref; + \item Enable the fast mode of \ProjLib{} toolkit. + \end{itemize} + \end{itemize} + \item \texttt{allowbf} + \begin{itemize} + \item Allow boldface. When this option is enabled, the title, titles of all levels and names of theorem-like environments will be bolded. + \end{itemize} + \item \texttt{classical} + \begin{itemize} + \item Classic mode. When this option is enabled, the style will become more regular: paragraphs are indented, the use of underlines are reduced, heading styles are changed, and the theorem styles will be much closer to common styles. + \end{itemize} \end{itemize} -During the writing stage of your document, it is recommended to use the \verb|fast| option to speed up compilation and improve the smoothness of your writing experience. At the end, you can remove the ``fast'' mark to get the final version. +\begin{remind} + \begin{itemize} + \item During the draft stage, it is recommended to use the \verb|fast| option to speed up compilation. At the end, one should remove the ``fast'' option to get the final version. When in \verb|fast| mode, there will be a watermark "DRAFT" to indicate that you are currently in the draft mode. + \item \texttt{allowbf} + \texttt{classical} is probably a good choice if you prefer traditional style. + \end{itemize} +\end{remind} + +\bigskip +Additionally, \minimart{} and \minimbook{} offers the following options: +\begin{itemize} + \item \texttt{a4paper} or \texttt{b5paper} + \begin{itemize} + \item Optional paper size. The default paper size is 7in $\times$ 10in. + \end{itemize} +\end{itemize} + +% \section{On the fonts} +% By default, \minimart{} and \minimbook{} uses Palatino Linotype as the English font, FounderType's YouSong and YouHei GBK as the Chinese fonts, and partially uses Neo Euler as the math font. Among them, Neo Euler can be downloaded at \url{https://github.com/khaledhosny/euler-otf}. The other fonts are not free, you need to purchase and use them on your own. (For the Chinese fonts, visit FounderType's website for detail: \url{https://www.foundertype.com} ). + +% % \begin{itemize} +% % \item English main font. \textsf{English sans serif font}. +% % \item 中文主要字体, \textsf{中文无衬线字体} +% % \item Math demonstration: \( \alpha, \beta, \gamma, \delta, 1,2,3,4, a,b,c,d \), \[\mathrm{li}(x)\coloneqq \int_2^{\infty} \frac{1}{\log t}\,\mathrm{d}t \] +% % \end{itemize} + +% When the corresponding font is not installed, fonts that comes with TeX Live will be used instead. In this case, the experience might be reduced. \section{Some instructions} -There is no indentation at the beginning of each paragraph, but there will be a half-line space between each two paragraphs. like this --- +Many of the features described next are provided by the \ProjLib{} toolkit. Only the basic usage is mentioned here. For more details, please refer to its user documentation. + +\subsection{Language configuration} + +\minimart{} has multi-language support, including simplified Chinese, traditional Chinese, English, French, German, Japanese, and Russian. The language can be selected by the following macros: + +\begin{itemize} + \item \lstinline|\UseLanguage{|\meta{language name}\lstinline|}| is used to specify the language. The corresponding setting of the language will be applied after it. It can be used either in the preamble or in the main body. When no language is specified, ``English" is selected by default. + \item \lstinline|\UseOtherLanguage{|\meta{language name}\lstinline|}{|\meta{content}\lstinline|}|, which uses the specified language settings to typeset \meta{content}. Compared with \lstinline|\UseLanguage|, it will not modify the line spacing, so line spacing would remain stable when CJK and Western texts are mixed. +\end{itemize} + +\meta{language name} can be: +\begin{itemize} + \item Simplified Chinese: \texttt{Chinese}, \texttt{chinese}, \texttt{SChinese}, \texttt{schinese}, \texttt{SimplifiedChinese} or \texttt{simplifiedchinese} + \item Traditional Chinese: \texttt{TChinese}, \texttt{tchinese}, \texttt{TraditionalChinese} or \texttt{traditionalchinese} + \item English: \texttt{English} or \texttt{english} + \item French: \texttt{French} or \texttt{french} + \item German: \texttt{German}, \texttt{german} or \texttt{ngerman} + \item Japanese: \texttt{Japanese} or \texttt{japanese} + \item Russian: \texttt{Russian} or \texttt{russian} +\end{itemize} + +\medskip +In addition, you can also add new settings to selected language: +\begin{itemize} + \item \lstinline|\AddLanguageSetting{|\meta{settings}\lstinline|}| + \begin{itemize} + \item Add \meta{settings} to all supported languages. + \end{itemize} + \item \lstinline|\AddLanguageSetting(|\meta{language name}\lstinline|){|\meta{settings}\lstinline|}| + \begin{itemize} + \item Add \meta{settings} to the selected language \meta{language name}. + \end{itemize} +\end{itemize} +For example, \lstinline|\AddLanguageSetting(German){\color{orange}}| can make all German text displayed in orange (of course, one then need to add \lstinline|\AddLanguageSetting{\color{black}}| in order to correct the color of the text in other languages). -Here is the next paragraph. \subsection{Theorems and how to reference them} -Environments such as definitions and theorems have been pre-defined and can be used directly, for example: +Environments such as definitions and theorems have been pre-defined and can be used directly. + +More specifically, preset environments include: +\texttt{assumption}, \texttt{axiom}, \texttt{conjecture}, \texttt{convention}, \texttt{corollary}, \texttt{definition}, \texttt{definition-proposition}, \texttt{definition-theorem}, \texttt{example}, \texttt{exercise}, \texttt{fact}, \texttt{hypothesis}, \texttt{lemma}, \texttt{notation}, \texttt{problem}, \texttt{property}, \texttt{proposition}, \texttt{question}, \texttt{remark}, \texttt{theorem}, and the corresponding unnumbered version with an asterisk \lstinline|*| in the name. The display of these environments will change according to the current language. + +When referencing a theorem-like environment, it is recommended to use clever reference \lstinline|\cref{|\meta{label}\texttt{\}}. In this way, there is no need to explicitly write down the name of the corresponding environment every time. + +\begin{remind}[Example] \begin{code} \begin{definition}[Strange things] \label{def: strange} ... \end{code} + will produce \begin{definition}[Strange things]\label{def: strange} - This is the definition of some strange objects. + This is the definition of some strange objects. There is approximately an one-line space before and after the theorem environment, and there will be a symbol to mark the end of the environment. \end{definition} -There is approximately an one-line space before and after the theorem environment. There will be a symbol to mark the end of the environment. +\lstinline|\cref{def: strange}| will be displayed as: \cref{def: strange}. + +After using \lstinline|\UseLanguage{French}|, a theorem will be displayed as: + +\UseLanguage{French} +\begin{theorem}[Inutile]\label{thm} + Un théorème en français. +\end{theorem} + +By default, when referenced, the name of the theorem always matches the language of the context in which the theorem is located. For example, the definition above is still displayed in English in the current French mode: \cref{def: strange} and \cref{thm}. If you want the name of the theorem to match the current context when referencing, you can add \texttt{regionalref} to the global options. +\end{remind} + +\UseLanguage{English} -When referencing, you can directly use clever reference \lstinline|\cref{(label name)}|. For example, \lstinline|\cref{def: strange}| will be displayed as: \cref{def: strange}. \subsection{Define a new theorem-like environment} -First define the name of this environment in the language used: \lstinline|\(name of environment)(language name)|. Where \lstinline|(language name)| can be \lstinline|EN|, \lstinline|FR|, \lstinline|CN|, etc., and then define this environment in one of the following four ways: +If you need to define a new theorem-like environment, you must first define the name of the environment in the language used: \lstinline|\|\meta{name of environment}\meta{language abbr}, where \meta{language abbr} is the abbreviation of language, which can be: +% \vspace{-.5\baselineskip} +\begin{longtable}{ll|ll} + \texttt{CN} & Simplified Chinese & \texttt{DE} & German\\ + \texttt{TC} & Traditional Chinese & \texttt{JP} & Japanese\\ + \texttt{EN} & English & \texttt{RU} & Russian\\ + \texttt{FR} & French & &\\ +\end{longtable} + +\vspace{-.5\baselineskip} +\begin{remind} + If you want to define an environment with an asterisk \lstinline|*| after the name, you don't need to write an asterisk in the \meta{name of environment} above. See the example below. +\end{remind} + +And then define this environment in one of following five ways: \begin{itemize} - \item \lstinline|\CreateTheorem*{(name of environment)}| - \item \lstinline|\CreateTheorem{(name of environment)}[(numbered like)]| - \item \lstinline|\CreateTheorem{(name of environment)}<(numbered within)>| - \item \lstinline|\CreateTheorem{(name of environment)}| + \item \lstinline|\CreateTheorem*{|\meta{name of environment}\lstinline|}| + \begin{itemize} + \item Define an unnumbered environment \meta{name of environment} + \end{itemize} + \item \lstinline|\CreateTheorem{|\meta{name of environment}\lstinline|}| + \begin{itemize} + \item Define a numbered environment \meta{name of environment}, numbered in order 1,2,3,\dots + \end{itemize} + \item \lstinline|\CreateTheorem{|\meta{name of environment}\lstinline|}[|\meta{numbered like}\lstinline|]| + \begin{itemize} + \item Define a numbered environment \meta{name of environment}, which shares the counter \meta{numbered like} + \end{itemize} + \item \lstinline|\CreateTheorem{|\meta{name of environment}\lstinline|}<|\meta{numbered within}\lstinline|>| + \begin{itemize} + \item Define a numbered environment \meta{name of environment}, numbered within the \\counter \meta{numbered within} + \end{itemize} + \item \lstinline|\CreateTheorem{|\meta{name of environment}\lstinline|}(|\meta{existed environment}\lstinline|)|\\ + \lstinline|\CreateTheorem*{|\meta{name of environment}\lstinline|}(|\meta{existed environment}\lstinline|)| + \begin{itemize} + \item Identify \meta{name of environment} with \meta{existed environment} or \meta{existed environment}\lstinline|*|. + \item This method is usually useful in the following two situations: + \begin{enumerate} + \item To use a more concise name. For example, with \lstinline|\CreateTheorem{thm}|\\\lstinline|(theorem)|, one can then use the name \texttt{thm} to write theorem. + \item To remove the numbering. For example, one can remove the numbering of the \texttt{remark} environment with \lstinline|\CreateTheorem{remark}(remark*)|. + \end{enumerate} + \end{itemize} \end{itemize} +\begin{remind} + It uses \textsf{amsthm} internally, so the traditional \texttt{theoremstyle} is also applicable to it. One only needs declare the style before the relevant definitions. +\end{remind} + \def\proofideanameEN{Idea} -\CreateTheorem*{proofidea} +\CreateTheorem*{proofidea*} +\CreateTheorem{proofidea}<subsection> + +\bigskip +Here is an example. The following code: -For example, \begin{code} \def\proofideanameEN{Idea} - \CreateTheorem*{proofidea} + \CreateTheorem*{proofidea*} + \CreateTheorem{proofidea}<subsection> \end{code} -defines an unnumbered environment \lstinline|proofidea|, which supports using in the English context, and the effect is as follows: + +defines an unnumbered environment \lstinline|proofidea*| and a numbered environment \lstinline|proofidea| (numbered within subsection) respectively. They can be used in English context. The effect is as follows: + +\begin{proofidea*} + The \lstinline|proofidea*| environment. +\end{proofidea*} \begin{proofidea} - ... + The \lstinline|proofidea| environment. \end{proofidea} \subsection{Draft mark} -You can use \lstinline|\dnf| to mark the unfinished part (this is a feature provide by the classes, not the \minimalist{} package). For example: +You can use \lstinline|\dnf| to mark the unfinished part. For example: \begin{itemize} - \item \lstinline|\dnf|: \quad \dnf - \item \lstinline|\dnf<Still need ...>|: \quad \dnf<Still need ...> + \item \lstinline|\dnf| or \lstinline|\dnf<...>|. The effect is: \dnf~ or \dnf<...>. \\The prompt text changes according to the current language. For example, it will be displayed as \UseOtherLanguage{French}{\dnf} in French mode. \end{itemize} -Similarly, there is \lstinline|\needgraph|: +Similarly, there is \lstinline|\needgraph| : \begin{itemize} - \item \lstinline|\needgraph|: \needgraph - \item \lstinline|\needgraph<About ...>|: \needgraph<About ...> + \item \lstinline|\needgraph| or \lstinline|\needgraph<...>|. The effect is: \needgraph or \needgraph<...>The prompt text changes according to the current language. For example, in French mode, it will be displayed as \UseOtherLanguage{French}{\needgraph} \end{itemize} -\subsection{Language configuration} -You can use \lstinline|\UseLanguage{(name of language))}| at any time to change the language, Language names include Chinese, English, French (the case of the first letter is arbitrary, for example, ``chinese'' is also acceptable). With this, the effects of various commands and environments will also change accordingly. +\subsection{On the title, abstract and keywords} -For example, after using \lstinline|\UseLanguage{French}|, the theorem and the draft mark will be displayed as: +\minimart{} has both the features of standard classes and that of the \AmS{} classes. -\UseLanguage{French} -\begin{theorem}[Inutile]\label{thm} - Un théorème en français. \dnf -\end{theorem} +Therefore, the title part can either be written in the usual way, in accordance with the standard class \textsf{article}: -When referenced, the name of the theorem always matches the language of the region in which the theorem is located, for example, the definition of the beginning is still displayed in English in the current French mode: \cref{def: strange} and \cref{thm}. +\begin{code} + \title{(*\meta{title}*)} + \author{(*\meta{author}*)} + \date{(*\meta{date}*)} + \maketitle + \begin{abstract} + (*\meta{abstract}*) + \end{abstract} + \begin{keyword} + (*\meta{keywords}*) + \end{keyword} +\end{code} + +or written in the way of \AmS{} classes: + +\begin{code} + \title{(*\meta{title}*)} + \author{(*\meta{author}*)} + \address{(*\meta{address}*)} + \email{(*\meta{email}*)} + \date{(*\meta{date}*)} + \keywords{(*\meta{keywords}*)} + \subjclass{(*\meta{subjclass}*)} + \begin{abstract} + (*\meta{abstract}*) + \end{abstract} + \maketitle +\end{code} + +\medskip +The author information can contain multiple groups, written as: + +\begin{code} + \author{(*\meta{author 1}*)} + \address{(*\meta{address 1}*)} + \email{(*\meta{email 1}*)} + \author{(*\meta{author 2}*)} + \address{(*\meta{address 2}*)} + \email{(*\meta{email 2}*)} + ... +\end{code} + +Among them, the mutual order of \lstinline|\address|, \lstinline|\curraddr|, \lstinline|\email| is not important. -\UseLanguage{English} \subsection{On the line numbers} Line numbers can be turned on and off at any time. \lstinline|\linenumbers| is used to enable the line numbers, and \lstinline|\nolinenumbers| is used to disable them. For the sake of beauty, the title, table of contents, index and some other elements are not numbered. @@ -176,35 +392,117 @@ In \lstinline|\section| or \lstinline|\subsection| , if you wish to add footnote \end{itemize} This is a disadvantage brought about by the underline decoration of the title. + +\section{Known issues} + +\begin{itemize}[itemsep=.6em] + \item The font settings are still not perfect. + \item Since many features are based on the \ProjLib{} toolkit, \minimalist{} (and hence \minimart{} and \minimbook{}) inherits all its problems. For details, please refer to the "Known Issues" section of the \ProjLib{} documentation. + \item The error handling mechanism is incomplete: there is no corresponding error prompt when some problems occur. + \item There are still many things that can be optimized in the code. +\end{itemize} + +\clearpage \section{Document templates} -\singlespacing +\subsection{The standard way} + +If you want to write in the standard way, you can refer to the following example: -\LocallyStopLineNumbers -\begin{minipage}{0.45\textwidth} \begin{code} -\documentclass[fast]{minimart} +\documentclass{minimart} +\usepackage{PJLtoolkit} % Load ProjLib toolkit -\linenumbers -\UseLanguage{French} +\UseLanguage{French} % Use French from here \begin{document} -\title{Titre} -\author{Nom} -\date{03 / 2021, Lieu} +\title{Le Titre} +\author{Auteur} +\date{\PJLdate{2022-04-01}} \maketitle -%% Texte ici +\begin{abstract} + Ceci est un résumé. \dnf<Plus de contenu est nécessaire.> +\end{abstract} +\begin{keyword} + AAA, BBB, CCC, DDD, EEE +\end{keyword} + +\section{Un théorème} + +%% Theorem-like environments can be used directly +\begin{theorem}\label{thm:abc} + Ceci est un théorème. +\end{theorem} + +Référence du théorème: \cref{thm:abc} + % It is recommended to use clever reference \end{document} \end{code} -\end{minipage} -\par -\ResumeLineNumbers -\bigskip -(\lstinline|\UseLanguage| can be placed either in the preamble or in the body part, and can be used repeatedly as needed) +If you wish to switch to the standard class later, just replace the first two lines with: + +\begin{code} +\documentclass{article} +\usepackage[a4paper,margin=1in]{geometry} +\usepackage[hidelinks]{hyperref} +\usepackage[palatino]{PJLtoolkit} % Load ProjLib toolkit +\end{code} + + +\clearpage +\subsection{The \texorpdfstring{\AmS{}}{AMS} way} + +If you intend to switch to the journal template in the future and thus want to use the writing style as in the \AmS{} classes, you can refer to the following example: + +\begin{code} +\documentclass{minimart} +\usepackage{PJLtoolkit} % Load ProjLib toolkit + +\UseLanguage{French} % Use French from here + +\begin{document} + +\title{Le Titre} +\author{Auteur 1} +\address{Adresse 1} +\email{\href{Courriel 1}{Courriel 1}} +\author{Auteur 1} +\address{Adresse 1} +\email{\href{Courriel 2}{Courriel 2}} +\date{\PJLdate{2022-04-01}} +\subjclass{*****} +\keywords{...} + +\begin{abstract} + Ceci est un résumé. \dnf<Plus de contenu est nécessaire.> +\end{abstract} + +\maketitle + +\section{Première section} + +%% Theorem-like environments can be used directly +\begin{theorem}\label{thm:abc} + Ceci est un théorème. +\end{theorem} + +Référence du théorème: \cref{thm:abc} + % It is recommended to use clever reference + +\end{document} +\end{code} + +In this way, if you wish to switch to \AmS{} class later, just replace the first two lines with: + +\begin{code} +\documentclass{amsart} +\usepackage[a4paper,margin=1in]{geometry} +\usepackage[hidelinks]{hyperref} +\usepackage[palatino]{PJLtoolkit} % Load ProjLib toolkit +\end{code} \end{document} diff --git a/Master/texmf-dist/tex/latex/minimalist/minimalist.sty b/Master/texmf-dist/tex/latex/minimalist/minimalist.sty index 2648a34701c..12a4b334079 100644 --- a/Master/texmf-dist/tex/latex/minimalist/minimalist.sty +++ b/Master/texmf-dist/tex/latex/minimalist/minimalist.sty @@ -17,22 +17,29 @@ %% \NeedsTeXFormat{LaTeX2e}[2020-10-01] \ProvidesPackage{minimalist} - [2021/03/15 A simple and clear style for articles and books] -\RequirePackage{etoolbox} + [2021/05/23 A simple and clear style for articles and books] \RequirePackage{kvoptions} +\RequirePackage{etoolbox} \SetupKeyvalOptions{% family = @minimalist, prefix = @minimalist@ } \DeclareBoolOption[false]{draft} \DeclareBoolOption[false]{fast} -\DeclareBoolOption[false]{polyglossia} +\DeclareBoolOption[false]{allowbf} +\DeclareBoolOption[false]{classical} \ProcessKeyvalOptions*\relax \if@minimalist@draft \@minimalist@fasttrue \fi +\if@minimalist@allowbf + \newcommand{\conditionalbfseries}{\bfseries\colorlet{PJLtempcolor}{.}\color{PJLtempcolor!83!paper}} +\else + \newcommand{\conditionalbfseries}{} +\fi + \newif\ifIsBook \ifdefined\chapter\IsBooktrue\else\IsBookfalse\fi @@ -40,17 +47,24 @@ %% Title fonts %%================================ \RequirePackage{anyfontsize} -\newcommand{\partfont}{\sffamily} -\newcommand{\chapfont}{\sffamily} -\newcommand{\secfont}{} -\newcommand{\subsecfont}{} -\newcommand{\subsubsecfont}{} +\if@minimalist@classical +\newcommand{\partfont}{\conditionalbfseries\sffamily} +\newcommand{\chapfont}{\conditionalbfseries\sffamily} +\newcommand{\secfont}{\conditionalbfseries\sffamily} +\newcommand{\subsecfont}{\conditionalbfseries\sffamily} +\newcommand{\subsubsecfont}{\conditionalbfseries\sffamily} +\else +\newcommand{\partfont}{\conditionalbfseries\sffamily} +\newcommand{\chapfont}{\conditionalbfseries\sffamily} +\newcommand{\secfont}{\conditionalbfseries} +\newcommand{\subsecfont}{\conditionalbfseries} +\newcommand{\subsubsecfont}{\conditionalbfseries} +\fi %%================================ -%% Color +%% Paper configuration %%================================ -\RequirePackage{xcolor} -\definecolor{paper}{RGB}{255,255,255} +\RequirePackage{PJLpaper} %%================================ %% Footer @@ -58,6 +72,7 @@ \RequirePackage{geometry} \RequirePackage{fancyhdr} \RequirePackage{extramarks} +\AtEndPreamble{\fancyhfoffset{0pt}} \fancypagestyle{fancy}{ \fancyhf{} \if@twoside @@ -128,8 +143,7 @@ \renewcommand{\chaptermark}[1]{\markboth{\textsc{#1}}{\textsc{#1}}} \fi \renewcommand*{\sectionmark}[1]{% - \markright{\raisebox{.03em}{\footnotesize/}% - ~\thesection~\raisebox{.03em}{\footnotesize/}~~~#1}} + \markright{\sec@decochar~\thesection~\sec@decochar~~~#1}} }{ \if@twoside \renewcommand*{\sectionmark}[1]{\markboth{\textsc{#1}}{}} @@ -137,11 +151,12 @@ \renewcommand*{\sectionmark}[1]{\markboth{\textsc{#1}}{\textsc{#1}}} \fi } -%%=============================== +%%================================ %% Line spacing %%================================ -\RequirePackage{setspace} -\setstretch{1.07} +\RequirePackage{PJLlang} +\PJLsetlinespacing{\setstretch{1.07}} +\PJLsetCJKlinespacing{\onehalfspacing} \raggedbottom %%================================ @@ -154,11 +169,12 @@ \RequirePackage{mathtools} +\ifdefined\linenomathpatch\else \newcommand*\linenomathpatch[1]{% \cspreto{#1}{\linenomath}% \cspreto{#1*}{\linenomath}% - \cspreto{end#1}{\endlinenomath}% - \cspreto{end#1*}{\endlinenomath}% + \csappto{end#1}{\endlinenomath}% + \csappto{end#1*}{\endlinenomath}% } \newcommand*\linenomathpatchAMS[1]{% \cspreto{#1}{\linenomathAMS}% @@ -179,6 +195,7 @@ \linenomathpatchAMS{align} \linenomathpatchAMS{alignat} \linenomathpatchAMS{flalign} +\fi \newif\ifLNturnsON \def\LocallyStopLineNumbers{\LNturnsONfalse% @@ -196,6 +213,20 @@ \PassOptionsToPackage{normalem}{ulem} \RequirePackage{ulem} +\newcommand{\partstring}{\MakeUppercase{{\partname~\protect\thepart}}} +\gappto{\PJLlang@langconfig@common}{% +\renewcommand{\partstring}{\MakeUppercase{{\partname~\protect\thepart}}}% +} +\gappto{\PJLlang@langconfig@chinese}{% +\renewcommand{\partstring}{第~\thepart~部分}% +} +\gappto{\PJLlang@langconfig@tchinese}{% +\renewcommand{\partstring}{第~\thepart~部分}% +} +\gappto{\PJLlang@langconfig@japanese}{% +\renewcommand{\partstring}{第~\thepart~部}% +} + \ifbool{IsBook}{ %% Part \titleclass{\part}{top} % make part like a chapter @@ -203,7 +234,7 @@ {\thispagestyle{part}% \LocallyStopLineNumbers% \partfont\filleft} - {\MakeUppercase{\partname~\protect\thepart}} + {\partstring} {1em} {\fontsize{20}{0}\selectfont\MakeUppercase{#1}} [\ResumeLineNumbers] @@ -252,7 +283,7 @@ \titleformat{\part}[display] {\LocallyStopLineNumbers% \partfont\filleft} - {\MakeUppercase{\partname~\protect\thepart}} + {\partstring} {.3em} {\fontsize{16}{0}\selectfont\MakeUppercase{#1}} [\ResumeLineNumbers] @@ -277,15 +308,25 @@ } %% Section +\renewcommand\thesection{\arabic{section}} +\if@minimalist@classical +\newcommand\sec@decochar{} +\titleformat{\section} + {\LocallyStopLineNumbers% + \secfont\centering} + {\thesection}{.75em} + {#1} + [\ResumeLineNumbers] +\else \newcommand\seculine{\bgroup\markoverwith{\color{gray!55!paper}% \rule[-0.9ex]{2pt}{.6pt}\hspace{-2pt}\rule[-1.2ex]{2pt}{.6pt}}\ULon} -\renewcommand\thesection{\arabic{section}} +\newcommand\sec@decochar{\raisebox{.03em}{\normalfont\footnotesize/}} \titleformat{\section} {\LocallyStopLineNumbers% \secfont\centering}{}{0em} - {{\small\textcolor{gray!55!paper}{\raisebox{.03em}{\footnotesize/}}% - \,\,\textcolor{black!80!paper}{\arabic{section}}% - \,\,\textcolor{gray!55!paper}{\raisebox{.03em}{\footnotesize/}}}\\ + {{\small\textcolor{gray!55!paper}{\sec@decochar}% + \,\,\textcolor{black!90!paper}{\conditionalbfseries\arabic{section}}% + \,\,\textcolor{gray!55!paper}{\sec@decochar}}\\ \seculine{#1}} [\ResumeLineNumbers] \titleformat{name=\section,numberless} @@ -294,12 +335,21 @@ \secfont\centering}{}{0em} {\seculine{#1}} [\ResumeLineNumbers] +\fi %% Subsection -\newcommand\subseculine{\bgroup\markoverwith{\color{gray!55!paper}% - \rule[-1ex]{2pt}{.75pt}}\ULon} \renewcommand\thesubsection{% \ifnum\c@section=0\else\arabic{section}.\fi\arabic{subsection}} +\if@minimalist@classical +\titleformat{\subsection} + {\LocallyStopLineNumbers% + \subsecfont} + {\thesubsection}{.75em} + {#1} + [\ResumeLineNumbers] +\else +\newcommand\subseculine{\bgroup\markoverwith{\color{gray!55!paper}% + \rule[-1ex]{2pt}{.75pt}}\ULon} \titleformat{\subsection} {\LocallyStopLineNumbers% \subsecfont}{}{0em} @@ -310,22 +360,26 @@ \subsecfont}{}{0em} {\subseculine{#1}} [\ResumeLineNumbers] +\fi %% Subsubsection \titleformat{\subsubsection} {\LocallyStopLineNumbers% - \subsubsecfont}{\thesubsubsection}{1em} + \color{paper!30!-paper}\subsubsecfont}{\thesubsubsection}{1em} {#1} [\ResumeLineNumbers] -\titlespacing{\subsubsection}{0pt}{.8\baselineskip}{.5\baselineskip} + +\titlespacing{\section}{0pt}{\baselineskip}{.6\baselineskip} +\titlespacing{\subsection}{0pt}{.75\baselineskip}{.4\baselineskip} +\titlespacing{\subsubsection}{0pt}{.5\baselineskip}{.2\baselineskip} %%================================ -%% TOC format +%% ToC format %%================================ \RequirePackage{titletoc} \titlecontents{part} [0em] - {\addvspace{1.5pc}\filcenter\partfont} + {\addvspace{1.5pc}\filcenter\normalfont} {\thecontentslabel\\\uppercase} {} {} % without page number @@ -333,32 +387,32 @@ \ifbool{IsBook}{ \titlecontents{chapter} [2em] % i.e., 0em (part) + 2em - {\addvspace{.5pc}\chapfont} + {\addvspace{.5pc}\normalfont} {\contentslabel{2em}} {\hspace*{-2em}} - {\normalfont\titlerule*[1em]{\textcolor{gray!30!paper}{.}}\contentspage} + {\titlerule*[1em]{\textcolor{gray!30!paper}{.}}\contentspage} \titlecontents{section} [4em] % i.e., 2em (chapter) + 2em - {\secfont} + {\normalfont} {\contentslabel{1.75em}} {\hspace*{-1.75em}} {\titlerule*[1em]{\textcolor{gray!30!paper}{.}}\contentspage} \titlecontents{subsection} [7em] % i.e., 4em (section) + 3em - {\subsecfont} + {\normalfont} {\contentslabel{2.75em}} {\hspace*{-2.75em}} {\titlerule*[1em]{\textcolor{gray!30!paper}{.}}\contentspage} }{ \titlecontents{section} [2em] % i.e., 0em (part) + 2em - {\secfont} + {\normalfont} {\contentslabel{1.75em}} {\hspace*{-1.75em}} {\titlerule*[1em]{\textcolor{gray!30!paper}{.}}\contentspage} \titlecontents{subsection} [5em] % i.e., 2em (section) + 3em - {\subsecfont} + {\normalfont} {\contentslabel{2.75em}} {\hspace*{-2.75em}} {\titlerule*[1em]{\textcolor{gray!30!paper}{.}}\contentspage} @@ -370,6 +424,8 @@ \RequirePackage{enumitem} \setlist{noitemsep,leftmargin=2em} \renewcommand\labelitemi{\color{gray!50}$\bullet$} +\renewcommand\labelitemii{\color{gray!55}--} +\renewcommand\labelitemiii{\color{gray!55}\texttt{*}} %%================================ %% Blank page @@ -386,136 +442,120 @@ \null\newpage\fi\fi} %%================================ +%% Draft mark +%%================================ +\RequirePackage{PJLdraft} + +%%================================ %% Theorems %%================================ \RequirePackage{amsthm} +\if@minimalist@classical + \if@minimalist@allowbf + \newtheoremstyle{simple}% + {}{}% + {\normalfont}{}% + {\normalfont}{}% + {0pt}% + {{\conditionalbfseries\sffamily\thmname{#1}\thmnumber{ #2}}\hspace{.4em}% + {\color{gray}\thmnote{\ensuremath{(\text{#3})}~~}}} + \else + \newcommand\thmuline{\bgroup\markoverwith{\color{gray!55!paper}% + \rule[-.6ex]{2pt}{.5pt}}\ULon} + \newtheoremstyle{simple}% + {}{}% + {\normalfont}{}% + {\normalfont}{}% + {0pt}% + {{\sffamily\thmuline{\thmname{\textsc{#1}}\thmnumber{ #2}}}\hspace{.4em}% + {\color{gray}\thmnote{\ensuremath{(\text{#3})}~~}}} + \fi +\else \newtheoremstyle{simple}% {}{}% {\normalfont}{}% {\normalfont}{}% {0pt}% - {\thmname{\textsc{#1}}\thmnumber{ #2}\hspace{.4em}% + {{\conditionalbfseries\thmname{#1}\thmnumber{ #2}}\hspace{.4em}% \textcolor{gray!55!paper}{$|$}\hspace{.4em}% \color{gray}\thmnote{\ensuremath{(\text{#3})}~~}\pushQED{\qed}} \def\@endtheorem{\popQED\endtrivlist\@endpefalse } +\fi \renewcommand{\qedsymbol}{% \makebox[1em]{\color{gray!55!paper}\rule[-0.1em]{.95em}{.95em}}} -\if@minimalist@fast\else +\if@minimalist@fast + \providecommand{\phantomsection}{} + \RequirePackage{url} + \newcommand{\href}[2]{#2} +\else \PassOptionsToPackage{hidelinks,linktoc=all}{hyperref} \RequirePackage{bookmark} \RequirePackage{hyperref} \fi -\RequirePackage{aliascnt} -\PassOptionsToPackage{nameinlink}{cleveref} -\RequirePackage{cleveref} - -\newcommand\englishABBR{EN} -\newcommand\frenchABBR{FR} -\newcommand\chineseABBR{CN} - -\RequirePackage{xstring} -\newcommand\PassFirstToSecond[2]{#2{#1}}% -\NewDocumentCommand{\CreateTheorem}{sm}{% - \begingroup - \protected@edef\temp{#2}% - \expandafter\IfEndWith\expandafter{\temp}{*}{% - \expandafter\StrGobbleRight\expandafter{\temp}{1}[\temp]% - \PassFirstToSecond{*}% - }{% - \PassFirstToSecond{}% - }% - {\expandafter\PassFirstToSecond% - \expandafter{\temp}{\endgroup\InnerCreateTheorem{#1}}}% -}% -\NewDocumentCommand{\InnerCreateTheorem}{mmmod<>}{% - \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.}% - {}% - }{% - \IfBooleanTF{#1}{% - \newtheorem*{#2EN#3}{\csname#2nameEN\endcsname} - \newtheorem*{#2FR#3}{\csname#2nameFR\endcsname} - \newtheorem*{#2CN#3}{\csname#2nameCN\endcsname} - }{% - \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}}% - }% - %------------------------------------------------------------------- - \CreateTheoremNumberedLikeAliasCounter{#2}{EN}{#3}% - \CreateTheoremNumberedLikeAliasCounter{#2}{FR}{#3}% - \CreateTheoremNumberedLikeAliasCounter{#2}{CN}{#3}% - %------------------------------------------------------------------- - }% - \NewDocumentEnvironment{#2#3}{} - {\csname#2\csname\languagename ABBR\endcsname#3\endcsname}% - {\csname end#2\csname\languagename ABBR\endcsname#3\endcsname}% - }% -}% -\NewDocumentCommand{\CreateTheoremNumberedLikeAliasCounter}{mmm}{% - \newaliascnt{#1#2#3}{#1#3}% - \newtheorem{#1#2#3}[{#1#2#3}]{\csname#1name#2\endcsname}% - \aliascntresetthe{#1#2#3}% - \crefname{#1#2#3}% - {\csname#1name#2\endcsname}% - {\csname#1name#2\endcsname}% -}% - -%% English theorems names + +\RequirePackage[nothms]{PJLthm} + +%% Redefine English theorems names \def\theoremnameEN{\textsc{Theorem}} \def\lemmanameEN{\textsc{Lemma}} \def\propositionnameEN{\textsc{Proposition}} \def\corollarynameEN{\textsc{Corollary}} +\def\propertynameEN{\textsc{Property}} \def\factnameEN{\textsc{Fact}} \def\conjecturenameEN{\textsc{Conjecture}} \def\definitionnameEN{\textsc{Definition}} +\def\axiomnameEN{\textsc{Axiom}} +\def\assumptionnameEN{\textsc{Assumption}} +\def\conventionnameEN{\textsc{Convention}} +\def\hypothesisnameEN{\textsc{Hypothesis}} +\def\notationnameEN{\textsc{Notation}} \def\examplenameEN{\textsc{Example}} \def\problemnameEN{\textsc{Problem}} +\def\questionnameEN{\textsc{Question}} +\def\exercisenameEN{\textsc{Exercise}} \def\remarknameEN{\textsc{Remark}} -%% French theorems names +%% Redefine French theorems names \def\theoremnameFR{\textsc{Théorème}} \def\lemmanameFR{\textsc{Lemme}} \def\propositionnameFR{\textsc{Proposition}} \def\corollarynameFR{\textsc{Corollaire}} +\def\propertynameFR{\textsc{Propriété}} \def\factnameFR{\textsc{Fait}} \def\conjecturenameFR{\textsc{Conjecture}} \def\definitionnameFR{\textsc{Définition}} +\def\axiomnameFR{\textsc{Axiome}} +\def\assumptionnameFR{\textsc{Supposition}} +\def\conventionnameFR{\textsc{Convention}} +\def\hypothesisnameFR{\textsc{Hypothèse}} +\def\notationnameFR{\textsc{Notation}} \def\examplenameFR{\textsc{Exemple}} \def\problemnameFR{\textsc{Problème}} +\def\questionnameFR{\textsc{Question}} +\def\exercisenameFR{\textsc{Exercice}} \def\remarknameFR{\textsc{Remarque}} -%% Chinese theorems names -\def\theoremnameCN{定理} -\def\lemmanameCN{引理} -\def\propositionnameCN{命题} -\def\corollarynameCN{推论} -\def\factnameCN{事实} -\def\conjecturenameCN{猜想} -\def\definitionnameCN{定义} -\def\examplenameCN{例} -\def\problemnameCN{问题} -\def\remarknameCN{备注} +%% Redefine German theorems names +\def\theoremnameDE{\textsc{Satz}} +\def\lemmanameDE{\textsc{Lemma}} +\def\propositionnameDE{\textsc{Proposition}} +\def\corollarynameDE{\textsc{Korollar}} +\def\propertynameDE{\textsc{Eigenschaft}} +\def\factnameDE{\textsc{Fakt}} +\def\conjecturenameDE{\textsc{Vermutung}} +\def\definitionnameDE{\textsc{Definition}} +\def\axiomnameDE{\textsc{Axiom}} +\def\assumptionnameDE{\textsc{Annahme}} +\def\conventionnameDE{\textsc{Konvention}} +\def\hypothesisnameDE{\textsc{Hypothese}} +\def\notationnameDE{\textsc{Notation}} +\def\examplenameDE{\textsc{Beispiel}} +\def\problemnameDE{\textsc{Problem}} +\def\questionnameDE{\textsc{Frage}} +\def\exercisenameDE{\textsc{Übung}} +\def\remarknameDE{\textsc{Bemerkung}} %% Theorem environments \theoremstyle{simple} @@ -528,113 +568,117 @@ \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}<highest> +\CreateTheorem{conjecture}[theorem] \CreateTheorem*{theorem*} \CreateTheorem*{lemma*} \CreateTheorem*{proposition*} \CreateTheorem*{corollary*} +\CreateTheorem*{definition-proposition*} +\CreateTheorem*{definition-theorem*} +\CreateTheorem*{property*} \CreateTheorem*{fact*} \CreateTheorem*{conjecture*} \CreateTheorem{definition}[theorem] -\CreateTheorem{example}<highest> -\CreateTheorem{problem}<highest> +\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] \CreateTheorem*{definition*} +\CreateTheorem*{axiom*} +\CreateTheorem*{assumption*} +\CreateTheorem*{convention*} +\CreateTheorem*{hypothesis*} +\CreateTheorem*{notation*} \CreateTheorem*{example*} \CreateTheorem*{problem*} +\CreateTheorem*{question*} +\CreateTheorem*{exercise*} \CreateTheorem{remark}<highest> \CreateTheorem*{remark*} -%%================================ -%% Language configuration -%%================================ -\if@minimalist@polyglossia - \RequirePackage{polyglossia} - \setdefaultlanguage{english} - \setotherlanguage[frenchpart=false]{french} -\else - \PassOptionsToPackage{french,english}{babel} - \RequirePackage{babel} - \frenchsetup{PartNameFull=false} -\fi -\newcommand{\minimalist@langconfig@chinese}{% - \def\abstractname{摘要}% - \def\proofname{证明}% - \def\contentsname{目录}% - \def\listfigurename{插图}% - \def\listtablename{表格}% - \def\figurename{图}% - \def\tablename{表}% - \def\indexname{索引}% - \def\appendixname{附录}% - \def\bibname{参考文献}% - \renewcommand{\languagename}{chinese}% -} -\newcommand{\minimalist@langconfig@english}{% - \selectlanguage{english}% -} -\newcommand{\minimalist@langconfig@french}{% - \selectlanguage{french}% - \def\frenchpartname{Partie}% -} -\newcommand{\UseLanguageCORE}[1]{% - \ifstrequal{#1}{chinese}{\onehalfspacing\minimalist@langconfig@chinese}{}% - \ifstrequal{#1}{Chinese}{\onehalfspacing\minimalist@langconfig@chinese}{}% - \ifstrequal{#1}{english}{\setstretch{1.07}\minimalist@langconfig@english}{}% - \ifstrequal{#1}{English}{\setstretch{1.07}\minimalist@langconfig@english}{}% - \ifstrequal{#1}{french}{\setstretch{1.07}\minimalist@langconfig@french}{}% - \ifstrequal{#1}{French}{\setstretch{1.07}\minimalist@langconfig@french}{}% -} -\newcommand{\UseLanguage}[1]{% - \ifx\@onlypreamble\@notprerr% - \UseLanguageCORE{#1}% - \else% - \AfterEndPreamble{\UseLanguageCORE{#1}}% - \fi% -} -\newcommand{\UseOtherLanguage}[2]{% -\begingroup% - \ifstrequal{#1}{chinese}{\minimalist@langconfig@chinese}{}% - \ifstrequal{#1}{Chinese}{\minimalist@langconfig@chinese}{}% - \ifstrequal{#1}{english}{\minimalist@langconfig@english}{}% - \ifstrequal{#1}{English}{\minimalist@langconfig@english}{}% - \ifstrequal{#1}{french}{\minimalist@langconfig@french}{}% - \ifstrequal{#1}{French}{\minimalist@langconfig@french}{}% - #2% -\endgroup% -} +\setlength{\parindent}{2em} -\ifbool{IsBook}{}{ +\ifbool{IsBook}{}{% %%================================ %% Title block style %%================================ +\if@minimalist@classical +\renewcommand{\@maketitle}{% + \LocallyStopLineNumbers% + \begin{center}% + {\conditionalbfseries\sffamily\large\@title}\\\bigskip% + \color{black!80!paper}% + {\small\scshape\@author}\\[2pt]% + {\small\@date}% + \end{center}% + \bigskip\par% + \ResumeLineNumbers% +} +\else \renewcommand{\@maketitle}{% \LocallyStopLineNumbers% \noindent% {\textcolor{gray!55!paper}{\rule{\textwidth}{0.75pt}}}% - \vspace{-\parskip}% + % \vspace{-\parskip}% + \vspace{-.5\baselineskip}% \begin{flushright}% - {\@title}\\\medskip% + {\conditionalbfseries\@title}\\\medskip% \color{black!80!paper}% - {\small\scshape\@author}\\[2pt]% + {\small\scshape\@author}% + \par\vspace{-\parskip}\vspace{2pt}% {\small\@date}% \end{flushright}% - \vspace{-\parskip}% + % \vspace{-\parskip}% \vspace{-.5\baselineskip}% + \ifx\@date\@empty% + \vspace{-.2\baselineskip}% + \else% + \vspace{-.5\baselineskip}% + \fi% {\textcolor{gray!55!paper}{\rule{\textwidth}{0.75pt}}\par}% \ResumeLineNumbers% } +\fi \apptocmd{\maketitle}{\thispagestyle{fancy}}{}{\FAIL} %%================================ %% Abstract style %%================================ +\if@minimalist@classical +\renewenvironment{abstract}{% + \LocallyStopLineNumbers% + \vspace{-\baselineskip}% + \begin{center}% + \textsc{\conditionalbfseries\small\abstractname}\\% + \vspace{-.3\baselineskip}% + \begin{minipage}[t]{.833\textwidth}% + \vspace{0pt}% + \color{black!80!paper}% + \footnotesize% + \parindent=2em +}{% + \end{minipage}% + \end{center}% + \medskip% + \ResumeLineNumbers% +} +\else \renewenvironment{abstract}{% \LocallyStopLineNumbers% \begin{flushright}% - \textsc{\small\abstractname}\par% - \vspace{-.75\baselineskip}% + \textsc{\conditionalbfseries\small\abstractname}\par% + \vspace{-\parskip}% + \vspace{-.25\baselineskip}% \begin{minipage}[t]{.833\textwidth}% \vspace{0pt}% \color{black!80!paper}% @@ -643,8 +687,68 @@ }{% \end{minipage}% \end{flushright}% + \bigskip% \ResumeLineNumbers% } +\fi + +%%================================ +%% Keyword environment +%%================================ +\def\keywordnameEN{\textsc{Keywords}} +\def\keywordnameFR{\textsc{Mots clés}} +\def\keywordnameDE{\textsc{Schlüsselwörter}} +\def\keywordnameCN{关键词} +\def\keywordnameTC{關鍵詞} +\def\keywordnameJP{キーワード} +\def\keywordnameRU{Ключевые слова} + +\if@minimalist@classical +\newenvironment{keyword}{% + \LocallyStopLineNumbers% + \vspace{-.75\baselineskip}% + \begin{center}% + {\conditionalbfseries\small\csname keywordname\csname\languagename ABBR\endcsname\endcsname}\\% + \vspace{-.3\baselineskip}% + \begin{minipage}[t]{.833\textwidth}% + \vspace{0pt}% + \color{black!80!paper}% + \footnotesize% + \parindent=2em + \begin{center}% +}{% + \end{center}% + \end{minipage}% + \end{center}% + \medskip% + \ResumeLineNumbers% +} +\else +\newenvironment{keyword}{% + \LocallyStopLineNumbers% + \vspace{-.5\baselineskip}% + \begin{flushright}% + {\conditionalbfseries\small\csname keywordname\csname\languagename ABBR\endcsname\endcsname}\par% + \vspace{-\parskip}% + \vspace{-.30\baselineskip}% + \begin{minipage}[t]{.833\textwidth}% + \vspace{0pt}% + \color{black!80!paper}% + \footnotesize% + \parindent=2em + \raggedleft% +}{% + \end{minipage}% + \end{flushright}% + \bigskip% + \ResumeLineNumbers% +} +\fi + +%%================================ +%% Simulate features of amsart +%%================================ +\RequirePackage{PJLamssim} } diff --git a/Master/texmf-dist/tex/latex/minimalist/minimart.cls b/Master/texmf-dist/tex/latex/minimalist/minimart.cls index b9a5a27142f..9b19f187b1a 100644 --- a/Master/texmf-dist/tex/latex/minimalist/minimart.cls +++ b/Master/texmf-dist/tex/latex/minimalist/minimart.cls @@ -17,7 +17,7 @@ %% \NeedsTeXFormat{LaTeX2e}[2020-10-01] \ProvidesClass{minimart} - [2021/03/15 A simple and clear article style] + [2021/05/23 A simple and clear article style] \def\minimclass@baseclass{article} \RequirePackage{kvoptions} \RequirePackage{etoolbox} @@ -27,6 +27,13 @@ } \DeclareBoolOption[false]{draft} \DeclareBoolOption[false]{fast} +\DeclareBoolOption[false]{classical} + +\newif\if@minimclass@bfivepaper\@minimclass@bfivepaperfalse +\DeclareVoidOption{b5paper}{\@minimclass@bfivepapertrue} +\newif\if@minimclass@afourpaper\@minimclass@afourpaperfalse +\DeclareVoidOption{a4paper}{\@minimclass@afourpapertrue} + \DeclareDefaultOption{\PassOptionsToClass{\CurrentOption}{\minimclass@baseclass}} \ProcessKeyvalOptions*\relax \LoadClass{\minimclass@baseclass} @@ -37,6 +44,8 @@ %%================================ %% Page layout %%================================ +\RequirePackage{silence} +\WarningFilter{geometry}{Over-specification in} \RequirePackage[heightrounded]{geometry} \geometry{ papersize={7in,10in}, @@ -45,12 +54,36 @@ vmarginratio=1:1, footnotesep=2em plus 2pt minus 2pt, } +\if@minimclass@bfivepaper +\geometry{ + b5paper, + total={40em,59em}, + hmarginratio=1:1, + vmarginratio=1:1, + footnotesep=2em plus 2pt minus 2pt, +} +\fi +\if@minimclass@afourpaper +\geometry{ + a4paper, + total={47em,70em}, + hmarginratio=1:1, + vmarginratio=1:1, + footnotesep=2em plus 2pt minus 2pt, +} +\fi \if@minimclass@fast \PassOptionsToPackage{fast}{minimalist} + \RequirePackage{draftwatermark} + \DraftwatermarkOptions{text={\normalfont DRAFT},colorspec=0.95} +\fi +\if@minimclass@classical + \RequirePackage{indentfirst} +\else + \AtEndPreamble{\RequirePackage{parskip}} \fi \RequirePackage{minimalist} -\AtEndPreamble{\RequirePackage{parskip}} %%================================ %% Fonts @@ -62,6 +95,9 @@ \fi \RequirePackage{mathpazo} \RequirePackage{newpxtext} +\RequirePackage{amssymb} + +\def\PJL@font@alreadyset{} \RequirePackage[verbose=silent]{microtype} @@ -71,7 +107,9 @@ \RequirePackage{graphicx} \graphicspath{{images/}} \RequirePackage{wrapfig} +\RequirePackage{float} \RequirePackage{caption} +\captionsetup{font=small} %%================================ %% Index @@ -80,53 +118,6 @@ \pretocmd{\printindex}{\LocallyStopLineNumbers}{}{\FAIL} \apptocmd{\printindex}{\ResumeLineNumbers}{}{\FAIL} -%%================================ -%% Draft mark -%%================================ -\def\dnfFont{\ttfamily} -\def\needgraphFont{\ttfamily} - -\def\dnfTextEN{To be finished here} -\def\needgraphTextEN{A graph is needed here} -\def\dnfTextFR{À terminer ici} -\def\needgraphTextFR{Il manque encore un graphique ici} -\def\dnfTextCN{这里的内容尚未完成} -\def\needgraphTextCN{这里需要一张图片} - -\definecolor{dnfColor}{RGB}{21,122,20} -\definecolor{needgraphColor}{RGB}{70,130,180} - -\if@minimclass@fast - \newcommand{\plainBox}[2][-paper]{\textcolor{#1}{% - \setlength{\fboxsep}{1.5pt}% - \setlength{\fboxrule}{1.2pt}% - \fbox{#2}}} -\else - \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 - -\NewDocumentCommand{\dnf}{d<>}{% - \noindent\plainBox[dnfColor]% - {\normalfont\dnfFont\bfseries\small% - \csname dnfText\csname\languagename ABBR\endcsname\endcsname% - \IfNoValueF{#1}{ : #1}}% -} -\NewDocumentCommand{\needgraph}{d<>}{% - \par% - \centerline{\plainBox[needgraphColor]% - {\normalfont\needgraphFont\bfseries\small% - \csname needgraphText\csname\languagename ABBR\endcsname\endcsname% - \IfNoValueF{#1}{ : #1}}}% - \par% -} - \endinput %% %% End of file `minimalist/minimart.cls'. diff --git a/Master/texmf-dist/tex/latex/minimalist/minimbook.cls b/Master/texmf-dist/tex/latex/minimalist/minimbook.cls index 80308892798..b998e53dd7e 100644 --- a/Master/texmf-dist/tex/latex/minimalist/minimbook.cls +++ b/Master/texmf-dist/tex/latex/minimalist/minimbook.cls @@ -17,7 +17,7 @@ %% \NeedsTeXFormat{LaTeX2e}[2020-10-01] \ProvidesClass{minimbook} - [2021/03/15 A simple and clear book style] + [2021/05/23 A simple and clear book style] \def\minimclass@baseclass{book} \RequirePackage{kvoptions} \RequirePackage{etoolbox} @@ -27,6 +27,13 @@ } \DeclareBoolOption[false]{draft} \DeclareBoolOption[false]{fast} +\DeclareBoolOption[false]{classical} + +\newif\if@minimclass@bfivepaper\@minimclass@bfivepaperfalse +\DeclareVoidOption{b5paper}{\@minimclass@bfivepapertrue} +\newif\if@minimclass@afourpaper\@minimclass@afourpaperfalse +\DeclareVoidOption{a4paper}{\@minimclass@afourpapertrue} + \DeclareDefaultOption{\PassOptionsToClass{\CurrentOption}{\minimclass@baseclass}} \ProcessKeyvalOptions*\relax \LoadClass{\minimclass@baseclass} @@ -37,6 +44,8 @@ %%================================ %% Page layout %%================================ +\RequirePackage{silence} +\WarningFilter{geometry}{Over-specification in} \RequirePackage[heightrounded]{geometry} \geometry{ papersize={7in,10in}, @@ -45,12 +54,36 @@ vmarginratio=1:1, footnotesep=2em plus 2pt minus 2pt, } +\if@minimclass@bfivepaper +\geometry{ + b5paper, + total={40em,59em}, + hmarginratio=1:1, + vmarginratio=1:1, + footnotesep=2em plus 2pt minus 2pt, +} +\fi +\if@minimclass@afourpaper +\geometry{ + a4paper, + total={47em,70em}, + hmarginratio=1:1, + vmarginratio=1:1, + footnotesep=2em plus 2pt minus 2pt, +} +\fi \if@minimclass@fast \PassOptionsToPackage{fast}{minimalist} + \RequirePackage{draftwatermark} + \DraftwatermarkOptions{text={\normalfont DRAFT},colorspec=0.95} +\fi +\if@minimclass@classical + \RequirePackage{indentfirst} +\else + \AtEndPreamble{\RequirePackage{parskip}} \fi \RequirePackage{minimalist} -\AtEndPreamble{\RequirePackage{parskip}} %%================================ %% Fonts @@ -62,6 +95,9 @@ \fi \RequirePackage{mathpazo} \RequirePackage{newpxtext} +\RequirePackage{amssymb} + +\def\PJL@font@alreadyset{} \RequirePackage[verbose=silent]{microtype} @@ -71,7 +107,9 @@ \RequirePackage{graphicx} \graphicspath{{images/}} \RequirePackage{wrapfig} +\RequirePackage{float} \RequirePackage{caption} +\captionsetup{font=small} %%================================ %% Index @@ -80,53 +118,6 @@ \pretocmd{\printindex}{\LocallyStopLineNumbers}{}{\FAIL} \apptocmd{\printindex}{\ResumeLineNumbers}{}{\FAIL} -%%================================ -%% Draft mark -%%================================ -\def\dnfFont{\ttfamily} -\def\needgraphFont{\ttfamily} - -\def\dnfTextEN{To be finished here} -\def\needgraphTextEN{A graph is needed here} -\def\dnfTextFR{À terminer ici} -\def\needgraphTextFR{Il manque encore un graphique ici} -\def\dnfTextCN{这里的内容尚未完成} -\def\needgraphTextCN{这里需要一张图片} - -\definecolor{dnfColor}{RGB}{21,122,20} -\definecolor{needgraphColor}{RGB}{70,130,180} - -\if@minimclass@fast - \newcommand{\plainBox}[2][-paper]{\textcolor{#1}{% - \setlength{\fboxsep}{1.5pt}% - \setlength{\fboxrule}{1.2pt}% - \fbox{#2}}} -\else - \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 - -\NewDocumentCommand{\dnf}{d<>}{% - \noindent\plainBox[dnfColor]% - {\normalfont\dnfFont\bfseries\small% - \csname dnfText\csname\languagename ABBR\endcsname\endcsname% - \IfNoValueF{#1}{ : #1}}% -} -\NewDocumentCommand{\needgraph}{d<>}{% - \par% - \centerline{\plainBox[needgraphColor]% - {\normalfont\needgraphFont\bfseries\small% - \csname needgraphText\csname\languagename ABBR\endcsname\endcsname% - \IfNoValueF{#1}{ : #1}}}% - \par% -} - \endinput %% %% End of file `minimalist/minimbook.cls'. |