summaryrefslogtreecommitdiff
path: root/macros/latex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2024-01-15 03:00:55 +0000
committerNorbert Preining <norbert@preining.info>2024-01-15 03:00:55 +0000
commit8bc114e6989a7cf97cf25ab7c0314353dddf906a (patch)
tree2a38527f85e20ae0f30a931c3b1321e604eeef06 /macros/latex
parent897aab75a208680c8bb84f43e5da36abb2f47322 (diff)
CTAN sync 202401150300
Diffstat (limited to 'macros/latex')
-rw-r--r--macros/latex/contrib/easybook/easybook.dtx11
-rw-r--r--macros/latex/contrib/easybook/easybook.pdfbin598558 -> 599029 bytes
-rw-r--r--macros/latex/contrib/easybook/easybook.tex44
-rw-r--r--macros/latex/contrib/iexec/DEPENDS.txt2
-rw-r--r--macros/latex/contrib/iexec/LICENSE.txt2
-rw-r--r--macros/latex/contrib/iexec/iexec.dtx245
-rw-r--r--macros/latex/contrib/iexec/iexec.ins4
-rw-r--r--macros/latex/contrib/iexec/iexec.pdfbin335292 -> 337865 bytes
-rw-r--r--macros/latex/contrib/profmaquette/doc/ProfMaquette-doc.pdfbin275467 -> 278403 bytes
-rw-r--r--macros/latex/contrib/profmaquette/doc/ProfMaquette-doc.tex45
-rw-r--r--macros/latex/contrib/profmaquette/latex/ProfMaquette.sty36
11 files changed, 223 insertions, 166 deletions
diff --git a/macros/latex/contrib/easybook/easybook.dtx b/macros/latex/contrib/easybook/easybook.dtx
index 826602cab4..ef77b1dd23 100644
--- a/macros/latex/contrib/easybook/easybook.dtx
+++ b/macros/latex/contrib/easybook/easybook.dtx
@@ -15,7 +15,7 @@
%<*class>
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
\RequirePackage{l3keys2e}
-\ProvidesExplClass{easybook}{2024/01/13}{2024G}
+\ProvidesExplClass{easybook}{2024/01/14}{2024H}
{Easily typesetting Chinese theses or books}
\bool_set_false:N \l__eb_compile_draft_bool
@@ -60,7 +60,7 @@
\LoadClass[UTF8]{ctexbook}
\RequirePackage{easybase}
-\ctex_at_end:n
+\ctex_at_end_preamble:n
{
\use:c { eb@font@load@\l__eb_font_value_tl }
\clist_if_empty:NF \g__eb_config_file_clist
@@ -302,7 +302,7 @@
%<*package>
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
\RequirePackage{l3keys2e,etoolbox}
-\ProvidesExplPackage{easybase}{2024/01/13}{2024G}
+\ProvidesExplPackage{easybase}{2024/01/14}{2024H}
{Easily typesetting Chinese theses or books}
\cs_generate_variant:Nn \dim_set:Nn { NV }
@@ -428,7 +428,6 @@
}
\PassOptionsToPackage{list = off}{bicaption}
-\PassOptionsToPackage{upint}{newtxmath}
\PassOptionsToPackage{svgnames}{xcolor}
\PassOptionsToPackage{many}{tcolorbox}
\ProcessKeysOptions{easybase}
@@ -884,7 +883,7 @@
{ plain,hang,bottom,para,flush }
{ \eb_footnote_value_handle:n {#1} },
footnotetype .value_required:n = true,
- footnotetype/default .meta:n = footnotetype/plain,
+ footnotetype/default .meta:n = { footnotetype = plain },
footnotetype .initial:n = hang,
fnmark-vmove .code:n = \eb_fnmarktext_move_set:nnn {#1} { mark } { v },
fnmark-hmove .code:n = \eb_fnmarktext_move_set:nnn {#1} { mark } { h },
@@ -2322,7 +2321,7 @@
}
%</package>
%<*tcolorbox>
-\ProvidesExplFile{eb-tcolorbox.cfg}{2024/01/13}{2024G}
+\ProvidesExplFile{eb-tcolorbox.cfg}{2024/01/14}{2024H}
{Customization of tcolorbox for easybook}
\cs_set_protected:Npn \addtotcbstyle #1#2
diff --git a/macros/latex/contrib/easybook/easybook.pdf b/macros/latex/contrib/easybook/easybook.pdf
index 5704cd25bf..9538d1c7cf 100644
--- a/macros/latex/contrib/easybook/easybook.pdf
+++ b/macros/latex/contrib/easybook/easybook.pdf
Binary files differ
diff --git a/macros/latex/contrib/easybook/easybook.tex b/macros/latex/contrib/easybook/easybook.tex
index 9f4f1d91c8..1dbe185ff6 100644
--- a/macros/latex/contrib/easybook/easybook.tex
+++ b/macros/latex/contrib/easybook/easybook.tex
@@ -23,8 +23,8 @@
name = easybook,
color-scheme = blue,
title = EASYBOOK使用手册,
- version = v2024G,
- date = 2024/01/13,
+ version = v2024H,
+ date = 2024/01/14,
authors = 瞿毅,
info = 简便地排版中文学位论文或书籍,
email = toquyi@163.com,
@@ -260,7 +260,7 @@
文档主题方案选项 \option{scheme} 扩展了 \CTeX 文档类中同名选项原有的作用范围,选项值 \code{plain} 可使各类标题变为英文形式。包括章节标题、图表标题和定理名等。
\opt{enmode}\dtag
同时开启 \option{newline} 和 \keyis{scheme}{plain} 选项以符合英文原生风格。
- \keychoice{paper}{\fbox{a4paper},b5paper,c5paper,letterpaper,other paper}
+ \keychoice{paper}{\fbox{a4paper},b5paper,c5paper,letterpaper,\textcolor{SlateGray}{other paper}}
文档页面尺寸选项将参数交给 \pkg*{geometry} 宏包处理,可使用它支持的所有标准纸张规格。
\keyval{config}{配置文件列表}\dtag
载入用户配置的文件名列表,文件列表以花括号包裹并以英文逗号分隔。文件名应包含如 \code{tex}、\code{def} 或 \code{cfg} 等扩展名。若配置文件不在当前文件夹则文件名需要包含路径,即 \code{path/file.cfg}。
@@ -504,10 +504,10 @@
\begin{options}
\keychoice{backend}{\fbox{bibtex},biblatex}
参考文献处理后端。默认用传统的 \hologo{BibTeX} 处理参考文献\footnote{使用 \hologo{BibTeX} 引擎时加载 \pkg*{natbib} 宏包,使用 \hologo{biber} 时将加载 \pkg*{biblatex} 宏包。}。
- \keychoice{bibstyle}{\fbox{numerical},authoryear,other sty}
+ \keychoice{bibstyle}{\fbox{numerical},authoryear,\textcolor{SlateGray}{other sty}}
参考文献格式使用中国参考文献推荐标准GB/T 7714-2015,对应顺序编码制和著者—出版年制两种风格。若使用其它格式,使用 \hologo{BibTeX} 处理时需确保正确的 \code{bst} 文件,使用 \hologo{biber} 处理可使用 \pkg*{biblatex} 宏包支持的参考文献风格名称。
\keyval{citestyle}{标注风格}
- 标注参考文献的风格。后端为 \code{bibtex} 时可使用 \option{super}(数字上标标注,默认)或 \option{numbers}(数字标注)等 \pkg*{natbib} 宏包带有的标注风格,后端为 \code{biblatex} 时可使用 \pkg*{biblatex} 宏包支持的标注风格。
+ 标注参考文献的风格。后端为 \hologo{BibTeX} 时可使用 \option{super}(数字上标标注,默认)或 \option{numbers}(数字标注)等 \pkg*{natbib} 宏包带有的标注风格,后端为 \hologo{biber} 时可使用 \pkg*{biblatex} 宏包支持的标注风格。
\keyval{datafile}{数据库列表}
参考文献数据库的文件名列表,文件列表以花括号包裹并以英文逗号分隔。使用 \hologo{biber} 处理时文件名要带 \code{bib} 扩展名,若参考文献文件不在当前文件夹则文件名需要包含路径,即 \code{path/file.bib}。不设置参考文献数据库名时 \module*{bibset} 模块中的选项会失效,即不自动载入 \pkg*{natbib} 或 \pkg*{biblatex} 宏包,此时需要手动载入相关宏包配置参考文献。
\end{options}
@@ -531,7 +531,7 @@
\keyval{filter}{过滤器名}
使用由 \cs{defbibfilter} 定义的 \option*{filter} 来过滤条目。
- 可能在一些情况下您希望更加灵活地设置参考文献或有更多需求,下面举一个在导言区手动配置 \pkg*{biblatex} 宏包并使一个条目输出双语对照文献的例子:
+ 可能在一些情况下您希望更加灵活地设置参考文献或有更多需求,下面举一个在导言区手动配置 \pkg*{biblatex} 宏包并使一个条目输出双语对照格式文献的例子:
\begin{ctexexam}
\usepackage[style = gb7714-2015]{biblatex}
\addbibresource{reference.bib}
@@ -553,7 +553,7 @@
定理环境的标题名称,默认为英文首字母大写的环境名。
\keychoice{numbered}{no,yes,unless unique}
定理可以被编号、不被编号或者只有在文档中多次出现时才被编号。
- \keychoice{within}{chapter,section,empty,counter}
+ \keychoice{within}{chapter,section,empty,\textcolor{SlateGray}{counter}}
定理编号跟随的计数器。当计数器值递增时定理编号会从零开始,通常这是一个章节计数器。
\keyval{numberlike}{计数器}
定理将使用此 \meta{计数器} 进行编号,通常这是另一个定理环境的名称。
@@ -707,7 +707,7 @@
不同脚注的段落间距,等于长度 \cs{fnparskip} 的值。
\keychoice{fntext-pos}{normal,\fbox{super}}
设置脚注内容标记的位置,正常文本或是上标形式。
- \keychoice{fnmark-num}{\fbox{plain},pifont,pifont*,pisans,pisans*,short num}
+ \keychoice{fnmark-num}{\fbox{plain},pifont,pifont*,pisans,pisans*,\textcolor{SlateGray}{short num}}
脚注正文标记编号的类型。默认为原生样式 \code{plain},还可以改为 \code{pifont} 的各个版本,从左往右依次为普通版、阴文衬线版、阳文无衬线版和阴文无衬线版,缺点是它们的编号仅包括1-10。
短编号的参数与列表环境类似,有 \code{1}、\code{A}、\code{a}、\code{I} 和 \code{i},除此之外还增加了中文数字 \code{c} 和符号 \code{s} 格式。原生样式 \code{plain} 等同于单独使用数字 \code{1} 参数。这个选项可以用在正文中改变其后脚注编号类型。
@@ -729,17 +729,17 @@
\ebhdrset{fnmark-num = s}
\end{ctexexam}
\end{commands}
- \keychoice{fntext-num}{\fbox{plain},pifont,pifont*,pisans,pisans*,short num}
+ \keychoice{fntext-num}{\fbox{plain},pifont,pifont*,pisans,pisans*,\textcolor{SlateGray}{short num}}
脚注内容标记编号的类型。用法与 \option{fnmark-num} 一样,所以脚注内容与正文标记编号类型\textbf{可以不同}。
- \keychoice{fnmarktext-num}{\fbox{plain},pifont,pifont*,pisans,pisans*,short num}
+ \keychoice{fnmarktext-num}{\fbox{plain},pifont,pifont*,pisans,pisans*,\textcolor{SlateGray}{short num}}
同时设定脚注正文标记编号 \option{fnmark-num} 与脚注内容标记编号 \option{fntext-num} 的类型。目前脚注编号类型选项对于迷你页环境 \env*{minipage} 无效,其中的脚注保持默认英文字母的编号类型。
- \keychoice{fnmark-vmove}{fixed length,match}\Default{0pt}
+ \keychoice{fnmark-vmove}{\textcolor{SlateGray}{fixed length},match}\Default{0pt}
脚注正文标记的垂直偏移。可以设为刚性长度,或用 \code{match} 匹配 \option{spvmove} 全局的值。
- \keychoice{fnmark-hmove}{fixed length,match}\Default{0pt}
+ \keychoice{fnmark-hmove}{\textcolor{SlateGray}{fixed length},match}\Default{0pt}
脚注正文标记的水平偏移。可以设为刚性长度,或用 \code{match} 匹配 \option{sphmove} 全局的值。
- \keychoice{fntext-vmove}{fixed length,match}\Default{0pt}
+ \keychoice{fntext-vmove}{\textcolor{SlateGray}{fixed length},match}\Default{0pt}
脚注内容标记的垂直偏移。可以设为刚性长度,或用 \code{match} 匹配 \option{spvmove} 全局的值。
- \keychoice{fnmarktext-format}{format code,match}
+ \keychoice{fnmarktext-format}{\textcolor{SlateGray}{format code},match}
默认脚注标记的格式,选项 \code{match} 可以匹配 \option{spcmd} 全局的值。一般配合 \keyis{fnmarktext-num}{plain} 原生编号形式使用,例如用 \pkg*{circledtext} 宏包的带圈字符命令 \cs{circledtext} 给脚注标记添加圆圈:
\begin{ctexexam}
\usepackage{circledtext}
@@ -766,7 +766,7 @@
\defupfntmark{\super[vmove = 2pt]{\theupfootnote}}
\defdownfntmark{\notminipage{\textcolor{blue}{\thedownfootnote}}{}}
\end{ctexexam}
- \keychoice{fncustom-format}{format code,match}
+ \keychoice{fncustom-format}{\textcolor{SlateGray}{format code},match}
单独设定自定义脚注标记的格式,选项 \code{match} 可以匹配 \option{spcmd} 全局的值。自定义脚注内容和正文标记的命令与用法可以见下方和\ref{exam:custom footnote markers} 的介绍。
\begin{commands}\noitemsep
\command{Footnote}[\oarg{内容标记}\marg{正文标记}\marg{脚注文本}]\default{}
@@ -777,7 +777,7 @@
\Footnote{*}{这是可以自定义标记的脚注。}
\end{ctexexam}
\end{commands}
- \keychoice{fnboth-format}{format code,match}
+ \keychoice{fnboth-format}{\textcolor{SlateGray}{format code},match}
同时设定默认脚注标记 \option{fnmarktext-format} 和自定义脚注标记 \option{fncustom-format} 的格式。两种脚注标记匹配上标格式 \option{spcmd} 的值是独立的,使用 \code{match} 则可以同时匹配。标记格式选项含有字体命令会覆盖 \option{footnote} 的设置,最后一个格式命令可以带有一个参数接受脚注标记。
\keyval{fnpara-format}{格式代码}
脚注内容的格式。在此设置字体命令会覆盖 \option{footnote} 的设置,最后一个格式命令可以带有一个参数接受脚注内容。
@@ -974,9 +974,9 @@
上标和下标的功能来自 \pkg*{spbmark} 宏包,下面有三个命令可以用于输出上标和下标。可以使用键值列表的形式对上下标格式进行局部或全局设置,下面命令中两个可选参数的键值列表是等效的。全局设置的详情见\ref{subsubsec:super-sub-script}。
\begin{commands}
\command{super}[\sarg\oarg{键值列表1}\marg{内容}\oarg{键值列表2}]
- 输出上标的命令,与简短命令 \cs{sp} 等效。
+ 输出上标的命令,可用于文本和数学模式,在数学模式中可代替 \code{\^{}} 符号和 \cs*{sp} 命令。
\command{sub}[\sarg\oarg{键值列表1}\marg{内容}\oarg{键值列表2}]
- 输出下标的命令,与简短命令 \cs{sb} 等效。用法和参数与上标命令 \cs{super} 类似。
+ 输出下标的命令,可用于文本和数学模式,在数学模式中可代替 \code{\_{}} 符号和 \cs*{sb} 命令。
\command{supersub}[\sarg\oarg{键值列表1}\marg{上标内容}\marg{下标内容}\oarg{键值列表2}]
同时输出上标和下标的命令,与简短命令 \cs{spb} 等效。
\command{spbifmath}[\marg{数学模式代码}\marg{文本模式代码}]
@@ -1160,7 +1160,7 @@
\command{num}[\oarg{键值列表}\marg{数字}]
\pkg*{siunitx} 宏包的 \cs{num} 命令可以输出以科学计数法表示的数值。
\command{unit}[\oarg{键值列表}\marg{单位}]
- 单位格式化命令 \cs{unit} 包含文字元素(例如字母或数字)时,使用 \Marg{.} 和 \code{\~{}} 放置在单元乘积中间,并使用 \code{\_} 和 \code{\^{}} 正确放置指定的下标和上标。格式化方法可在数学和文本模式下使用。
+ 单位格式化命令 \cs{unit} 包含文字元素(例如字母或数字)时,使用 \Marg{.} 和 \code{\~{}} 放置在单元乘积中间,并使用 \code{\_{}} 和 \code{\^{}} 正确放置指定的下标和上标。格式化方法可在数学和文本模式下使用。
\command{qty}[\oarg{键值列表}\marg{数字}\oarg{前缀}\marg{单位}]
命令 \cs{qty} 可用来输出带有单位的量。
\command{qtyrange}[\oarg{键值列表}\marg{起始数字}\marg{结束数字}\marg{单位}]
@@ -1187,7 +1187,7 @@
\begin{commands}\noitemsep
\command{newcounter}[\marg{计数器}\oarg{父计数器}]\default{}
\command{counteruse}[\sarg\oarg{编号}\darg{分隔符}\marg{计数器}\oarg{父计数器}]
- 命令 \cs{newcounter} 是 \LaTeX 自带的创建计数器命令。命令 \cs{counteruse} 可以在当前位置输出这种计数器的值,它仅具有\textbf{输出功能},并不会改变计数器原有的绑定关系。默认每使用一次输出命令 \meta{计数器} 的值增加1,带有星号参数的命令使 \meta{计数器} 的值保持不变。计数器的 \meta{编号} 为 \code{arabic} 或 \code{alph} 等计数形式。在一定的场合下可能用到 \cs{counteruse} 命令,比如通过新建快捷命令在一些位置使用定理环境的计数器。使用 \cs{labelformat} 设置计数器的标签引用时需添加 \code{eb-} 前缀:
+ 命令 \cs{newcounter} 是 \LaTeX 自带的创建计数器命令。命令 \cs{counteruse} 可以在当前位置输出这种计数器的值,它仅具有\textbf{输出}功能,并不会改变计数器原有的绑定关系。默认每使用一次输出命令 \meta{计数器} 的值增加1,带有星号参数的命令使 \meta{计数器} 的值保持不变。计数器的 \meta{编号} 为 \code{arabic} 或 \code{alph} 等计数形式。在一定的场合下可能用到 \cs{counteruse} 命令,比如通过新建快捷命令在一些位置使用定理环境的计数器。使用 \cs{labelformat} 设置计数器的标签引用时需添加 \code{eb-} 前缀:
\begin{ctexexam}
\labelformat{eb-theorem}{定理#1}
\newcommand{\theoremhead}[1]{定理\counteruse{theorem}[chapter]\hspace{1em}#1}
@@ -1298,7 +1298,7 @@
\subsection{插入文档}
\begin{commands}
\command{includepdf}[\oarg{键值列表}\marg{文档名}]
- 该命令由文档宏包 \pkg*{pdfpages} 提供。可以将其它 \code{pdf} 文档插入当前文档,比如插入其它软件制作的封面。\meta{键值列表} 可以指定插入页数、逻辑页和横向页面等,详情查看宏包文档。
+ 该命令由文档宏包 \pkg*{pdfpages} 提供。可以将其它 \code{pdf} 文档插入当前文档,比如插入其它软件制作的封面。可选参数可以指定插入页数、逻辑页和横向页面等,详情查看宏包文档。
\end{commands}
\subsection{下划线}
@@ -1340,7 +1340,7 @@
\shortversion{v = 1.638,date = 2022/03/04,changes = 增加目录条目样式选项注册命令 \cs{RegisterTocName}。}
\shortversion{v = 1.644,date = 2022/03/10,changes = 增加浮动环境目录声明命令 \cs{DeclareFloatList} 配合 \pkg*{caption} 宏包。}
\shortversion{v = 1.682,date = 2022/05/01,changes = 将迷你页判断命令 \cs{notminipage} 改为被保护命令兼容 \pkg*{circledtext} 宏包。}
- \begin{version}[v = 2024G,date = 2024/01/13,simple]
+ \begin{version}[v = 2024H,date = 2024/01/14,simple]
\item 核对依赖宏包的更新改动,优化使用手册的内容细节。
\item 修复图表题注目录中条目标签编号的计数器值显示错误问题。
\end{version}
diff --git a/macros/latex/contrib/iexec/DEPENDS.txt b/macros/latex/contrib/iexec/DEPENDS.txt
index 1cf2d994a8..c16ef1dc3d 100644
--- a/macros/latex/contrib/iexec/DEPENDS.txt
+++ b/macros/latex/contrib/iexec/DEPENDS.txt
@@ -1,4 +1,4 @@
-hard xkeyval
+hard pgf
soft catchfile
soft docshots
soft environ
diff --git a/macros/latex/contrib/iexec/LICENSE.txt b/macros/latex/contrib/iexec/LICENSE.txt
index 5744f745f0..1f211e0287 100644
--- a/macros/latex/contrib/iexec/LICENSE.txt
+++ b/macros/latex/contrib/iexec/LICENSE.txt
@@ -1,6 +1,6 @@
(The MIT License)
-Copyright (c) 2021-2023 Yegor Bugayenko
+Copyright (c) 2021-2024 Yegor Bugayenko
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the 'Software'), to deal
diff --git a/macros/latex/contrib/iexec/iexec.dtx b/macros/latex/contrib/iexec/iexec.dtx
index e6e9905fb2..43e6da2333 100644
--- a/macros/latex/contrib/iexec/iexec.dtx
+++ b/macros/latex/contrib/iexec/iexec.dtx
@@ -1,7 +1,7 @@
% \iffalse meta-comment
% (The MIT License)
%
-% Copyright (c) 2021-2023 Yegor Bugayenko
+% Copyright (c) 2021-2024 Yegor Bugayenko
%
% Permission is hereby granted, free of charge, to any person obtaining a copy
% of this software and associated documentation files (the 'Software'), to deal
@@ -50,7 +50,7 @@
%<package>\NeedsTeXFormat{LaTeX2e}
%<package>\ProvidesPackage{iexec}
%<*package>
-[2023-12-28 0.13.0 Inputable Shell Executions]
+[2024-01-14 0.14.0 Inputable Shell Executions]
%</package>
%<*driver>
\documentclass{ltxdoc}
@@ -265,32 +265,44 @@ Today is \iexec{date +\%Y}!
%</verb>
%\fi
+% \DescribeMacro{maybe}
+% If |-shell-escape| is not set, the |\iexec| command will lead to compilation failure. This
+% failure may be avoided with the help of the |maybe| option, which means that the execution
+% of |\iexec| must be quietly skipped if |-shell-escape| is not set:
+%\iffalse
+%<*verb>
+%\fi
+\begin{verbatim}
+\iexec[maybe]{echo 'Hello, world!'}
+\end{verbatim}
+%\iffalse
+%</verb>
+%\fi
+
% \StopEventually{}
% \section{Implementation}
-% First, we include \href{https://ctan.org/pkg/shellesc}{shellesc} package, which
-% we use to execute shell commands:
+% First, we include the \href{https://ctan.org/pkg/shellesc}{shellesc} package, which
+% we use in order to execute shell commands:
% \begin{macrocode}
\RequirePackage{shellesc}
% \end{macrocode}
-% Then, we parse package options:
+% Then, we parse package options, with the help
+% of \href{https://ctan.org/pkg/pgfopts}{pgfopts}:
+% \changes{0.14.0}{2024/01/14}{The \texttt{xkeyval} package is not used anymore. Instead, we use \texttt{pfgopts} in order to parse package options.}
% \begin{macrocode}
-\RequirePackage{xkeyval}
-\makeatletter
-\newif\ifiexec@trace
-\DeclareOptionX{trace}{\iexec@tracetrue}
-\ProcessOptionsX\relax
-\makeatother
+\RequirePackage{pgfopts}
+\pgfkeys{
+ /iexec/.cd,
+ trace/.store in=\iexec@trace,
+}
+\ProcessPgfPackageOptions{/iexec}
% \end{macrocode}
-% Then, we prepare to parse the options of |\iexec| command:
-% \changes{0.10.0}{2022/10/19}{The option ``\texttt{ignore}'' suppresses the checking of ``\texttt{iexec.ret}'' value.}
-% \changes{0.7.0}{2022/09/25}{The option "append" was introduced --- if it's turned on, stdout will be appended to the file, instead of rewriting it (this is how it was before).}
-% \changes{0.7.0}{2022/09/25}{The option ``\texttt{log}'' was introduced, to turn on log/debug messages in TeX log (they were all visible always, which was sometimes annoying. Also, this option enables printing of the entire content of stdout to the log too (this may be pretty convenient for debugging).}
-% \changes{0.11.0}{2022/10/22}{The option ``\texttt{exit}'' allows to change the name of the file with exit code.}
-% \changes{0.12.0}{2023/10/12}{The option ``\texttt{unskip}'' adds \texttt{\char`\\unskip} after each \texttt{\char`\\iexec}, in order to trip the tailing end of line space.}
+% Then, we prepare to parse the options of the |\iexec| command, with the help
+% of \href{https://ctan.org/pkg/pgfkeys}{pgfkeys}:
% \begin{macrocode}
\RequirePackage{pgfkeys}
\makeatletter\pgfkeys{
@@ -308,6 +320,7 @@ Today is \iexec{date +\%Y}!
unskip/.store in = \iexec@unskip,
quiet/.store in = \iexec@quiet,
ignore/.store in = \iexec@ignore,
+ maybe/.store in = \iexec@maybe,
stdout,exit
}\makeatother
% \end{macrocode}
@@ -336,6 +349,11 @@ Today is \iexec{date +\%Y}!
% Then, we define |\iexec| command.
% It is implemented with the help of |\ShellEscape| from |shellesc| package:
% \changes{0.10.0}{2022/10/19}{The file "iexec.ret" is reused for all scripts.}
+% \changes{0.10.0}{2022/10/19}{The option ``\texttt{ignore}'' suppresses the checking of ``\texttt{iexec.ret}'' value.}
+% \changes{0.7.0}{2022/09/25}{The option "append" was introduced --- if it's turned on, stdout will be appended to the file, instead of rewriting it (this is how it was before).}
+% \changes{0.7.0}{2022/09/25}{The option ``\texttt{log}'' was introduced, to turn on log/debug messages in TeX log (they were all visible always, which was sometimes annoying. Also, this option enables printing of the entire content of stdout to the log too (this may be pretty convenient for debugging).}
+% \changes{0.11.0}{2022/10/22}{The option ``\texttt{exit}'' allows to change the name of the file with exit code.}
+% \changes{0.12.0}{2023/10/12}{The option ``\texttt{unskip}'' adds \texttt{\char`\\unskip} after each \texttt{\char`\\iexec}, in order to trip the tailing end of line space.}
% \begin{macrocode}
\makeatletter
\newread\iexec@exitfile
@@ -346,26 +364,23 @@ Today is \iexec{date +\%Y}!
% First, we verify that |latex| is running with |--shell-escape| option, since without
% it nothing will work; so, it's better to throw an error earlier than later:
% \begin{macrocode}
- \ifnum\ShellEscapeStatus=1\else%
- \PackageError{iexec}{You must run TeX processor with
- --shell-escape option}{}%
- \fi%
- \begingroup%
+ \ifnum\ShellEscapeStatus=1%
+ \begingroup%
% \end{macrocode}
% Then, we start the log from a clean line:
% \begin{macrocode}
- \ifdefined\iexec@log%
- \message{^^J}%
- \fi%
+ \ifdefined\iexec@log%
+ \message{^^J}%
+ \fi%
% \end{macrocode}
% Then, we define a few special chars in order to escape them in the shell
% (the full
% list of them is in \href{https://ctan.mirror.norbert-ruehl.de/info/macros2e/macros2e.pdf}{macros2e}):
% \begin{macrocode}
- \let\%\@percentchar%
- \let\\\@backslashchar%
- \let\{\@charlb%
- \let\}\@charrb%
+ \let\%\@percentchar%
+ \let\\\@backslashchar%
+ \let\{\@charlb%
+ \let\}\@charrb%
% \end{macrocode}
% Then, we execute it and save exit code into a file (where we also add \texttt{\%} in order to trim the content to exactly one number, as suggested \href{https://tex.stackexchange.com/questions/662756}{here}):
% \changes{0.10.0}{2022/10/19}{The ability to track exit code was added. Now, the code is saved into ``\texttt{iexec.ret}'' file, which is then read and checked for zero value.}
@@ -376,118 +391,132 @@ Today is \iexec{date +\%Y}!
% \changes{0.11.3}{2022/10/29}{Bug fixed, because of which we had an extra leading space.}
% \changes{0.11.4}{2022/11/01}{In this version we escape dollar sign with \texttt{\char`\\string} command.}
% \begin{macrocode}
- \def\iexec@cmd{(#2)
- \ifdefined\iexec@append>\fi>
- \ifdefined\iexec@null/dev/null\else\iexec@stdout\fi
- \space\ifdefined\iexec@stderr2>\iexec@stderr\else2>&1\fi;
- /bin/echo -n \string$?\% >\iexec@exit}%
- \ShellEscape{\iexec@cmd}%
+ \def\iexec@cmd{(#2)
+ \ifdefined\iexec@append>\fi>
+ \ifdefined\iexec@null/dev/null\else\iexec@stdout\fi
+ \space\ifdefined\iexec@stderr2>\iexec@stderr\else2>&1\fi;
+ /bin/echo -n \string$?\% >\iexec@exit}%
+ \ShellEscape{\iexec@cmd}%
% \end{macrocode}
% Then, a message is printed to \TeX{} log:
% \begin{macrocode}
- \ifdefined\iexec@log%
- \message{iexec: [\iexec@cmd]^^J}%
- \fi%
- \endgroup%
+ \ifdefined\iexec@log%
+ \message{iexec: [\iexec@cmd]^^J}%
+ \fi%
+ \endgroup%
% \end{macrocode}
% Then, we read back the exit code, from the file:
% \begin{macrocode}
- \immediate\openin\iexec@exitfile=\iexec@exit%
- \read\iexec@exitfile to \iexec@code%
- \immediate\closein\iexec@exitfile%
+ \immediate\openin\iexec@exitfile=\iexec@exit%
+ \read\iexec@exitfile to \iexec@code%
+ \immediate\closein\iexec@exitfile%
% \end{macrocode}
% Then, if required, we print the content of the stdout file to \TeX{} log:
% \changes{0.11.2}{2022/10/25}{If execution fails, we print the content of ``\texttt{stdout}'' anyway, even if the ``\texttt{log}'' is not turned on.}
% \begin{macrocode}
- \ifdefined\iexec@null\else%
- \IfFileExists
- {\iexec@stdout}
- {}
- {\PackageError{iexec}{The "\iexec@stdout" file is absent
- after processing, looks like some internal error}{}}%
- \ifdefined\iexec@log%
- \message{iexec: This is the content of '\iexec@stdout':^^J}%
+ \ifdefined\iexec@null\else%
\IfFileExists
{\iexec@stdout}
- {\iexec@typeout{\iexec@stdout}}
+ {}
{\PackageError{iexec}{The "\iexec@stdout" file is absent
after processing, looks like some internal error}{}}%
- \message{<EOF>^^J}%
- \else%
- \ifnum\iexec@code=0\else%
- \ifdefined\iexec@ignore\else%
- \message{iexec: See the content of '\iexec@stdout'
- after failure:^^J}%
- \iexec@typeout{\iexec@stdout}%
- \message{<EOF>^^J}%
+ \ifdefined\iexec@log%
+ \message{iexec: This is the content of '\iexec@stdout':^^J}%
+ \IfFileExists
+ {\iexec@stdout}
+ {\iexec@typeout{\iexec@stdout}}
+ {\PackageError{iexec}{The "\iexec@stdout" file is absent
+ after processing, looks like some internal error}{}}%
+ \message{<EOF>^^J}%
+ \else%
+ \ifnum\iexec@code=0\else%
+ \ifdefined\iexec@ignore\else%
+ \message{iexec: See the content of '\iexec@stdout'
+ after failure:^^J}%
+ \iexec@typeout{\iexec@stdout}%
+ \message{<EOF>^^J}%
+ \fi%
\fi%
\fi%
\fi%
- \fi%
% \end{macrocode}
% Then, we check whether it's zero or not (if not zero, we either print a message or fail the build, depending on the presence of |ignore| option):
% \begin{macrocode}
- \ifnum\iexec@code=0\else%
- \ifdefined\iexec@ignore%
- \ifdefined\iexec@log%
- \message{iexec: Execution failure ignored,
- the exit code was \iexec@code^^J}%
+ \ifnum\iexec@code=0\else%
+ \ifdefined\iexec@ignore%
+ \ifdefined\iexec@log%
+ \message{iexec: Execution failure ignored,
+ the exit code was \iexec@code^^J}%
+ \fi%
+ \else%
+ \PackageError{iexec}{Execution failure,
+ the exit code was \iexec@code}{}%
\fi%
- \else%
- \PackageError{iexec}{Execution failure,
- the exit code was \iexec@code}{}%
\fi%
- \fi%
% \end{macrocode}
% Then, we include the produced output into the current document:
% \begin{macrocode}
- \ifdefined\iexec@null\else%
- \ifdefined\iexec@quiet%
- \ifdefined\iexec@log%
- \message{iexec: Due to 'quiet' option we didn't read
- the content of '\iexec@stdout'
- \ifdefined\pdffilesize (\pdffilesize{\iexec@stdout}
- bytes)\fi^^J}%
- \fi%
- \else%
- \ifdefined\iexec@log%
- \message{iexec: We are going to include the content of
- '\iexec@stdout'\ifdefined\pdffilesize (\pdffilesize
- {\iexec@stdout} bytes)\fi...^^J}%
- \fi%
- \input{\iexec@stdout}%
- \ifdefined\iexec@unskip\unskip\fi%
- \message{iexec: The content of '\iexec@stdout'
- was included into the document^^J}%
- \fi\fi%
-% \end{macrocode}
-% Finally, we delete the file or leave it untouched:
-% \begin{macrocode}
- \ifdefined\iexec@null\else%
- \ifiexec@trace%
- \ifdefined\iexec@log%
- \message{iexec: Due to package option 'trace',
- the files '\iexec@stdout' and `\iexec@exit` were
- not deleted^^J}%
- \fi%
- \else%
- \ifdefined\iexec@traceit%
+ \ifdefined\iexec@null\else%
+ \ifdefined\iexec@quiet%
\ifdefined\iexec@log%
- \message{iexec: Due to 'trace' package option,
- the files '\iexec@stdout' and '\iexec@exit'
- were not deleted^^J}%
+ \message{iexec: Due to 'quiet' option we didn't read
+ the content of '\iexec@stdout'
+ \ifdefined\pdffilesize (\pdffilesize{\iexec@stdout}
+ bytes)\fi^^J}%
\fi%
\else%
- \ShellEscape{rm \iexec@stdout}%
\ifdefined\iexec@log%
- \message{iexec: The file '\iexec@stdout' was deleted^^J}%
+ \message{iexec: We are going to include the content of
+ '\iexec@stdout'\ifdefined\pdffilesize (\pdffilesize
+ {\iexec@stdout} bytes)\fi...^^J}%
\fi%
- \ShellEscape{rm \iexec@exit}%
+ \input{\iexec@stdout}%
+ \ifdefined\iexec@unskip\unskip\fi%
+ \message{iexec: The content of '\iexec@stdout'
+ was included into the document^^J}%
+ \fi\fi%
+% \end{macrocode}
+% Then, we delete the file or leave it untouched:
+% \begin{macrocode}
+ \ifdefined\iexec@null\else%
+ \ifdefined\iexec@trace%
\ifdefined\iexec@log%
- \message{iexec: The file '\iexec@exit' was deleted^^J}%
+ \message{iexec: Due to package option 'trace',
+ the files '\iexec@stdout' and `\iexec@exit` were
+ not deleted^^J}%
\fi%
+ \else%
+ \ifdefined\iexec@traceit%
+ \ifdefined\iexec@log%
+ \message{iexec: Due to 'trace' package option,
+ the files '\iexec@stdout' and '\iexec@exit'
+ were not deleted^^J}%
+ \fi%
+ \else%
+ \ShellEscape{rm \iexec@stdout}%
+ \ifdefined\iexec@log%
+ \message{iexec: The file '\iexec@stdout' was deleted^^J}%
+ \fi%
+ \ShellEscape{rm \iexec@exit}%
+ \ifdefined\iexec@log%
+ \message{iexec: The file '\iexec@exit' was deleted^^J}%
+ \fi%
+ \fi%
+ \fi\fi%
+% \end{macrocode}
+% \changes{0.14.0}{2024/01/14}{The \texttt{maybe} option introduced, allowing the user to skip the entire execution of the \texttt{\char`\\iexec} command, when \texttt{-shell-escape} option is off.}
+% Finally, we ignore the whole story if the |maybe| option is provided
+% and the |-shell-escape| is not set:
+% \begin{macrocode}
+ \else%
+ \ifdefined\iexec@maybe%
+ \message{iexec: The execution skipped because -shell-escape
+ is not set and 'maybe' option is provided^^J}%
+ \else%
+ \PackageError{iexec}{You must run TeX processor with
+ --shell-escape option}{}%
\fi%
- \fi\fi%
+ \fi%
\endgroup%
}\makeatother
% \end{macrocode}
diff --git a/macros/latex/contrib/iexec/iexec.ins b/macros/latex/contrib/iexec/iexec.ins
index 186a9c813e..6c9d2f8933 100644
--- a/macros/latex/contrib/iexec/iexec.ins
+++ b/macros/latex/contrib/iexec/iexec.ins
@@ -1,6 +1,6 @@
%% (The MIT License)
%%
-%% Copyright (c) 2021-2023 Yegor Bugayenko
+%% Copyright (c) 2021-2024 Yegor Bugayenko
%%
%% Permission is hereby granted, free of charge, to any person obtaining a copy
%% of this software and associated documentation files (the 'Software'), to deal
@@ -26,7 +26,7 @@
\preamble
(The MIT License)
-Copyright (c) 2021-2023 Yegor Bugayenko
+Copyright (c) 2021-2024 Yegor Bugayenko
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the 'Software'), to deal
diff --git a/macros/latex/contrib/iexec/iexec.pdf b/macros/latex/contrib/iexec/iexec.pdf
index 53aac0a7a1..1592c188a7 100644
--- a/macros/latex/contrib/iexec/iexec.pdf
+++ b/macros/latex/contrib/iexec/iexec.pdf
Binary files differ
diff --git a/macros/latex/contrib/profmaquette/doc/ProfMaquette-doc.pdf b/macros/latex/contrib/profmaquette/doc/ProfMaquette-doc.pdf
index a8568b7eca..47bf8f1d73 100644
--- a/macros/latex/contrib/profmaquette/doc/ProfMaquette-doc.pdf
+++ b/macros/latex/contrib/profmaquette/doc/ProfMaquette-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/profmaquette/doc/ProfMaquette-doc.tex b/macros/latex/contrib/profmaquette/doc/ProfMaquette-doc.tex
index 69ae2dafdd..106ea50ad4 100644
--- a/macros/latex/contrib/profmaquette/doc/ProfMaquette-doc.tex
+++ b/macros/latex/contrib/profmaquette/doc/ProfMaquette-doc.tex
@@ -134,7 +134,7 @@
keywords={Theme,Niveau,Classe,Date,Calculatrice,Code,Numero,Sujet,Nom,NumSujet,Fichier,Type,CoefQ,CoefR,CoefJ},
keywordstyle=\color{BlueViolet},%DarkMagenta},
classoffset=3,
- keywords={Pouce,Direct,PasCorrige,BaremeDetaille,BaremeTotal,Source,Titre,Oral,Calculatrice,Competence,Trajet,Confiance,Route,Stop,Lignes,Encart},
+ keywords={Pouce,Direct,PasCorrige,BaremeDetaille,BaremeTotal,Source,Titre,Oral,Calculatrice,Competence,Trajet,Confiance,Route,Stop,Lignes,Encart,TitreSolution},
keywordstyle=\color{DarkGreen},
classoffset=4,
keywords={userfiche,userfichecor,userdm,userdmcor,userie,useriecor,userds,userdscor,userparcours,userparcourscor,userpdt,userpdtcor,usercours,usercontrat,usercontratcor,userfdr,userfdrcor,usercan,usercancor},
@@ -595,7 +595,7 @@ Le code suivant montre, à la page suivante, les effets de cette clé \Cle{Dys}.
\begin{exercice}
On considère un triangle $ABC$ tel que $AB=7$; $BC=5$ et $CA=6$.
\begin{enumerate}
- \item Tracer le triangle $ABC$ en vraie grandeur.\\On fera preuve de la plus grande précision possible et du plus grand soin possible. Pour cela, un crayon gris bien taillé, une règle et une gomme propres sont nécessaires et conseillées.
+ \item Tracer le triangle $ABC$ en vraie grandeur.\\On fera preuve de la plus grande précision possible et du plus grand soin possible. Pour cela, un crayon gris bien taillé, une règle et une gomme propre sont nécessaires et conseillés.
\item Ce triangle est-il rectangle ? Justifier.
\end{enumerate}
\end{exercice}
@@ -604,7 +604,7 @@ Le code suivant montre, à la page suivante, les effets de cette clé \Cle{Dys}.
\begin{exercice}
On considère un triangle $ABC$ tel que $AB=7$; $BC=5$ et $CA=6$.
\begin{enumerate}
- \item Tracer le triangle $ABC$ en vraie grandeur.\\On fera preuve de la plus grande précision possible et du plus grand soin possible. Pour cela, un crayon gris bien taillé, une règle et une gomme propres sont nécessaires et conseillées.
+ \item Tracer le triangle $ABC$ en vraie grandeur.\\On fera preuve de la plus grande précision possible et du plus grand soin possible. Pour cela, un crayon gris bien taillé, une règle et une gomme propre sont nécessaires et conseillés.
\item Ce triangle est-il rectangle ? Justifier.
\end{enumerate}
\end{exercice}
@@ -617,7 +617,7 @@ Le code suivant montre, à la page suivante, les effets de cette clé \Cle{Dys}.
\begin{exercice}
On considère un triangle $ABC$ tel que $AB=7$; $BC=5$ et $CA=6$.
\begin{enumerate}
- \item Tracer le triangle $ABC$ en vraie grandeur.\\On fera preuve de la plus grande précision possible et du plus grand soin possible. Pour cela, un crayon gris bien taillé, une règle et une gomme propres sont nécessaires et conseillées.
+ \item Tracer le triangle $ABC$ en vraie grandeur.\\On fera preuve de la plus grande précision possible et du plus grand soin possible. Pour cela, un crayon gris bien taillé, une règle et une gomme propre sont nécessaires et conseillés.
\item Ce triangle est-il rectangle ? Justifier.
\end{enumerate}
\end{exercice}
@@ -626,7 +626,7 @@ Le code suivant montre, à la page suivante, les effets de cette clé \Cle{Dys}.
\begin{exercice}
On considère un triangle $ABC$ tel que $AB=7$; $BC=5$ et $CA=6$.
\begin{enumerate}
- \item Tracer le triangle $ABC$ en vraie grandeur.\\On fera preuve de la plus grande précision possible et du plus grand soin possible. Pour cela, un crayon gris bien taillé, une règle et une gomme propres sont nécessaires et conseillées.
+ \item Tracer le triangle $ABC$ en vraie grandeur.\\On fera preuve de la plus grande précision possible et du plus grand soin possible. Pour cela, un crayon gris bien taillé, une règle et une gomme propre sont nécessaires et conseillés.
\item Ce triangle est-il rectangle ? Justifier.
\end{enumerate}
\end{exercice}
@@ -1266,7 +1266,7 @@ La commande \lstinline!\Complement{}! permet d'ajouter du contenu à la colonne
\includegraphics{pg_0002-crop.pdf}
\clearpage
\subsection*{\og Correction\fg{} des exercices}
- Un exercice avec correction pourra\footnote{Dans les faits, seul l'environnement \lstinline!exercice! est nécessaire.} avoir la forme suivante :
+ Un exercice avec correction pourra\footnote{Dans les faits, seul l'environnement \lstinline!exercice! est nécessaire. L'absence des environnements \lstinline!Solution!, \lstinline!Reponse! et \lstinline!Indice! n'a pas d'impact sur la compilation.} avoir la forme suivante :
\begin{Codes}[listing only]{0.4}{}
\begin{exercice}
@@ -1286,13 +1286,13 @@ On peut gérer la correction des exercices à deux niveaux :
\item[Au niveau de l'environnement ]\lstinline!Maquette!, on dispose des clés :
\end{Description}
\begin{Description}
-\item[la Clé \Cle{CorrigeApres}]\Defaut{false}\par qui affiche le corrigé, s'il existe, après l'énoncé de l'exercice.
-\item[la Clé \Cle{CorrigeFin}]\Defaut{false}\par qui affiche les corrigés, s'ils existent, à la fin du document.
+\item[la clé \Cle{CorrigeApres}]\Defaut{false}\par qui affiche le corrigé, {\em s'il existe}, après l'énoncé de l'exercice.
+\item[la clé \Cle{CorrigeFin}]\Defaut{false}\par qui affiche les corrigés, {\em s'ils existent}, à la fin du document.
\begin{quote}
\begin{description}
- \item[la Clé \Cle{CorrigeAll}]\Defaut{false}\par est {\em uniquement} valable avec la clé \Cle{Fiche}. Elle affiche une feuille avec tous les corrigés détaillés (environnement \lstinline!Solution!); une feuille avec toutes les réponses brutes (environnement \lstinline!Reponse!) et une feuille avec tous les indices (environnement \lstinline!Indice!).
-\item[la Clé \Cle{Colonnes}]\Defaut{1}\par définit le nombre de colonnes utilisé pour afficher les corrigés.
-\item[la Clé \Cle{Epaisseur}]\Defaut{0pt}\par modifie l'épaisseur de la barre de séparation des colonnes.
+ \item[la clé \Cle{CorrigeAll}]\Defaut{false}\par est {\em uniquement} valable avec la clé \Cle{Fiche}. Elle affiche une feuille avec tous les corrigés détaillés (environnement \lstinline!Solution!); une feuille avec toutes les réponses brutes (environnement \lstinline!Reponse!) et une feuille avec tous les indices (environnement \lstinline!Indice!).
+\item[la clé \Cle{Colonnes}]\Defaut{1}\par définit le nombre de colonnes utilisé pour afficher les corrigés.
+\item[la clé \Cle{Epaisseur}]\Defaut{0pt}\par modifie l'épaisseur de la barre de séparation des colonnes.
\end{description}
\end{quote}
\end{Description}
@@ -1335,21 +1335,20 @@ Pour les maquettes \lstinline!ParcoursPerso! et \lstinline!CAN!, seule la clé \
\end{enumerate}
\end{Solution}
\end{Maquette}
+\clearpage
\begin{Description}
\item[Au niveau de l'environnement ]\lstinline!exercice!, on peut affiner la correction à l'aide des clés :
-\begin{Description}
-\item[la Clé \Cle{PasCorrige}]\Defaut{false}\par supprime l'affichage de tous types de correction pour l'exercice considéré;
-\item[la Clé \Cle{Pouce}]\Defaut{false}\par qui affiche uniquement le contenu de l'environnement \lstinline!Indice!;
-\item[la Clé \Cle{Direct}]\Defaut{false}\par qui affiche uniquement le contenu de l'environnement \lstinline!Reponse!.
+ \begin{Description}
+ \item[la clé \Cle{TitreSolution}]\Defaut{-}\par affiche (sauf pour les maquettes \lstinline!CAN! et \lstinline!ParcoursPerso!) un titre à la correction de l'exercice considéré {\em uniquement} avec l'utilisation de la clé \Cle{CorrigeFin};
+\item[la clé \Cle{PasCorrige}]\Defaut{false}\par supprime l'affichage de tous types de correction pour l'exercice considéré;
+\item[la clé \Cle{Pouce}]\Defaut{false}\par qui affiche uniquement le contenu de l'environnement \lstinline!Indice!;
+\item[la clé \Cle{Direct}]\Defaut{false}\par qui affiche uniquement le contenu de l'environnement \lstinline!Reponse!.
\end{Description}
\end{Description}
Cela engendre, si nécessaire, la création de fichier \lstinline!*.sol! pour les solutions, \lstinline!*.rep! pour les réponses et \lstinline!*.cdp! pour les indices. Il conviendra de les effacer à chaque changement de clé (\Cle{PasCorrige}, \Cle{Pouce}, \Cle{Direct}) ou ajout d'exercice(s). En effet, la priorité d'affichage est donnée aux fichiers \lstinline!*.sol! puis \lstinline!*.rep! et enfin \lstinline!*.cdp!.
-
-\bigskip
-
-\begin{Codes}[listing only]{0.4}{}
+\begin{Codes}[listing only]{0.4}{\scriptsize}
\begin{Maquette}[DS,CorrigeFin]{Numero=3}
- \begin{exercice} % La clé CorrigeFin utilise le contenu de l'environnement Solution
+ \begin{exercice}[TitreSolution= : Nombre décimal]
$1+\dfrac2{10}=$
\end{exercice}
\begin{Solution}
@@ -1400,7 +1399,8 @@ Cela engendre, si nécessaire, la création de fichier \lstinline!*.sol! pour le
\end{Maquette}
\end{Codes}
\begin{Maquette}[DS,CorrigeFin]{Numero=3}
- \begin{exercice} % La clé CorrigeFin utilise le contenu de l'environnement Solution
+ % La clé CorrigeFin utilise le contenu de l'environnement Solution
+ \begin{exercice}[TitreSolution= : Nombre décimal]
$1+\dfrac2{10}=$
\end{exercice}
\begin{Solution}
@@ -1452,7 +1452,8 @@ Cela engendre, si nécessaire, la création de fichier \lstinline!*.sol! pour le
\clearpage
\section*{Historique}
\begin{description}
-\item[\PfMfiledate{}--v \PfMfileversion] Ajout des clés \lstinline!Lignes! et \lstinline!Encart! à l'environnement \lstinline!exercice!. Amélioration de la documentation.
+\item[\PfMfiledate{}--v \PfMfileversion] Ajout de la clé \Cle{TitreSolution} à l'environnement \lstinline!exercice!. Amélioration de la documentation.
+ %0.85 Ajout des clés \lstinline!Lignes! et \lstinline!Encart! à l'environnement \lstinline!exercice!. Amélioration de la documentation.
%0.82 Correction de bugs.
%0.80 Ajout d'une clé \Cle{Dys} pour les élèves à profil particulier.
%0.75 Exercices {\em éventuellement} non numérotés. Correction de bugs (Feuille de route).
diff --git a/macros/latex/contrib/profmaquette/latex/ProfMaquette.sty b/macros/latex/contrib/profmaquette/latex/ProfMaquette.sty
index 6713b00c72..2e5b5eeec2 100644
--- a/macros/latex/contrib/profmaquette/latex/ProfMaquette.sty
+++ b/macros/latex/contrib/profmaquette/latex/ProfMaquette.sty
@@ -2,9 +2,9 @@
% licence : Released under the LaTeX Project Public License v1.3c
% or later, see http://www.latex-project.org/lppl.txtf
\NeedsTeXFormat{LaTeX2e}%
-\def\filedate{2024/01/03}%
+\def\filedate{2024/01/13}%
\let\PfMfiledate\filedate%
-\def\fileversion{0.85}%
+\def\fileversion{0.86}%
\let\PfMfileversion\fileversion%
\ProvidesPackage{ProfMaquette}[\filedate\space v\fileversion\space Maquettage de documents]%
@@ -59,7 +59,8 @@
\setKVdefault[Kholle]{Sujet=1,Numero=1,Date=15,Niveau=TSI-1,Code=\jobname,Lieu=Lycée
du Hainaut (Valenciennes),NomEleve=Albert Einstein,CR=false}%
\setKVdefault[CAN]{Date=\today,Niveau=6,Duree=9,CoefQ=0.4,CoefR=0.35,CoefJ=0.1}%
-\setKVdefault[ClesExercices]{NbQuestions=1,PasTitre=false,AffichageSource=false,BaremeTotal,BaremeDetaille=false,MotPoint=point,AffichageTitre=false,Calculatrice=true,Oral=false,Difficulte=0,AffichageCompetence=false,PasCorrige=false,Direct=false,Pouce=false,Parcours=false,Contrat=false,FdR=false,Routes=false,Stops=false,Background=white,Cadre=gray!50,Numerote,Ligne=false,Cadres=false}%
+\setKVdefault[ClesExercices]{NbQuestions=1,PasTitre=false,AffichageSource=false,BaremeTotal,BaremeDetaille=false,MotPoint=point,AffichageTitre=false,Calculatrice=true,Oral=false,Difficulte=0,AffichageCompetence=false,PasCorrige=false,Direct=false,Pouce=false,Parcours=false,Contrat=false,FdR=false,Routes=false,Stops=false,Background=white,Cadre=gray!50,Numerote,Ligne=false,Cadres=false,TitreSol=false}%
+\defKV[ClesExercices]{TitreSolution=\setKV[ClesExercices]{TitreSol}}%
\defKV[ClesExercices]{Source=\setKV[ClesExercices]{AffichageSource}}%
\defKV[ClesExercices]{Titre=\setKV[ClesExercices]{AffichageTitre}}%
\defKV[ClesExercices]{Competence=\setKV[ClesExercices]{AffichageCompetence}}%
@@ -726,7 +727,7 @@
\xintFor* ##1 in{\xintSeq{1}{\thePfMExo}}\do{%
\setcounter{PfMExoSol}{##1}%
\setcounter{PfMAlea}{0}%
- \IfFileExists{\jobname-Ex##1.sol}{\textbf{Corrigé de l'exercice\ifnum\thePfMExo=1\relax\else~##1\fi}\par\nopagebreak\input{\jobname-Ex##1.sol}\par\goodbreak}{\IfFileExists{\jobname-Ex##1.rep}{\textbf{Réponse(s) seule(s) de l'exercice\ifnum\thePfMExo=1\relax\else~##1\fi}\par\nopagebreak\input{\jobname-Ex##1.rep}\par\goodbreak}{%
+ \IfFileExists{\jobname-Ex##1.sol}{\textbf{Corrigé de l'exercice\ifnum\thePfMExo=1\relax\else~##1\fi\PfMAffichageTitreSolution}\par\nopagebreak\input{\jobname-Ex##1.sol}\par\goodbreak}{\IfFileExists{\jobname-Ex##1.rep}{\textbf{Réponse(s) seule(s) de l'exercice\ifnum\thePfMExo=1\relax\else~##1\fi}\par\nopagebreak\input{\jobname-Ex##1.rep}\par\goodbreak}{%
\IfFileExists{\jobname-Ex##1.cdp}{\textbf{Indice(s) pour l'exercice\ifnum\thePfMExo=1\relax\else~##1\fi}\par\nopagebreak\input{\jobname-Ex##1.cdp}\par\goodbreak}{}
}%
}%
@@ -922,6 +923,7 @@
\refstepcounter{PfMSection}%
\PfMChoixCorrection%
\refstepcounter{PfMExo}%
+ \PfMChoixTitreSolution%
\immediate\write\@auxout{%
\string\opcopy{\thePfMExo}{TotalExo}%
}%
@@ -1077,6 +1079,7 @@
\refstepcounter{PfMSection}%
\PfMChoixCorrection%
\refstepcounter{PfMExo}%
+ \PfMChoixTitreSolution%
\immediate\write\@auxout{\string\opcopy{\thePfMExo}{\Roman{PfMMaquette}-ContratTotalExo}}%
% Creation des parcours
\ifboolKV[ClesExercices]{Contrat}{%
@@ -1431,6 +1434,7 @@
\stepcounter{PfMSection}%
\PfMChoixCorrection%
\refstepcounter{PfMExo}%
+ \PfMChoixTitreSolution%
\immediate\write\@auxout{\string\opcopy{\thePfMExo}{\Roman{PfMMaquette}-FdRTotalExo}}%
% Creation des parcours
\ifboolKV[ClesExercices]{Routes}{%
@@ -1762,6 +1766,7 @@
\refstepcounter{PfMSection}%
\PfMChoixCorrection%
\refstepcounter{PfMExo}%
+ \PfMChoixTitreSolution%
\immediate\write\@auxout{\string\opcopy{\thePfMExo}{\Roman{PfMMaquette}-ParcoursTotalExo}}%
% Creation des parcours
\ifboolKV[ClesExercices]{Parcours}{%
@@ -1825,6 +1830,24 @@
}{}%
}%
+\NewDocumentCommand\PfMAffichageTitreSolution{}{%
+ %Affichage du titre de la solution :) Le compteur PfMExoSol vaut \thePfMExoSol
+ \expandafter\xdef\csname PfMEcrireTitreSol\endcsname{\csname PfMTSol\Roman{PfMExoSol}\endcsname}%
+ \ifx\bla\PfMEcrireTitreSol\bla%
+ \else
+ \PfMEcrireTitreSol%
+ \fi%
+}%
+
+\NewDocumentCommand\PfMChoixTitreSolution{}{%
+ \ifboolKV[ClesExercices]{TitreSol}{%
+ %J'ai un titre à mettre à la solution.\par LE compteur PfMExo vaut \thePfMExo
+ \expandafter\xdef\csname PfMTSol\Roman{PfMExo}\endcsname{\useKV[ClesExercices]{TitreSolution}}}{%
+ %Je n'ai pas de titre à mettre à la solution.\par%
+ \expandafter\xdef\csname PfMTSol\Roman{PfMExo}\endcsname{}%
+ }%
+}%
+
\NewDocumentEnvironment{exerciceFiche}{so+b}{%
\setcounter{PfMAlea}{0}%
\setcounter{PfMNbLogo}{1}%
@@ -1839,6 +1862,7 @@
\refstepcounter{PfMSection}%
\PfMChoixCorrection%
\refstepcounter{PfMExo}%
+ \PfMChoixTitreSolution%
\begin{tcolorbox}[%
tikzfiche,
label is label,
@@ -1860,6 +1884,7 @@
\refstepcounter{PfMSection}%
\PfMChoixCorrection%
\refstepcounter{PfMExo}%
+ \PfMChoixTitreSolution%
\immediate\write\@auxout{%
\string\opcopy{\thePfMExo}{TotalExo}%
}
@@ -1890,6 +1915,7 @@
\refstepcounter{PfMSection}%
\PfMChoixCorrection%
\refstepcounter{PfMExo}%
+ \PfMChoixTitreSolution%
\ifboolKV[ClesExercices]{BaremeTotal}{%
\immediate\write\@auxout{%
\string\opcopy{0}{total\the\c@PfMSection-\the\c@PfMExo}%
@@ -2063,6 +2089,7 @@
\refstepcounter{PfMSection}%
\PfMChoixCorrection%
\refstepcounter{PfMExo}%
+ \PfMChoixTitreSolution%
\tcolorbox[%
tikzpdt
]%
@@ -2201,6 +2228,7 @@
\setKV[ClesExercices]{BaremeTotal=false,BaremeDetaille=false}%
\PfMChoixCorrection%
\refstepcounter{PfMExo}%
+ \PfMChoixTitreSolution%
\tcolorbox[%
tikzkholle,
label is label,