summaryrefslogtreecommitdiff
path: root/macros
diff options
context:
space:
mode:
Diffstat (limited to 'macros')
-rw-r--r--macros/latex/contrib/easybook/easybook.dtx68
-rw-r--r--macros/latex/contrib/easybook/easybook.pdfbin640091 -> 641249 bytes
-rw-r--r--macros/latex/contrib/easybook/easybook.tex11
-rw-r--r--macros/latex/contrib/elteiktdk/LICENSE2
-rw-r--r--macros/latex/contrib/elteiktdk/README.md16
-rw-r--r--macros/latex/contrib/elteiktdk/README.pdfbin166760 -> 168708 bytes
-rw-r--r--macros/latex/contrib/elteiktdk/README_hu.md10
-rw-r--r--macros/latex/contrib/elteiktdk/README_hu.pdfbin169068 -> 170214 bytes
-rw-r--r--macros/latex/contrib/elteiktdk/elteiktdk.bib2
-rw-r--r--macros/latex/contrib/elteiktdk/elteiktdk.cls10
-rw-r--r--macros/latex/contrib/elteiktdk/elteiktdk_en.pdfbin306031 -> 326320 bytes
-rw-r--r--macros/latex/contrib/elteiktdk/elteiktdk_en.tex5
-rw-r--r--macros/latex/contrib/elteiktdk/elteiktdk_hu.pdfbin324742 -> 331537 bytes
-rw-r--r--macros/latex/contrib/elteiktdk/elteiktdk_hu.tex5
-rw-r--r--macros/latex/contrib/elteiktdk/images/elte_cimer_szines-eps-converted-to.pdfbin0 -> 119514 bytes
-rw-r--r--macros/latex/contrib/elteikthesis/LICENSE2
-rw-r--r--macros/latex/contrib/elteikthesis/README.md10
-rw-r--r--macros/latex/contrib/elteikthesis/README.pdfbin168297 -> 163898 bytes
-rw-r--r--macros/latex/contrib/elteikthesis/README_hu.md5
-rw-r--r--macros/latex/contrib/elteikthesis/README_hu.pdfbin172359 -> 167241 bytes
-rw-r--r--macros/latex/contrib/elteikthesis/elteikthesis.bib2
-rw-r--r--macros/latex/contrib/elteikthesis/elteikthesis.cls14
-rw-r--r--macros/latex/contrib/elteikthesis/elteikthesis_en.pdfbin434374 -> 461564 bytes
-rw-r--r--macros/latex/contrib/elteikthesis/elteikthesis_en.tex6
-rw-r--r--macros/latex/contrib/elteikthesis/elteikthesis_hu.pdfbin463564 -> 489954 bytes
-rw-r--r--macros/latex/contrib/elteikthesis/elteikthesis_hu.tex6
-rw-r--r--macros/latex/contrib/elteikthesis/elteikthesis_minted.pdfbin93792 -> 43367 bytes
-rw-r--r--macros/latex/contrib/elteikthesis/elteikthesis_minted.tex2
-rw-r--r--macros/latex/contrib/elteikthesis/images/elte_cimer_szines-eps-converted-to.pdfbin0 -> 119514 bytes
-rw-r--r--macros/latex/contrib/jsonparse/README.md2
-rw-r--r--macros/latex/contrib/jsonparse/jsonparse-doc.pdfbin410605 -> 414511 bytes
-rw-r--r--macros/latex/contrib/jsonparse/jsonparse-doc.tex26
-rw-r--r--macros/latex/contrib/jsonparse/jsonparse.sty229
-rw-r--r--macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdfbin10283168 -> 10283638 bytes
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCAssemblagesSolides.tex14
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCCartographie.tex58
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCProgrammeCalcul.tex2
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCRepresenterTableur.tex9
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCStatistiques.tex10
-rw-r--r--macros/latex/contrib/profcollege/latex/ProfCollege.sty4
40 files changed, 354 insertions, 176 deletions
diff --git a/macros/latex/contrib/easybook/easybook.dtx b/macros/latex/contrib/easybook/easybook.dtx
index f4ee675755..2a60d8894f 100644
--- a/macros/latex/contrib/easybook/easybook.dtx
+++ b/macros/latex/contrib/easybook/easybook.dtx
@@ -15,7 +15,7 @@
%<*class>
\NeedsTeXFormat{LaTeX2e}[2021/11/15]
\RequirePackage{l3keys2e}
-\ProvidesExplClass{easybook}{2024/04/25}{2024ba}
+\ProvidesExplClass{easybook}{2024/04/26}{2024bb}
{Easily typesetting Chinese theses or books}
\bool_new:N \l__eb_compile_draft_bool
@@ -297,7 +297,7 @@
%<*package>
\NeedsTeXFormat{LaTeX2e}[2021/11/15]
\RequirePackage{l3keys2e,etoolbox}
-\ProvidesExplPackage{easybase}{2024/04/25}{2024ba}
+\ProvidesExplPackage{easybase}{2024/04/26}{2024bb}
{Easily typesetting Chinese theses or books}
\cs_generate_variant:Nn \dim_set:Nn { NV }
@@ -1204,7 +1204,7 @@
\l__eb_fnmarktext_format_tl \l__eb_fncustom_format_tl
}
}
-\NewDocumentCommand{\Footnote}{O{#2}mm}
+\NewDocumentCommand{\Footnote}{O{#2}m+m}
{
\group_begin:
\eb_fncustom_format_initial:
@@ -1470,7 +1470,7 @@
{ \par }
}
}
-\cs_new_protected:Npn \eb_toc_float_list_parse:nnnnn #1#2#3#4#5
+\cs_new_protected:Npn \eb_toc_list_struct_parse:nnnnn #1#2#3#4#5
{
\group_begin:
\tl_set_eq:Nc \eb@toc@title { list#4name }
@@ -1491,7 +1491,7 @@
\cs_new_protected:Npn \DeclareFloatList #1#2
{
\exp_args:Nc \DeclareDocumentCommand { listof#1s }{st+o}
- {\eb_toc_float_list_parse:nnnnn {##1} {##2} {##3} {#1} {#2}}
+ {\eb_toc_list_struct_parse:nnnnn {##1} {##2} {##3} {#1} {#2}}
\ctex_define:n
{
#1 .meta:nn = { ctex/#1 } {##1},
@@ -1538,7 +1538,7 @@
\bool_if:NT \l__eb_toc_plan_cn_bool
{
\IfBooleanF{#1}{\eb@toc@title@level{\eb@toc@title}{}}
- \eb_toc_if_title_between_hook:nn {#1} { main }
+ \eb_toc_if_title_between_hook:nn {#1} { title }
\eb_toc_start_multi_column_ext:n { toc }#4
}
\bool_if:NT \l__eb_toc_plan_bi_bool
@@ -1546,7 +1546,7 @@
\tl_if_eq:NnF \g__eb_bilist_permute_value_tl { mix }
{
\IfBooleanF{#1}{\eb@toc@title@level{\eb@bitoc@title}{}}
- \eb_toc_if_title_between_hook:nn {#1} { bimain }
+ \eb_toc_if_title_between_hook:nn {#1} { bititle }
\eb_toc_start_multi_column_ext:n { tec }
}
}
@@ -1667,13 +1667,30 @@
}
}
}
+\NewDocumentCommand{\tocrule}{st-O{0.7pc}d()mO{}}
+ {
+ \normalsize\normalfont
+ \titlerule*[#3]{\IfValueTF{#4}{\scalebox{#4}{#5}}{#5}}#6
+ {
+ \IfBooleanF{#2}
+ {
+ \IfBooleanTF{#1}
+ {\thecontentspage}
+ {
+ \bool_if:NTF \l__eb_toc_dot_align_bool
+ { \contentspage }
+ { \thecontentspage }
+ }
+ }
+ }
+ }
\ctex_define:nn { toc }
{
lolskip .skip_set:N = \eb@toc@lol@skip,
lolskip .initial:n = 10pt,
- between .tl_set:N = \l__eb_toc_main_between_hook_tl,
+ between .tl_set:N = \l__eb_toc_title_between_hook_tl,
between .initial:n = \bool_if:NT \l__eb_class_mode_book_bool { \vspace*{-1pc} },
- bibetween .tl_set:N = \l__eb_toc_bimain_between_hook_tl,
+ bibetween .tl_set:N = \l__eb_toc_bititle_between_hook_tl,
bibetween .initial:n = \bool_if:NT \l__eb_class_mode_book_bool { \vspace*{-1pc} },
dotalign .bool_set:N = \l__eb_toc_dot_align_bool,
dotalign .default:n = true,
@@ -1685,23 +1702,27 @@
pagenumwd .initial:n = 1.55em,
unknown .code:n = \eb_msg_deprecated_option:n { toc }
}
-\NewDocumentCommand{\tocrule}{st-O{0.7pc}d()mO{}}
+
+\NewHookWithArguments{starttoc/after}{1}
+\AddToHookWithArguments{starttoc/after}[aux]
{
- \normalsize\normalfont
- \titlerule*[#3]{\IfValueTF{#4}{\scalebox{#4}{#5}}{#5}}#6
+ \ifbool{@filesw}
{
- \IfBooleanF{#2}
- {
- \IfBooleanTF{#1}
- {\thecontentspage}
- {
- \bool_if:NTF \l__eb_toc_dot_align_bool
- { \contentspage }
- { \thecontentspage }
- }
- }
+ \tl_if_exist:cF { tf@#1 }
+ {\iow_new:c { tf@#1 }\iow_open:cn { tf@#1 } { \jobname.#1 }}
}
+ {}
}
+\cs_set:Npn \@starttoc #1
+ {
+ \group_begin:
+ \file_if_exist_input:n { \jobname.#1 }
+ \UseHookWithArguments{starttoc/after}{1}{#1}
+ \boolfalse{@nobreak}
+ \group_end:
+ }
+\AtEndDocument{\iow_now:Nn \@mainaux { \RemoveFromHook{starttoc/after}[aux] }}
+
\cs_set_eq:NN \eb@ctexsetii \ctex_set:nn
\cs_new_protected:Npn \SetTocStyle #1#2#3
{
@@ -1716,6 +1737,7 @@
}
\msg_new:nnn { easybase } { undefined-toc-style }
{ The~contents~style~'#1'~of~'#2'~is~not~defined. }
+
\ctex_set:n
{
part =
@@ -2482,7 +2504,7 @@
}
%</package>
%<*tcolorbox>
-\ProvidesExplFile{eb-tcolorbox.cfg}{2024/04/25}{2024ba}
+\ProvidesExplFile{eb-tcolorbox.cfg}{2024/04/26}{2024bb}
{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 1dbab645f4..b2ead2bd49 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 760a8de58b..5bb0355843 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 = v2024ba,
- date = 2024/04/25,
+ version = v2024bb,
+ date = 2024/04/26,
authors = 瞿毅,
info = 简便地排版中文学位论文或书籍,
email = toquyi@163.com,
@@ -631,8 +631,8 @@
\begin{commands}\noitemsep
\command{listoftheorems}[\sarg\oarg{键值列表}]\default{}
\item\key{listoftheorems}{定理目录标题名}
- \command{settheoremtocline}[\sarg\marg{环境名}\marg{标题定义}]\newtagv{2024ba}%
- 对 \pkg*{thmtools} 宏包的定理环境目录命令 \cs{listoftheorems} 进行了兼容调整,\ref{subsec:directory command} 和\ref{subsec:catalog} 中的选项机制均可用,但标题定义选项 \option{tocline} 较为特殊,需用 \cs{settheoremtocline} 命令单独设置。在 \meta{标题定义} 中有三个命令 \cs{thmtname}、\cs{thmtenvname} 和 \cs{thmtnote} 分别代表定理名、定理环境名和题注用于排版目录条目。
+ \command{settheoremtocline}[\sarg\marg{环境名}\marg{标题定义}]\newtagv{2024bb}%
+ 对 \pkg*{thmtools} 宏包的定理环境目录命令 \cs{listoftheorems} 进行了适配调整,\ref{subsec:directory command} 和\ref{subsec:catalog} 中的选项机制均可用,但标题定义选项 \option{tocline} 较为特殊,需用 \cs{settheoremtocline} 命令单独设置。在 \meta{标题定义} 中有三个命令 \cs{thmtname}、\cs{thmtenvname} 和 \cs{thmtnote} 分别代表定理名、定理环境名和题注用于排版目录条目。
\end{commands}
\begin{commands}
@@ -988,6 +988,7 @@
\subsection{目录命令}
\label{subsec:directory command}
+\easybook{} 改进了标准文档类中定制性较低的章节标题和图表标题目录命令。现在目录命令带有可选参数用于设置标题格式和栏数等,并且与标准文档类不同的是目录命令可在正文中\textbf{重复}使用。更多目录命令的创建和样式设置可参考\ref{subsec:catalog}。
\begin{commands}
\command{tableofcontents}[\sarg\oarg{键值列表}\darg{代码钩子}]
章节标题目录命令,支持中英文双语标题目录输出。带有星号参数不输出目录条目上方的标题。\meta{代码钩子} 是当输出方案 \keyis{plan}{both} 时中文与英文目录之间执行的代码,可以插入设置目录样式和换页等命令。
@@ -1501,7 +1502,7 @@
\item 新增段落型目录条目附加代码的选项 \option{tocbegin}、\option{tocsep} 和 \option{tocend}。
\end{version}
\shortversion{v = 2024aw,date = 2022/04/22,changes = 新增新建章节标题命令 \cs{NewTitleCommand} 和 \cs{NewTitleEntryCommand}。}
- \shortversion{v = 2024ba,date = 2022/04/25,changes = 增加对 \pkg*{thmtools} 宏包定理环境目录 \cs{listoftheorems} 的支持。}
+ \shortversion{v = 2024bb,date = 2022/04/26,changes = 增加对 \pkg*{thmtools} 宏包定理环境目录 \cs{listoftheorems} 的支持。}
\end{changelog}
\nocite{*}
diff --git a/macros/latex/contrib/elteiktdk/LICENSE b/macros/latex/contrib/elteiktdk/LICENSE
index bc752874d2..57a02bc510 100644
--- a/macros/latex/contrib/elteiktdk/LICENSE
+++ b/macros/latex/contrib/elteiktdk/LICENSE
@@ -1,6 +1,6 @@
MIT License
-Copyright (c) 2013-2023 Máté Cserép
+Copyright (c) 2013-2024 Máté Cserép
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/elteiktdk/README.md b/macros/latex/contrib/elteiktdk/README.md
index fc5c76f0a1..bb64bd061e 100644
--- a/macros/latex/contrib/elteiktdk/README.md
+++ b/macros/latex/contrib/elteiktdk/README.md
@@ -1,3 +1,9 @@
+![CI status](https://github.com/mcserep/elteiktdk/workflows/Build%20LaTeX%20document/badge.svg)
+[![Overleaf template](https://img.shields.io/badge/Overleaf-TDK%20Thesis%20Template%20(ELTE%20FI)-brightgreen)](https://www.overleaf.com/latex/templates/tdk-thesis-template-elte-fi/mxnndxkmdmkd)
+
+
+See [Hungarian version](README_hu.md).
+
# ELTE FI TDK thesis template
The [elteiktdk_en.tex](elteiktdk_en.tex) and the produced [elteiktdk_en.pdf](elteiktdk_en.pdf) serves as an example of usage.
@@ -14,17 +20,14 @@ The template supports producing both Hungarian and English theses, which can be
# (PDF file contains incorrect references yet)
pdflatex elteiktdk_en.tex
# Generate bibliography
-bibtex elteiktdk
+biber elteiktdk_en
# Generate nomenclature (optional)
makeindex -s nomencl.ist -t elteiktdk_en.nlg \
-o elteiktdk_en.nls elteiktdk_en.nlo
# Generate final PDF file
pdflatex elteiktdk_en.tex
-pdflatex elteiktdk_en.tex
```
-**Note:** in case the bibliography changes, executing `bibtex`, then `pdflatex` _twice_ is required to generate to correct references in the PDF output.
-
Compilation might be carried out through a preferred IDE (e.g. [TexStudio](https://www.texstudio.org/)), given the same commands should be executed.
## Syntax highlighting of code blocks
@@ -32,6 +35,11 @@ Compilation might be carried out through a preferred IDE (e.g. [TexStudio](https
The minted package is also supported for syntax highlighting, for details see the [documentation](https://www.overleaf.com/learn/latex/Code_Highlighting_with_minted).
For its usage the Python interpreter and the `Pygments` package must be installed as a prerequisite, then you should uncomment its loading at the beginning of `elteiktdk_en.tex`.
+## Overleaf
+
+*Overleaf* is a free, easy to use online, collaborative LaTeX editor; similar like e.g. Google Docs, but for LateX documents.
+You can also find the latest release of this thesis template [on Overleaf](https://www.overleaf.com/latex/templates/tdk-thesis-template-elte-fi/mxnndxkmdmkd).
+
## Required packages (without completeness)
**Image handling:**
diff --git a/macros/latex/contrib/elteiktdk/README.pdf b/macros/latex/contrib/elteiktdk/README.pdf
index 2eed2928ac..68821eacfe 100644
--- a/macros/latex/contrib/elteiktdk/README.pdf
+++ b/macros/latex/contrib/elteiktdk/README.pdf
Binary files differ
diff --git a/macros/latex/contrib/elteiktdk/README_hu.md b/macros/latex/contrib/elteiktdk/README_hu.md
index 93c807602d..b3637d76aa 100644
--- a/macros/latex/contrib/elteiktdk/README_hu.md
+++ b/macros/latex/contrib/elteiktdk/README_hu.md
@@ -14,17 +14,14 @@ A sablon magyar és angol nyelvű dokumentumok elkészítését is támogatja (l
# (PDF fájl még hibás hivatkozásokat fog tartalmazni)
pdflatex elteiktdk_hu.tex
# Irodalomjegyzék generálása
-bibtex tdk
+biber elteiktdk_hu
# Jelölésjegyzék generálása (ha szükséges)
makeindex -s nomencl.ist -t elteiktdk_hu.nlg \
-o elteiktdk_hu.nls elteiktdk_hu.nlo
# Végleges PDF fájl generálása
pdflatex elteiktdk_hu.tex
-pdflatex elteiktdk_hu.tex
```
-**Megjegyzés:** az irodalomjegyzék változása esetén a `bibtex`, majd a `pdflatex` _kétszeri_ futtatása szükséges a helyes hivatkozások előállításához.
-
A fordításhoz tetszőleges fejlesztő környezet is használható (pl. [TexStudio](https://www.texstudio.org/)), ugyanezen utasítások kiadásával.
## Kódblokkok szintaxis kiemelése
@@ -32,6 +29,11 @@ A fordításhoz tetszőleges fejlesztő környezet is használható (pl. [TexStu
A *minted* csomag támogatott a forráskódok szedésére és szintaxis kiemelésére, részletekért ld. a [dokumentációt](https://www.overleaf.com/learn/latex/Code_Highlighting_with_minted).
Használatához szükséges a Python interpreter és a `Pygments` csomag telepítése, majd `elteiktdk_hu.tex` fájl elején a betöltésének az engedélyezése.
+## Overleaf
+
+Az *Overleaf* egy ingyenes, könnyen használható, kollaboratív, online LaTeX szerkesztő. Hasonló, mint például a Google Docs, de LateX dokumentumokhoz.
+Az ELTE IK TDK-dolgozat sablon legfrissebb kiadását [Overleafen is megtalálod](https://www.overleaf.com/latex/templates/tdk-thesis-template-elte-fi/mxnndxkmdmkd).
+
## Fontosabb függőségi csomagok
**Képkezelés:**
diff --git a/macros/latex/contrib/elteiktdk/README_hu.pdf b/macros/latex/contrib/elteiktdk/README_hu.pdf
index 9545a2b10e..86d0f55b84 100644
--- a/macros/latex/contrib/elteiktdk/README_hu.pdf
+++ b/macros/latex/contrib/elteiktdk/README_hu.pdf
Binary files differ
diff --git a/macros/latex/contrib/elteiktdk/elteiktdk.bib b/macros/latex/contrib/elteiktdk/elteiktdk.bib
index 1e0ae403e3..4f5518ca4f 100644
--- a/macros/latex/contrib/elteiktdk/elteiktdk.bib
+++ b/macros/latex/contrib/elteiktdk/elteiktdk.bib
@@ -12,7 +12,7 @@
author = {Cormen, Thomas H. and Leiserson, Charles E. and Rivest, Ronald L. and Stein, Clifford},
title = {Introduction to Algorithms, Third Edition},
year = {2009},
- isbn = {0262033844, 9780262033848},
+ isbn = {978-0-262-53305-8},
edition = {3rd},
publisher = {The MIT Press},
}
diff --git a/macros/latex/contrib/elteiktdk/elteiktdk.cls b/macros/latex/contrib/elteiktdk/elteiktdk.cls
index 4e3ef4741f..4bd604bab0 100644
--- a/macros/latex/contrib/elteiktdk/elteiktdk.cls
+++ b/macros/latex/contrib/elteiktdk/elteiktdk.cls
@@ -1,7 +1,7 @@
%% MIT License
%%
-%% Version 2.0, 2023/04/10
-%% Copyright (c) 2013-2023 Máté Cserép <mcserep@inf.elte.hu>
+%% Version 2.1, 2024/04/26
+%% Copyright (c) 2013-2024 Máté Cserép <mcserep@inf.elte.hu>
%%
%% Permission is hereby granted, free of charge, to any person obtaining a copy
%% of this software and associated documentation files (the "Software"), to deal
@@ -22,10 +22,10 @@
%% SOFTWARE.
\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{elteiktdk}[2023/04/10 ELTE FI TDK thesis template]
+\ProvidesClass{elteiktdk}[2024/04/26 ELTE FI TDK thesis template]
% Load document class
-\LoadClassWithOptions{elteikthesis}[2023/04/10]
+\LoadClassWithOptions{elteikthesis}[2024/04/26]
% ------------------------------
% ------------------------------
@@ -72,7 +72,7 @@
\newcommand{\lstcodelabel}{Forráskódjegyzék}
\newcommand{\lstnomencl}{Jelölésjegyzék}
\newcommand{\todolabel}{Teendők listája}
- \newcommand{\acklabel}{Köszönyetnyilvánítás}
+ \newcommand{\acklabel}{Köszönetnyilvánítás}
}
{ % English
\newcommand{\covertitle}{TDK-thesis}
diff --git a/macros/latex/contrib/elteiktdk/elteiktdk_en.pdf b/macros/latex/contrib/elteiktdk/elteiktdk_en.pdf
index 555c128d00..276a5139ec 100644
--- a/macros/latex/contrib/elteiktdk/elteiktdk_en.pdf
+++ b/macros/latex/contrib/elteiktdk/elteiktdk_en.pdf
Binary files differ
diff --git a/macros/latex/contrib/elteiktdk/elteiktdk_en.tex b/macros/latex/contrib/elteiktdk/elteiktdk_en.tex
index 1b83d16753..9cb07d9ca3 100644
--- a/macros/latex/contrib/elteiktdk/elteiktdk_en.tex
+++ b/macros/latex/contrib/elteiktdk/elteiktdk_en.tex
@@ -5,15 +5,14 @@
%twoside, % Double sided format
%draft, % Quicker draft compilation without rendering images
%final, % Set final to hide todos
-]{elteiktdk}[2023/04/10]
+]{elteiktdk}[2024/04/26]
% The minted package is also supported for source highlighting
-% See minted-intregration.tex for example
%\usepackage[newfloat]{minted}
% Document's metadata
\title{TDK-dolgozat címe}
-\date{2023}
+\date{2024}
% Author(s)' metadata
\author{John Smith}
diff --git a/macros/latex/contrib/elteiktdk/elteiktdk_hu.pdf b/macros/latex/contrib/elteiktdk/elteiktdk_hu.pdf
index 216b52b3ba..c9924b2e64 100644
--- a/macros/latex/contrib/elteiktdk/elteiktdk_hu.pdf
+++ b/macros/latex/contrib/elteiktdk/elteiktdk_hu.pdf
Binary files differ
diff --git a/macros/latex/contrib/elteiktdk/elteiktdk_hu.tex b/macros/latex/contrib/elteiktdk/elteiktdk_hu.tex
index 58e0168c8d..c87c9b07e3 100644
--- a/macros/latex/contrib/elteiktdk/elteiktdk_hu.tex
+++ b/macros/latex/contrib/elteiktdk/elteiktdk_hu.tex
@@ -5,15 +5,14 @@
%twoside, % Double sided format
%draft, % Quicker draft compilation without rendering images
%final, % Set final to hide todos
-]{elteiktdk}[2023/04/10]
+]{elteiktdk}[2024/04/26]
% The minted package is also supported for source highlighting
-% See minted-intregration.tex for example
%\usepackage[newfloat]{minted}
% Document's metadata
\title{TDK-dolgozat címe}
-\date{2023}
+\date{2024}
% Author(s)' metadata
\author{Hallgató Hanga}
diff --git a/macros/latex/contrib/elteiktdk/images/elte_cimer_szines-eps-converted-to.pdf b/macros/latex/contrib/elteiktdk/images/elte_cimer_szines-eps-converted-to.pdf
new file mode 100644
index 0000000000..7a0a7a2d61
--- /dev/null
+++ b/macros/latex/contrib/elteiktdk/images/elte_cimer_szines-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/elteikthesis/LICENSE b/macros/latex/contrib/elteikthesis/LICENSE
index 94e8bc6f6a..b355e209d0 100644
--- a/macros/latex/contrib/elteikthesis/LICENSE
+++ b/macros/latex/contrib/elteikthesis/LICENSE
@@ -1,6 +1,6 @@
MIT License
-Copyright (c) 2013-2023 Máté Cserép <mcserep@inf.elte.hu>, Bálint Bognár
+Copyright (c) 2013-2024 Máté Cserép <mcserep@inf.elte.hu>, Bálint Bognár
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/elteikthesis/README.md b/macros/latex/contrib/elteikthesis/README.md
index f00a96dccd..a6cb6bc591 100644
--- a/macros/latex/contrib/elteikthesis/README.md
+++ b/macros/latex/contrib/elteikthesis/README.md
@@ -1,3 +1,8 @@
+[![CI status](https://github.com/mcserep/elteikthesis/actions/workflows/ci.yml/badge.svg)](https://github.com/mcserep/elteikthesis/actions/workflows/ci.yml)
+[![Overleaf template](https://img.shields.io/badge/Overleaf-ELTE%20FI%20Thesis%20Template-brightgreen)](https://www.overleaf.com/latex/templates/elte-fi-thesis-template/scjzzzbjvwfz)
+
+See [Hungarian version](README_hu.md).
+
# ELTE FI bachelor and master thesis template
The [elteikthesis_en.tex](elteikthesis_en.tex) and the produced [elteikthesis_en.pdf](elteikthesis_en.pdf) serves as an example of usage.
@@ -14,17 +19,14 @@ The template supports producing both Hungarian and English theses, which can be
# (PDF file contains incorrect references yet)
pdflatex elteikthesis_en.tex
# Generate bibliography
-bibtex elteikthesis_en
+biber elteikthesis_en
# Generate nomenclature (optional)
makeindex -s nomencl.ist -t elteikthesis_en.nlg \
-o elteikthesis_en.nls elteikthesis_en.nlo
# Generate final PDF file
pdflatex elteikthesis_en.tex
-pdflatex elteikthesis_en.tex
```
-**Note:** in case the bibliography changes, executing `bibtex`, then `pdflatex` _twice_ is required to generate to correct references in the PDF output.
-
Compilation might be carried out through a preferred IDE (e.g. [TexStudio](https://www.texstudio.org/)), given the same commands should be executed.
## Syntax highlighting of code blocks
diff --git a/macros/latex/contrib/elteikthesis/README.pdf b/macros/latex/contrib/elteikthesis/README.pdf
index 9578eacba5..8303259f35 100644
--- a/macros/latex/contrib/elteikthesis/README.pdf
+++ b/macros/latex/contrib/elteikthesis/README.pdf
Binary files differ
diff --git a/macros/latex/contrib/elteikthesis/README_hu.md b/macros/latex/contrib/elteikthesis/README_hu.md
index 5a8fe1e666..bfa56e3b7b 100644
--- a/macros/latex/contrib/elteikthesis/README_hu.md
+++ b/macros/latex/contrib/elteikthesis/README_hu.md
@@ -14,17 +14,14 @@ A sablon magyar és angol nyelvű dokumentumok elkészítését is támogatja (l
# (PDF fájl még hibás hivatkozásokat fog tartalmazni)
pdflatex elteikthesis_hu.tex
# Irodalomjegyzék generálása
-bibtex elteikthesis_hu
+biber elteikthesis_hu
# Jelölésjegyzék generálása (ha szükséges)
makeindex -s nomencl.ist -t elteikthesis_hu.nlg \
-o elteikthesis_hu.nls elteikthesis_hu.nlo
# Végleges PDF fájl generálása
pdflatex elteikthesis_hu.tex
-pdflatex elteikthesis_hu.tex
```
-**Megjegyzés:** az irodalomjegyzék változása esetén a `bibtex`, majd a `pdflatex` _kétszeri_ futtatása szükséges a helyes hivatkozások előállításához.
-
A fordításhoz tetszőleges fejlesztő környezet is használható (pl. [TexStudio](https://www.texstudio.org/)), ugyanezen utasítások kiadásával.
## Kódblokkok szintaxis kiemelése
diff --git a/macros/latex/contrib/elteikthesis/README_hu.pdf b/macros/latex/contrib/elteikthesis/README_hu.pdf
index 33bdac7c47..36b1fae83f 100644
--- a/macros/latex/contrib/elteikthesis/README_hu.pdf
+++ b/macros/latex/contrib/elteikthesis/README_hu.pdf
Binary files differ
diff --git a/macros/latex/contrib/elteikthesis/elteikthesis.bib b/macros/latex/contrib/elteikthesis/elteikthesis.bib
index 1e0ae403e3..4f5518ca4f 100644
--- a/macros/latex/contrib/elteikthesis/elteikthesis.bib
+++ b/macros/latex/contrib/elteikthesis/elteikthesis.bib
@@ -12,7 +12,7 @@
author = {Cormen, Thomas H. and Leiserson, Charles E. and Rivest, Ronald L. and Stein, Clifford},
title = {Introduction to Algorithms, Third Edition},
year = {2009},
- isbn = {0262033844, 9780262033848},
+ isbn = {978-0-262-53305-8},
edition = {3rd},
publisher = {The MIT Press},
}
diff --git a/macros/latex/contrib/elteikthesis/elteikthesis.cls b/macros/latex/contrib/elteikthesis/elteikthesis.cls
index dbd181f9a5..d735972439 100644
--- a/macros/latex/contrib/elteikthesis/elteikthesis.cls
+++ b/macros/latex/contrib/elteikthesis/elteikthesis.cls
@@ -1,7 +1,7 @@
%% MIT License
%%
-%% Version 2.3.1, 2023/04/10
-%% Copyright (c) 2013-2023 Máté Cserép <mcserep@inf.elte.hu>, Bálint Bognár
+%% Version 2.4, 2024/04/26
+%% Copyright (c) 2013-2024 Máté Cserép <mcserep@inf.elte.hu>, Bálint Bognár
%%
%% Permission is hereby granted, free of charge, to any person obtaining a copy
%% of this software and associated documentation files (the "Software"), to deal
@@ -29,7 +29,7 @@
%% to the original package.
\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{elteikthesis}[2023/04/10 ELTE FI bachelor and master thesis template]
+\ProvidesClass{elteikthesis}[2024/04/26 ELTE FI bachelor and master thesis template]
% LaTeX programming tools
\RequirePackage{etoolbox}
@@ -120,7 +120,7 @@
\newcommand{\lstcodelabel}{Forráskódjegyzék}
\newcommand{\lstnomencl}{Jelölésjegyzék}
\newcommand{\todolabel}{Teendők listája}
- \newcommand{\acklabel}{Köszönyetnyilvánítás}
+ \newcommand{\acklabel}{Köszönetnyilvánítás}
}
{ % English
\newcommand{\authorlabel}{Author}
@@ -394,7 +394,7 @@
% Bibliography
\RequirePackage[autostyle=true]{csquotes}
\RequirePackage[
- backend=bibtex,
+ backend=biber,
style=numeric, % style of bibliography
sorting=none % sorting of references
]{biblatex}
@@ -464,8 +464,8 @@
% ------------------------------
% List of TODOs
-% http://www.tex.ac.uk/tex-archive/help/Catalogue/entries/todonotes.html
-\RequirePackage[textwidth=30mm, textsize=small, color=todobackg, linecolor=orange, colorinlistoftodos, shadow, obeyFinal]{todonotes}
+% http://tug.ctan.org/macros/latex/contrib/todonotes/todonotes.pdf
+\RequirePackage[textwidth=30mm, textsize=small, color=todobackg, linecolor=orange, colorinlistoftodos, loadshadowlibrary, shadow, obeyFinal]{todonotes}
\RequirePackage[displaymath, tightpage]{preview}
% Place TODOs on the left margin
\reversemarginpar
diff --git a/macros/latex/contrib/elteikthesis/elteikthesis_en.pdf b/macros/latex/contrib/elteikthesis/elteikthesis_en.pdf
index fee7fc0084..ec31001cea 100644
--- a/macros/latex/contrib/elteikthesis/elteikthesis_en.pdf
+++ b/macros/latex/contrib/elteikthesis/elteikthesis_en.pdf
Binary files differ
diff --git a/macros/latex/contrib/elteikthesis/elteikthesis_en.tex b/macros/latex/contrib/elteikthesis/elteikthesis_en.tex
index 8a405c74c3..e7af40ddfa 100644
--- a/macros/latex/contrib/elteikthesis/elteikthesis_en.tex
+++ b/macros/latex/contrib/elteikthesis/elteikthesis_en.tex
@@ -5,15 +5,15 @@
%twoside, % Double sided format
%draft, % Quicker draft compilation without rendering images
%final, % Set final to hide todos
-]{elteikthesis}[2023/04/10]
+]{elteikthesis}[2024/04/26]
% The minted package is also supported for source highlighting
-% See minted-intregration.tex for example
+% See elteikthesis_minted.tex for example
%\usepackage[newfloat]{minted}
% Document's metadata
\title{Title of the thesis} % title
-\date{2023} % year of defense
+\date{2024} % year of defense
% Author's metadata
\author{John Smith}
diff --git a/macros/latex/contrib/elteikthesis/elteikthesis_hu.pdf b/macros/latex/contrib/elteikthesis/elteikthesis_hu.pdf
index 495413b49e..d4c3feb44d 100644
--- a/macros/latex/contrib/elteikthesis/elteikthesis_hu.pdf
+++ b/macros/latex/contrib/elteikthesis/elteikthesis_hu.pdf
Binary files differ
diff --git a/macros/latex/contrib/elteikthesis/elteikthesis_hu.tex b/macros/latex/contrib/elteikthesis/elteikthesis_hu.tex
index 9dd6d9a74c..11a730db2d 100644
--- a/macros/latex/contrib/elteikthesis/elteikthesis_hu.tex
+++ b/macros/latex/contrib/elteikthesis/elteikthesis_hu.tex
@@ -5,15 +5,15 @@
%twoside, % Double sided format
%draft, % Quicker draft compilation without rendering images
%final, % Set final to hide todos
-]{elteikthesis}[2023/04/10]
+]{elteikthesis}[2024/04/26]
% The minted package is also supported for source highlighting
-% See minted-intregration.tex for example
+% See elteikthesis_minted.tex for example
%\usepackage[newfloat]{minted}
% Document's metadata
\title{Dolgozat címe} % title
-\date{2023} % year of defense
+\date{2024} % year of defense
% Author's metadata
\author{Hallgató Hanga}
diff --git a/macros/latex/contrib/elteikthesis/elteikthesis_minted.pdf b/macros/latex/contrib/elteikthesis/elteikthesis_minted.pdf
index a6e500ef59..dc4c7ed210 100644
--- a/macros/latex/contrib/elteikthesis/elteikthesis_minted.pdf
+++ b/macros/latex/contrib/elteikthesis/elteikthesis_minted.pdf
Binary files differ
diff --git a/macros/latex/contrib/elteikthesis/elteikthesis_minted.tex b/macros/latex/contrib/elteikthesis/elteikthesis_minted.tex
index e48693a45a..a214d95d92 100644
--- a/macros/latex/contrib/elteikthesis/elteikthesis_minted.tex
+++ b/macros/latex/contrib/elteikthesis/elteikthesis_minted.tex
@@ -1,4 +1,4 @@
-\documentclass{elteikthesis}[2023/04/10]
+\documentclass{elteikthesis}[2024/04/26]
\usepackage[newfloat]{minted}
diff --git a/macros/latex/contrib/elteikthesis/images/elte_cimer_szines-eps-converted-to.pdf b/macros/latex/contrib/elteikthesis/images/elte_cimer_szines-eps-converted-to.pdf
new file mode 100644
index 0000000000..7a0a7a2d61
--- /dev/null
+++ b/macros/latex/contrib/elteikthesis/images/elte_cimer_szines-eps-converted-to.pdf
Binary files differ
diff --git a/macros/latex/contrib/jsonparse/README.md b/macros/latex/contrib/jsonparse/README.md
index 6c268a9372..b8750b8a8f 100644
--- a/macros/latex/contrib/jsonparse/README.md
+++ b/macros/latex/contrib/jsonparse/README.md
@@ -1,4 +1,4 @@
-![Version 0.8.0](https://img.shields.io/badge/version-0.8.0-blue)
+![Version 0.8.2](https://img.shields.io/badge/version-0.8.2-blue)
# The `jsonparse` package
diff --git a/macros/latex/contrib/jsonparse/jsonparse-doc.pdf b/macros/latex/contrib/jsonparse/jsonparse-doc.pdf
index 3c5e5cb959..07bb66590c 100644
--- a/macros/latex/contrib/jsonparse/jsonparse-doc.pdf
+++ b/macros/latex/contrib/jsonparse/jsonparse-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/jsonparse/jsonparse-doc.tex b/macros/latex/contrib/jsonparse/jsonparse-doc.tex
index 359cab1869..485bec0cbf 100644
--- a/macros/latex/contrib/jsonparse/jsonparse-doc.tex
+++ b/macros/latex/contrib/jsonparse/jsonparse-doc.tex
@@ -11,8 +11,8 @@
% This work has the LPPL maintenance status `maintained'.
%
\documentclass[a4paper]{article}
-\def\jsonparsefileversion{0.8.0}
-\def\jsonparsefiledate{24 April 2024}
+\def\jsonparsefileversion{0.8.2}
+\def\jsonparsefiledate{26 April 2024}
\usepackage[T1]{fontenc}
\usepackage{Alegreya}
@@ -195,6 +195,7 @@
\changes{v0.7.0}{2024/04/18}{Renaming and rearranging of keys, escaping of special JSON escape sequences added.}
\changes{v0.7.1}{2024/04/20}{Access to first-level keys of object added.}
\changes{v0.8.0}{2024/04/24}{Internal rewrite, escaping procedures changed.}
+\changes{v0.8.2}{2024/04/26}{Bug fixes, externalizing parsed data.}
\begin{document}
@@ -258,18 +259,18 @@ These keys can be used to set the replacement text for the JSON escape sequences
\section{Main user commands}
\begin{macrodef}
-|\JSONParse|{<token variable>}{<JSON string>}
+|\JSONParse|[<file name>]{<token variable>}{<JSON string>}
\end{macrodef}
-The command \macro{\JSONParse} is used to parse a JSON string and store the parsed result in a token variable (a property list). The first argument takes the name of the token variable that is created by the command. The second argument takes the JSON string to be parsed.
+The command \macro{\JSONParse} is used to parse a JSON string and store the parsed result in a token variable (a property list). The second argument takes the name of the token variable that is created by the command. The third argument takes the JSON string to be parsed.
For example, using \macro{\JSONParse{\myJSONdata}{ { "key" : "value" } }}, the relevant JSON string will be parsed and the result stored in the token variable \macro{\myJSONdata} as property list. In this case, the property list only consists of one entry with the key \macro{key} and the value \macro{value}. The command \macro{\JSONParseValue{\myJSONdata}{key}}, for example, can then be used to extract the relevant value from this property list (see the description below).
+The first optinal argument can be used to externalize the parsed JSON data to a file. See more on externalization in section \ref{sec:externalizing} below.
+
\begin{macrodef}
-|\JSONParseFromFile|{<token variable>}{<JSON file>}
+|\JSONParseFromFile|[<file name>]{<token variable>}{<JSON file>}
\end{macrodef}
-The command \macro{\JSONParseFromFile} is used to parse a JSON file and store the parsed result in a token variable (a property list). It works the same way as \macro{\JSONParse}, but instead of a JSON string, it takes as second argument the path to the JSON file relative to the working directory.
-
-This command will temporarily change the category code of \macro{b}, \macro{f}, \macro{n}, \macro{r}, \macro{t} and \macro{u} to 12 (other) if full escaping is activated. See more on escaping above in section \ref{sec:escaping}.
+The command \macro{\JSONParseFromFile} is used to parse a JSON file and store the parsed result in a token variable (a property list). It works the same way as \macro{\JSONParse}, but instead of a JSON string, it takes as third argument the path to the JSON file relative to the working directory.
\begin{macrodef}
|\JSONParseKeys|{<token variable>}{<token variable>}
@@ -348,6 +349,15 @@ The starred variant, \macro{\JSONParseArrayValuesMap*}, does not rescan the toke
\end{macrodef}
The command \macro{\JSONParseArrayCount} takes as first argument a token variable holding a parsed JSON string or JSON file and as second argument a key. It returns an integer representing the number of items contained in the selected array.
+\subsection{Externalising parsed JSON data}\label{sec:externalizing}
+
+Parsing large JSON files can take quite a while. In order to speed up follow-up compilation runs, this package provides a way to store parsed JSON data for future use. The first opional argument of the commands \macro{\JSONParse} and \macro{\JSONParseFromFile} can be used to provide the name of a file (without file extension) that will be created in the working directory and which stores the relevant information. The file name will have the extension \macro{.jsonparse}. If a file with the same name and file extension already exists, an error will be issued. Once the file has been created, the package will try to load the data from this file instead of parsing the JSON data again.
+
+\begin{macrodef}
+|\JSONParsePut|{<token variable>}{<key>}[<JSON string>]
+\end{macrodef}
+The commannd \macro{\JSONParsePut} is used by the externalization procedure to re-read already parsed JSON data to the main file. It essentially just adds a key-value pair to a property list (where the value part is read as string). Hence, it can also be used to append more entries to an already existing property list containing parsed JSON data.
+
\subsection{Changing separators, output and other settings}\label{sec:settings}
The package provides a set of keys can be set to change the separators used to select the relevant value in the JSON structure, the output that is generated from the JSON data as well as other things.
diff --git a/macros/latex/contrib/jsonparse/jsonparse.sty b/macros/latex/contrib/jsonparse/jsonparse.sty
index 447c70ae1b..404e769ba7 100644
--- a/macros/latex/contrib/jsonparse/jsonparse.sty
+++ b/macros/latex/contrib/jsonparse/jsonparse.sty
@@ -10,7 +10,7 @@
%
% This work has the LPPL maintenance status `maintained'.
%
-\ProvidesExplPackage {jsonparse} {2024-04-24} {0.8.0}
+\ProvidesExplPackage {jsonparse} {2024-04-26} {0.8.2}
{JSON Parse}
\bool_new:N \l__jsonparse_debug_mode_bool
@@ -41,11 +41,26 @@
Could ~ not ~ find ~ file ~ #1.
}
+\msg_new:nnn { jsonparse } { file-exists } {
+ \msg_error_text:n { jsonparse } \iow_newline:
+ File ~ #1 ~ already ~ existing.
+}
+
\msg_new:nnn { jsonparse } { escape-in-key } {
\msg_error_text:n { jsonparse } \iow_newline:
Invalid ~ escape ~ sequence ~ #1 ~ in ~ key.
}
+\msg_new:nnn { jsonparse } { saving-external } {
+ \msg_info_text:n { jsonparse } \iow_newline:
+ Saving ~ external ~ file: ~ #1.
+}
+
+\msg_new:nnn { jsonparse } { loading-external } {
+ \msg_info_text:n { jsonparse } \iow_newline:
+ Loading ~ from ~ external ~ file: ~ #1.
+}
+
% ===
\str_new:N \l__jsonparse_child_sep_str
@@ -106,20 +121,22 @@
\cs_generate_variant:Nn \tl_range:nnn { nne , nen }
\cs_generate_variant:Nn \tl_range:Nnn { Nne , Nen }
\cs_generate_variant:Nn \tl_remove_once:Nn { NV }
+\cs_generate_variant:Nn \tl_replace_once:Nnn { Non }
\cs_generate_variant:Nn \tl_rescan:nn { no , ne }
\cs_generate_variant:Nn \tl_set:Nn { Ne }
\cs_generate_variant:Nn \tl_trim_spaces:n { e }
\cs_generate_variant:Nn \str_case_e:nn { en }
-\cs_generate_variant:Nn \str_casefold:n { e }
-\cs_generate_variant:Nn \str_head_ignore_spaces:n { e }
+\cs_generate_variant:Nn \str_casefold:n { o }
+\cs_generate_variant:Nn \str_head_ignore_spaces:n { o }
\cs_generate_variant:Nn \prop_gput:Nnn { Nee }
\cs_generate_variant:Nn \prop_item:Nn { Ne , ce }
\cs_generate_variant:Nn \prop_put:Nnn { Nen , Nee }
-\cs_generate_variant:Nn \msg_error:nnnn { nnee }
+\cs_generate_variant:Nn \iow_now:Nn { Ne }
+\cs_generate_variant:Nn \msg_error:nnnn { nnoo }
\cs_generate_variant:Nn \msg_log:nnn { nne }
\prg_generate_conditional_variant:Nnn \tl_if_eq:nn { en } { T }
-\prg_generate_conditional_variant:Nnn \tl_if_head_eq_charcode:nN { eN } { T , TF }
+\prg_generate_conditional_variant:Nnn \tl_if_head_eq_charcode:nN { oN } { T , TF }
\prg_generate_conditional_variant:Nnn \tl_if_in:nn { nV } { F }
\prg_generate_conditional_variant:Nnn \str_if_eq:nn { en , eV } { T , TF }
@@ -141,8 +158,10 @@
\int_new:N \l__jsonparse_array_count_last_int
\bool_new:N \l__jsonparse_prop_map_first_bool
+\bool_new:N \l__jsonparse_load_external_bool
\ior_new:N \l__jsonparse_json_ior
+\iow_new:N \g__jsonparse_externalize_iow
% ===
@@ -174,12 +193,12 @@
}
\cs_new_protected:Npn \jsonparse_parse:n #1 {
- \tl_set:Ne \l__jsonparse_input_tl { \tl_trim_spaces:n {#1} }
- \cs_if_exist_use:cTF { __jsonparse_parse_ \str_head_ignore_spaces:e { \l__jsonparse_input_tl } :w } {
+ \tl_set:Ne \l__jsonparse_input_tl { \tl_trim_spaces:e {#1} }
+ \cs_if_exist_use:cTF { __jsonparse_parse_ \str_head_ignore_spaces:o { \l__jsonparse_input_tl } :w } {
\l__jsonparse_input_tl \q_stop
} {
% other
- \exp_last_unbraced:Ne
+ \exp_last_unbraced:No
\__jsonparse_parse_other:w \l__jsonparse_input_tl \q_stop
}
}
@@ -187,30 +206,45 @@
% ===
\cs_new:cpn { __jsonparse_parse_ \c_left_brace_str :w } #1 \q_stop {
- \exp_last_unbraced:Ne
+ \exp_last_unbraced:No
\__jsonparse_parse_object_begin:w #1 \q_stop
}
\cs_new:cpn { __jsonparse_parse_ \c_right_brace_str :w } #1 \q_stop {
- \exp_last_unbraced:Ne
+ \exp_last_unbraced:No
\__jsonparse_parse_object_end:w #1 \q_stop
}
\cs_new:cpn { __jsonparse_parse_ [ :w } #1 \q_stop {
- \exp_last_unbraced:Ne
+ \exp_last_unbraced:No
\__jsonparse_parse_array_begin:w #1 \q_stop
}
\cs_new:cpn { __jsonparse_parse_ ] :w } #1 \q_stop {
- \exp_last_unbraced:Ne
+ \exp_last_unbraced:No
\__jsonparse_parse_array_end:w #1 \q_stop
}
\cs_new:cpn { __jsonparse_parse_ " :w } #1 \q_stop {
- \exp_last_unbraced:Ne
+ \exp_last_unbraced:No
\__jsonparse_parse_string_key:w #1 \q_stop
}
+\cs_new:Npn \__jsonparse_array_key_set: {
+ \str_if_eq:eVT {
+ \tl_range:Nen \l__jsonparse_prefix_tl {
+ \int_eval:n {
+ -1 * \tl_count:N \l__jsonparse_array_sep_left_str
+ }
+ } { -1 }
+ } \l__jsonparse_array_sep_left_str {
+ \int_incr:N \l__jsonparse_array_index_int
+ \tl_set:Ne \l__jsonparse_key_tl {
+ \l__jsonparse_prefix_tl \int_use:N \l__jsonparse_array_index_int \l__jsonparse_array_sep_right_str
+ }
+ }
+}
+
\exp_last_unbraced:NNo \cs_new:Npn \__jsonparse_parse_object_begin:w \c_left_brace_str #1 \q_stop {
\__jsonparse_array_key_set:
\group_begin:
@@ -305,26 +339,11 @@
\__jsonparse_parse_remainder:
}
-\cs_new:Npn \__jsonparse_array_key_set: {
- \str_if_eq:eVT {
- \tl_range:Nen \l__jsonparse_prefix_tl {
- \int_eval:n {
- -1 * \tl_count:N \l__jsonparse_array_sep_left_str
- }
- } { -1 }
- } \l__jsonparse_array_sep_left_str {
- \int_incr:N \l__jsonparse_array_index_int
- \tl_set:Ne \l__jsonparse_key_tl {
- \l__jsonparse_prefix_tl \int_use:N \l__jsonparse_array_index_int \l__jsonparse_array_sep_right_str
- }
- }
-}
-
\cs_new:Npn \__jsonparse_parse_string_key:w " #1 " #2 \q_stop {
\__jsonparse_array_key_set:
\tl_set:Ne \l__jsonparse_remainder_tl { \tl_trim_spaces:n {#2} }
% key or string?
- \tl_if_head_eq_charcode:eNTF { \l__jsonparse_remainder_tl } : {
+ \tl_if_head_eq_charcode:oNTF { \l__jsonparse_remainder_tl } : {
\tl_remove_once:NV \l__jsonparse_remainder_tl \c_colon_str
\tl_set:Ne \l__jsonparse_key_tl { \l__jsonparse_prefix_tl #1 }
} {
@@ -347,17 +366,17 @@
\tl_set:Nn \l__jsonparse_remainder_tl {#1}
\tl_set:Nn \l__jsonparse_temp_tl { #1 , }
\tl_replace_once:Nnn \l__jsonparse_temp_tl { ] } { , }
- \tl_replace_once:Nen \l__jsonparse_temp_tl { \c_right_brace_str } { , }
- \exp_last_unbraced:Ne
+ \tl_replace_once:Non \l__jsonparse_temp_tl { \c_right_brace_str } { , }
+ \exp_last_unbraced:No
\__jsonparse_parse_other_aux:w \l__jsonparse_temp_tl \q_stop
}
\cs_new:Npn \__jsonparse_parse_other_aux:w #1 , #2 \q_stop {
\tl_set:Ne \l__jsonparse_temp_tl { \tl_trim_spaces:n {#1} }
- \cs_if_exist_use:cF { __jsonparse_parse_ \str_casefold:e { \l__jsonparse_temp_tl } : } {
+ \cs_if_exist_use:cF { __jsonparse_parse_ \str_casefold:o { \l__jsonparse_temp_tl } : } {
\fp_if_nan:nTF {#1} {
% nan
- \msg_error:nnee { jsonparse } { parsing-error }
+ \msg_error:nnoo { jsonparse } { parsing-error }
{ \l__jsonparse_key_tl } {#1}
} {
\tl_set:Nn \l__jsonparse_val_tl {#1}
@@ -424,11 +443,11 @@
\cs_new:Npn \__jsonparse_parse_remainder: {
\tl_set:Ne \l__jsonparse_remainder_tl { \tl_trim_spaces:e { \l__jsonparse_remainder_tl } }
- \tl_if_head_eq_charcode:eNT { \l__jsonparse_remainder_tl } , {
+ \tl_if_head_eq_charcode:oNT { \l__jsonparse_remainder_tl } , {
\tl_remove_once:Nn \l__jsonparse_remainder_tl { , }
}
\tl_if_empty:NF \l__jsonparse_remainder_tl {
- \exp_args:Ne \jsonparse_parse:n { \l__jsonparse_remainder_tl }
+ \exp_args:No \jsonparse_parse:n { \l__jsonparse_remainder_tl }
}
}
@@ -453,49 +472,102 @@
% ===
-\NewDocumentCommand { \JSONParse } { m +v } {
- \tl_if_eq:enT { \tl_head:n {#2} } { \JSONParseValue } {
- \msg_error:nn { jsonparse } { nested-non-expandable }
+\NewDocumentCommand { \JSONParsePut } { m m +v } {
+ \prop_if_exist:NF #1 {
+ \prop_new:N #1
}
- \prop_new:N #1
- \tl_gclear:N \g__jsonparse_json_tl
- \group_begin:
- \cs_set:Npn \" { \exp_not:N \" }
- \cs_set:Npn \/ { \exp_not:N \/ }
- \cs_set:Npn \\ { \exp_not:N \\ }
- \cs_set:Npn \b { \exp_not:N \b }
- \cs_set:Npn \f { \exp_not:N \f }
- \cs_set:Npn \n { \exp_not:N \n }
- \cs_set:Npn \r { \exp_not:N \r }
- \cs_set:Npn \t { \exp_not:N \t }
- \cs_set:Npn \u { \exp_not:N \u }
- \cs_set:Npn \x [ ##1 ] [ ##2 ] { \prop_item:ce {##1} {##2} }
- \tl_gset_rescan:Nne \g__jsonparse_json_tl { \cctab_select:N \c__jsonparse_json_escape_cctab } {#2}
- \exp_args:NNe \jsonparse_parse_to_prop:Nn #1 { \g__jsonparse_json_tl }
- \group_end:
+ \prop_gput:Nnn #1 { #2 } { #3 }
}
-\NewDocumentCommand { \JSONParseFromFile } { m m } {
- \file_if_exist:nF {#2} {
- \msg_error:nnn { jsonparse } { file-not-found }
+\cs_new:Npn \__jsonparse_externalize:Nn #1#2 {
+ \file_if_exist:nTF {#2} {
+ \msg_error:nnn { jsonparse } { file-exists }
+ {#2}
+ } {
+ \iow_open:Nn \g__jsonparse_externalize_iow {#2}
+ \prop_map_inline:Nn #1 {
+ \iow_now:Nn \g__jsonparse_externalize_iow {
+ \JSONParsePut {#1} {##1} {##2}
+ }
+ }
+ \iow_close:N \g__jsonparse_externalize_iow
+ \msg_info:nnn { jsonparse } { saving-external }
{#2}
}
- \prop_new:N #1
- \tl_gclear:N \g__jsonparse_json_tl
- \group_begin:
- \cs_set:Npn \" { \exp_not:N \" }
- \cs_set:Npn \/ { \exp_not:N \/ }
- \cs_set:Npn \\ { \exp_not:N \\ }
- \cs_set:Npn \b { \exp_not:N \b }
- \cs_set:Npn \f { \exp_not:N \f }
- \cs_set:Npn \n { \exp_not:N \n }
- \cs_set:Npn \r { \exp_not:N \r }
- \cs_set:Npn \t { \exp_not:N \t }
- \cs_set:Npn \u { \exp_not:N \u }
- \cs_set:Npn \x [ ##1 ] [ ##2 ] { \prop_item:ce {##1} {##2} }
- \file_get:nnN {#2} { \cctab_select:N \c__jsonparse_json_escape_cctab } \g__jsonparse_json_tl
- \exp_args:NNe \jsonparse_parse_to_prop:Nn #1 { \g__jsonparse_json_tl }
- \group_end:
+}
+
+% ===
+
+\NewDocumentCommand { \JSONParse } { o m +v } {
+ \bool_set_false:N \l__jsonparse_load_external_bool
+ \tl_if_novalue:nF {#1} {
+ \file_if_exist:nT { #1 .jsonparse } {
+ \bool_set_true:N \l__jsonparse_load_external_bool
+ }
+ }
+ \bool_if:NTF \l__jsonparse_load_external_bool {
+ \msg_info:nnn { jsonparse } { loading-external }
+ { #1 .jsonparse }
+ \file_input:n { #1 .jsonparse }
+ } {
+ \prop_new:N #2
+ \tl_gclear:N \g__jsonparse_json_tl
+ \group_begin:
+ \cs_set:Npn \" { \exp_not:N \" }
+ \cs_set:Npn \/ { \exp_not:N \/ }
+ \cs_set:Npn \\ { \exp_not:N \\ }
+ \cs_set:Npn \b { \exp_not:N \b }
+ \cs_set:Npn \f { \exp_not:N \f }
+ \cs_set:Npn \n { \exp_not:N \n }
+ \cs_set:Npn \r { \exp_not:N \r }
+ \cs_set:Npn \t { \exp_not:N \t }
+ \cs_set:Npn \u { \exp_not:N \u }
+ \cs_set:Npn \x [ ##1 ] [ ##2 ] { \prop_item:ce {##1} {##2} }
+ \tl_gset_rescan:Nne \g__jsonparse_json_tl { \cctab_select:N \c__jsonparse_json_escape_cctab } {#3}
+ \exp_args:NNe \jsonparse_parse_to_prop:Nn #2 { \g__jsonparse_json_tl }
+ \group_end:
+ \tl_if_novalue:nF {#1} {
+ \__jsonparse_externalize:Nn #2 { #1 .jsonparse }
+ }
+ }
+}
+
+\NewDocumentCommand { \JSONParseFromFile } { o m m } {
+ \file_if_exist:nF {#3} {
+ \msg_error:nnn { jsonparse } { file-not-found }
+ {#3}
+ }
+ \bool_set_false:N \l__jsonparse_load_external_bool
+ \tl_if_novalue:nF {#1} {
+ \file_if_exist:nT { #1 .jsonparse } {
+ \bool_set_true:N \l__jsonparse_load_external_bool
+ }
+ }
+ \bool_if:NTF \l__jsonparse_load_external_bool {
+ \msg_info:nnn { jsonparse } { loading-external }
+ { #1 .jsonparse }
+ \file_input:n { #1 .jsonparse }
+ } {
+ \prop_new:N #2
+ \tl_gclear:N \g__jsonparse_json_tl
+ \group_begin:
+ \cs_set:Npn \" { \exp_not:N \" }
+ \cs_set:Npn \/ { \exp_not:N \/ }
+ \cs_set:Npn \\ { \exp_not:N \\ }
+ \cs_set:Npn \b { \exp_not:N \b }
+ \cs_set:Npn \f { \exp_not:N \f }
+ \cs_set:Npn \n { \exp_not:N \n }
+ \cs_set:Npn \r { \exp_not:N \r }
+ \cs_set:Npn \t { \exp_not:N \t }
+ \cs_set:Npn \u { \exp_not:N \u }
+ \cs_set:Npn \x [ ##1 ] [ ##2 ] { \prop_item:ce {##1} {##2} }
+ \file_get:nnN {#3} { \cctab_select:N \c__jsonparse_json_escape_cctab } \g__jsonparse_json_tl
+ \exp_args:NNe \jsonparse_parse_to_prop:Nn #2 { \g__jsonparse_json_tl }
+ \group_end:
+ \tl_if_novalue:nF {#1} {
+ \__jsonparse_externalize:Nn #2 { #1 .jsonparse }
+ }
+ }
}
\NewExpandableDocumentCommand { \JSONParseExpandableValue } { m m } {
@@ -517,9 +589,8 @@
\cs_set:Npn \t { \l__jsonparse_horizontal_tab_str }
\cs_set:Npn \u { \char" }
\tl_set:Ne \l__jsonparse_temp_tl {#1}
- \tl_analysis_log:N \l__jsonparse_temp_tl
- \cs_set:Npn \" { \__jsonparse_tex_quote }
- \cs_set:Npn \\ { \__jsonparse_tex_backslash }
+ \cs_set_eq:NN \" \__jsonparse_tex_quote
+ \cs_set_eq:NN \\ \__jsonparse_tex_backslash
\tl_rescan:no { } { \l__jsonparse_temp_tl }
\group_end:
}
@@ -528,7 +599,7 @@
\bool_if:NTF #1 {
\prop_item:Ne #2 {#3}
} {
- \__jsonparse_rescan:n { \prop_item:Ne #2 {#3} }
+ \exp_args:Ne \__jsonparse_rescan:n { \prop_item:Ne #2 {#3} }
}
}
@@ -608,11 +679,11 @@
} {#4} {
\int_incr:N \l__jsonparse_array_index_int
\tl_set:Ne \JSONParseArrayIndex { \__jsonparse_get_array_index:w ##1 \q_stop }
- \tl_set:Ne \JSONParseArrayKey {##1}
+ \tl_set:Nn \JSONParseArrayKey {##1}
\bool_if:NTF #1 {
\tl_set:Nn \JSONParseArrayValue { \prop_item:Nn #2 {##1} }
} {
- \tl_set:Nn \JSONParseArrayValue { \__jsonparse_rescan:n { \prop_item:Nn #2 {##1} } }
+ \tl_set:Nn \JSONParseArrayValue { \exp_args:Ne \__jsonparse_rescan:n { \prop_item:Nn #2 {##1} } }
}
\use:c {#5}
}
diff --git a/macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf b/macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf
index 206f5547a1..d71cc56e94 100644
--- a/macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf
+++ b/macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/profcollege/latex/PfCAssemblagesSolides.tex b/macros/latex/contrib/profcollege/latex/PfCAssemblagesSolides.tex
index 9ac580e644..5521dbb419 100644
--- a/macros/latex/contrib/profcollege/latex/PfCAssemblagesSolides.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCAssemblagesSolides.tex
@@ -435,8 +435,6 @@
boolean Trace;
Trace=\useKV[Assemblage]{Trace};
- Initialisation(1500,22,20,50);
-
nb:=36;
subh:=1;
incolor:=white;
@@ -455,6 +453,10 @@
AffichageObjetCylindreSansBase1;
AffichageObjetCalotte2;
AffichageObjetCalotte3;
+ %
+ if Trace:
+ \useKV[Assemblage]{Traces};
+ fi;
\end{mplibcode}
\fi
}%
@@ -477,8 +479,6 @@
boolean Trace;
Trace=\useKV[Assemblage]{Trace};
- Initialisation(1500,22,20,50);
-
nb:=72;%36
subh:=1;%
incolor:=white;
@@ -488,10 +488,14 @@
angx:=180+angx;
nb:=12;
subh:=72;%
- Objetcalotte2("R="&"Rayon","phib="&"0","phih="&"pi/2");
+ Objetcalotte2("R="&"Rayon","phib="&"-pi/144","phih="&"pi/2");
TR:=(0,0,0);
AffichageObjetConeAvecBase1;
AffichageObjetCalotte2;%Cone3;
+ %
+ if Trace:
+ \useKV[Assemblage]{Traces};
+ fi;
\end{mplibcode}
\fi
}% \ No newline at end of file
diff --git a/macros/latex/contrib/profcollege/latex/PfCCartographie.tex b/macros/latex/contrib/profcollege/latex/PfCCartographie.tex
index ec56dceb89..2b5ef28fbc 100644
--- a/macros/latex/contrib/profcollege/latex/PfCCartographie.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCCartographie.tex
@@ -1,7 +1,7 @@
%%%
% Cartographie
%%%
-\setKVdefault[Cartographie]{Echelle=1,Carte=false,All=false,Europe=false,Asie=false,Amsud=false,Amnord=false,Amcentre=false,Caraibes=false,Afrique=false,AfficheEchelle=false,PaysSeul=false,VillesSup=false,VillesSupI=false,Capitales=false,Impression=false,Fleuves=false,CouleurFond=ciel,Largeur=12,Hauteur=12,Arborescence="/usr/local/texlive/2023/texmf-dist/metapost/profcollege/",Projection=false,TypeProjection="mercator",CouleurPays=Cornsilk,Pasl=2,PasL=2,Codes=false,Epaisseur=2,ModeleCouleur,Boussole=false,Allegee=1}
+\setKVdefault[Cartographie]{Echelle=1,Carte=false,All=false,Europe=false,Asie=false,Amsud=false,Amnord=false,Amcentre=false,Caraibes=false,Afrique=false,AfficheEchelle=false,PaysSeul=false,VillesSup=false,VillesSupI=false,Capitales=false,Impression=false,Fleuves=false,CouleurFond=ciel,Largeur=12,Hauteur=12,Arborescence="/usr/local/texlive/2023/texmf-dist/metapost/profcollege/",Projection=false,TypeProjection="mercator",CouleurPays=Cornsilk,Pasl=2,PasL=2,Codes=false,Epaisseur=2,ModeleCouleur=5,Boussole=false,Allegee=1}
\defKV[Cartographie]{EchelleCarte=\setKV[Cartographie]{Carte}}
\defKV[Cartographie]{Pays=\setKV[Cartographie]{PaysSeul}}
\defKV[Cartographie]{Villes=\setKV[Cartographie]{VillesSup}}
@@ -233,10 +233,11 @@
Epaisseur:=\useKV[Cartographie]{Epaisseur};
distanceecran=100*\useKV[Cartographie]{Echelle};
fleuves:=\useKV[Cartographie]{Fleuves};
- boolean Carte,Impression,VillesSup,Codes;
+ boolean Carte,Impression,VillesSup,VillesSupI,Codes;
Carte=\useKV[Cartographie]{Carte};
Impression=\useKV[Cartographie]{Impression};
VillesSup=\useKV[Cartographie]{VillesSup};
+ VillesSupI=\useKV[Cartographie]{VillesSupI};
Codes=\useKV[Cartographie]{Codes};
if defaultcolormodel=7:
cmykcolor couleurfond,white,payscolor,couleurfleuve;
@@ -268,6 +269,53 @@
Amcentrale:=\useKV[Cartographie]{Amcentre};
Caraibes:=\useKV[Cartographie]{Caraibes};
Afrique:=\useKV[Cartographie]{Afrique};
+
+ vardef Villes(text t)=
+ pair CoordVille;
+ string NomVille;
+ n:=0;
+ for p_:=t:
+ n:=n+1;
+ if n=1:
+ %nblec:=p;
+ else:
+ if pair p_:
+ if projection="mercator":
+ CoordVille:=mercatorc(ypart(p_),xpart(p_));
+ elseif projection="winkel":
+ CoordVille:=winkelc(ypart(p_),xpart(p_));
+ elseif projection="cylindrique":
+ CoordVille:=cylindriquec(ypart(p_),xpart(p_));
+ elseif projection="simple":
+ CoordVille:=simplec(ypart(p_),xpart(p_));
+ elseif projection="bonne":
+ CoordVille:=bonnec(ypart(p_),xpart(p_));
+ fi;
+ elseif string p_:
+ NomVille:=p_;
+ else:
+ marque_p:="croix";
+ pointe(CoordVille);
+ label.position(p_)(TEX(""&NomVille&""),CoordVille);
+ fi;
+ fi;
+ endfor;
+ drawoptions();
+ enddef;
+
+ def position(expr t)=
+ if t=1:rt
+ elseif t=2:urt
+ elseif t=3:top
+ elseif t=4:ulft
+ elseif t=5:lft
+ elseif t=6:llft
+ elseif t=7:bot
+ elseif t=8:lrt
+ fi
+ enddef;
+
+
if Carte:
Echelle:=\useKV[Cartographie]{AfficheEchelle};
figure(-0.5u*LargeurCadre,-0.5u*HauteurCadre,0.5u*LargeurCadre,0.5u*HauteurCadre);
@@ -308,10 +356,14 @@
endfor;
drawoptions();
closefrom nomfichiermul;
- fi;
+ fi;
+ if VillesSupI:
+ Villes(\useKV[Cartographie]{VillesI});
+ fi;
if Codes:
\useKV[Cartographie]{Traces};
fi;
+
else:
draw(0,0)--(50,50);
mappemonde(#2,#3);
diff --git a/macros/latex/contrib/profcollege/latex/PfCProgrammeCalcul.tex b/macros/latex/contrib/profcollege/latex/PfCProgrammeCalcul.tex
index 216d44d8ec..f1bdc0307f 100644
--- a/macros/latex/contrib/profcollege/latex/PfCProgrammeCalcul.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCProgrammeCalcul.tex
@@ -212,7 +212,7 @@
\StrSubstitute{\tempab}{*}{\div}[\tempac]%
\StrSubstitute{\tempac}{/}{\times}[\tempad]%
\StrSubstitute{\tempad}{-}{+}[\tempae]%
- \StrSubstitute{\tempae}{+}{-}[\tempaf]%
+ \StrSubstitute{\tempae}{++}{-}[\tempaf]%
\ifnum\fpeval{\useKV[ClesProg]{Reponses}}>0\relax%
\ifnum\fpeval{\listlen\ListeProg[2]-\compteurcnt}<\fpeval{\useKV[ClesProg]{Reponses}}\relax%
\ifboolKV[ClesProg]{OpReciproques}{%
diff --git a/macros/latex/contrib/profcollege/latex/PfCRepresenterTableur.tex b/macros/latex/contrib/profcollege/latex/PfCRepresenterTableur.tex
index 35eed81431..0e6162aa76 100644
--- a/macros/latex/contrib/profcollege/latex/PfCRepresenterTableur.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCRepresenterTableur.tex
@@ -1,7 +1,7 @@
%%%
% Tableur
%%%
-\setKVdefault[Tableur]{Colonnes=4,Largeur=30pt,LargeurUn=30pt,Bandeau=true,Formule={},Cellule=A1,Ligne=0,Colonne=0,PasL=1,PasC=1,Selection=false,DebutColonnes=0,DebutLignes=0}%
+\setKVdefault[Tableur]{Colonnes=4,Largeur=30pt,LargeurUn=30pt,Bandeau=true,Formule={},Cellule=A1,Ligne=0,Colonne=0,PasL=1,PasC=1,Selection=false,DebutColonnes=0,DebutLignes=0,LargeurNombre=10pt}%
%Idee de P. Nuns
\defKV[Tableur]{Couleur=\setKV[Tableur]{Selection}}%
%
@@ -41,12 +41,14 @@
\newlength\PfCLongInter%
\newlength\PfCTableurLargeurUn%
\newlength\PfCTableurLargeur%
+\newlength\PfCTableurLargeurZero%
\NewDocumentEnvironment{Tableur}{so}{%
\useKVdefault[Tableur]%
\setKV[Tableur]{#2}%
\setlength{\PfCTableurLargeurUn}{\fpeval{\useKV[Tableur]{LargeurUn}}pt}%
\setlength{\PfCTableurLargeur}{\fpeval{\useKV[Tableur]{Largeur}}pt}%
+ \setlength{\PfCTableurLargeurZero}{\fpeval{\useKV[Tableur]{LargeurNombre}}pt}%
\ifnum\useKV[Tableur]{DebutColonnes}=0\relax
\Affichecntcol\z@%
\else
@@ -61,7 +63,8 @@
\newcolumntype{A}{>{\centering\arraybackslash}m{\PfCTableurLargeurUn}}%
\newcolumntype{B}{>{\centering\arraybackslash}m{\PfCTableurLargeur}}%
\IfBooleanTF{#1}{%
- \setlength{\PfCLongInter}{-40pt+\fpeval{\useKV[Tableur]{LargeurUn}}pt+\fpeval{(\useKV[Tableur]{Colonnes}-2)*\useKV[Tableur]{Largeur}}pt+\fpeval{2*\useKV[Tableur]{Colonnes}-6}\tabcolsep+\fpeval{\useKV[Tableur]{Colonnes}-3}\arrayrulewidth}%
+ %%Bandeau avec 20pt :( en largeurZero
+ \setlength{\PfCLongInter}{-60pt+\fpeval{\useKV[Tableur]{LargeurNombre}}pt+\fpeval{\useKV[Tableur]{LargeurUn}}pt+\fpeval{(\useKV[Tableur]{Colonnes}-2)*\useKV[Tableur]{Largeur}}pt+\fpeval{2*\useKV[Tableur]{Colonnes}-6}\tabcolsep+\fpeval{\useKV[Tableur]{Colonnes}-3}\arrayrulewidth}%
\ifboolKV[Tableur]{Bandeau}{%
\begin{tabular}{|p{\PfCTableurLargeur}|p{10pt}|p{50pt}|p{\PfCLongInter}|}%
\hhline{--~-}%
@@ -81,7 +84,7 @@
\centering\arraybackslash%
\ifnum\cntlin>\@ne%
\fpeval{\cntlin+\Affichecntlin-1}\fi}%
- wc{20pt}|A|*{\fpeval{\useKV[Tableur]{Colonnes}-1}}{B|}}%
+ wc{\PfCTableurLargeurZero}|A|*{\fpeval{\useKV[Tableur]{Colonnes}-1}}{B|}}%
\hline%
\rowcolor{gray!15}%
}%
diff --git a/macros/latex/contrib/profcollege/latex/PfCStatistiques.tex b/macros/latex/contrib/profcollege/latex/PfCStatistiques.tex
index 6223f887cd..98566be426 100644
--- a/macros/latex/contrib/profcollege/latex/PfCStatistiques.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCStatistiques.tex
@@ -515,7 +515,7 @@ ModeleCouleur=5%
fi;
endfor;
if DonneesSup:
- maxAxey:=floor(maxy/10)*10+4*PasGrilley;
+ maxAxey:=maxy;%floor(maxy/10)*10+4*PasGrilley;
else:
maxAxey:=maxy;
fi;
@@ -586,15 +586,23 @@ ModeleCouleur=5%
if Date:
label.bot(TEX(decimal(xpart(p_))) rotated AngleRotation,A[l]);
else:
+ if GrandNombrex:
+ label.bot(TEX("\num{\fpeval{\useKV[ClesStat]{GrandNombreA}*"&decimal(xpart(p_))&"}}") rotated AngleRotation,A[l]);
+ else:
label.bot(TEX("\num{"&decimal(xpart(p_))&"}") rotated AngleRotation,A[l]);
fi;
+ fi;
else :
if Date:
label.bot(TEX(decimal(xpart(p_))),A[l]);
else:
+ if GrandNombrex:
+
+ else:
label.bot(TEX("\num{"&decimal(xpart(p_))&"}"),A[l]);
fi;
fi;
+ fi;
if Reponses:
if DonneesSup:
Test(l);
diff --git a/macros/latex/contrib/profcollege/latex/ProfCollege.sty b/macros/latex/contrib/profcollege/latex/ProfCollege.sty
index 3963e71e7d..7c1bad8c3d 100644
--- a/macros/latex/contrib/profcollege/latex/ProfCollege.sty
+++ b/macros/latex/contrib/profcollege/latex/ProfCollege.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/04/20}%
+\def\filedate{2024/04/26}%
\let\PfCfiledate\filedate%
-\def\fileversion{0.99-A-c}%
+\def\fileversion{0.99-A-d}%
\let\PfCfileversion\fileversion%
\ProvidesPackage{ProfCollege}[\filedate\space v\fileversion\space Aide pour utiliser LaTeX au college]%