From aad0212913f1ba7176d3d187a33e955804ad271d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Sat, 3 Sep 2022 03:00:39 +0000 Subject: CTAN sync 202209030300 --- macros/latex/contrib/darkmode/README.md | 9 + macros/latex/contrib/darkmode/darkmode-code.pdf | Bin 0 -> 530652 bytes macros/latex/contrib/darkmode/darkmode-code.tex | 2 + macros/latex/contrib/darkmode/darkmode.dtx | 191 +++++++++++++++++ macros/latex/contrib/darkmode/darkmode.ins | 52 +++++ macros/latex/contrib/darkmode/darkmode.pdf | Bin 0 -> 447236 bytes macros/latex/contrib/darkmode/darkmode.tex | 2 + .../latex/contrib/proflycee/doc/ProfLycee-doc.pdf | Bin 805538 -> 802991 bytes .../latex/contrib/proflycee/doc/ProfLycee-doc.tex | 236 ++++++--------------- macros/latex/contrib/proflycee/tex/ProfLycee.sty | 7 +- 10 files changed, 327 insertions(+), 172 deletions(-) create mode 100644 macros/latex/contrib/darkmode/README.md create mode 100644 macros/latex/contrib/darkmode/darkmode-code.pdf create mode 100644 macros/latex/contrib/darkmode/darkmode-code.tex create mode 100644 macros/latex/contrib/darkmode/darkmode.dtx create mode 100644 macros/latex/contrib/darkmode/darkmode.ins create mode 100644 macros/latex/contrib/darkmode/darkmode.pdf create mode 100644 macros/latex/contrib/darkmode/darkmode.tex (limited to 'macros/latex') diff --git a/macros/latex/contrib/darkmode/README.md b/macros/latex/contrib/darkmode/README.md new file mode 100644 index 0000000000..8a7e0fc514 --- /dev/null +++ b/macros/latex/contrib/darkmode/README.md @@ -0,0 +1,9 @@ +# darkmode LaTeX Package +Author: Ruben Deisenroth +## Overview +The **darkmode** Package provides an API for template and package developers to create +dynamic color schemes for light- and darkmodes. For those unaware: We refer to *dark +mode* when a document has a dark background with a light font and to *light mode* if it +has a dark font with a light background. +## Copyright +The **darkmode** package and all of it's contents are licensed under LPPL Version 1.3c. \ No newline at end of file diff --git a/macros/latex/contrib/darkmode/darkmode-code.pdf b/macros/latex/contrib/darkmode/darkmode-code.pdf new file mode 100644 index 0000000000..66cb168fa1 Binary files /dev/null and b/macros/latex/contrib/darkmode/darkmode-code.pdf differ diff --git a/macros/latex/contrib/darkmode/darkmode-code.tex b/macros/latex/contrib/darkmode/darkmode-code.tex new file mode 100644 index 0000000000..53ac2ba560 --- /dev/null +++ b/macros/latex/contrib/darkmode/darkmode-code.tex @@ -0,0 +1,2 @@ +\AtBeginDocument{\AlsoImplementation} +\input{darkmode.dtx} \ No newline at end of file diff --git a/macros/latex/contrib/darkmode/darkmode.dtx b/macros/latex/contrib/darkmode/darkmode.dtx new file mode 100644 index 0000000000..db2d105b7f --- /dev/null +++ b/macros/latex/contrib/darkmode/darkmode.dtx @@ -0,0 +1,191 @@ +% \iffalse meta-comment +% +% Copyright (C) 2022 by Ruben Deisenroth +% +% This file may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either +% version 1.3 of this license or (at your option) any later +% version. The latest version of this license is in: +% +% http://www.latex-project.org/lppl.txt +% +% and version 1.3 or later is part of all distributions of +% LaTeX version 2005/12/01 or later. +% +% \fi +% +% \iffalse +%\NeedsTeXFormat{LaTeX2e}[2005/12/01] +%\RequirePackage{expl3,l3keys2e} +%\ProvidesExplPackage {darkmode} {2022-09-01} {1.0.1} +%{Provide general dark mode support for any LaTeX document.} +% +%<*driver> +\documentclass{l3doc} +\hypersetup{ + hidelinks, +} +\usepackage{etoolbox} +\usepackage{darkmode} +\EnableCrossrefs +\CodelineIndex +\RecordChanges +\setlength{\parindent}{0pt} +%\setlength{\parskip}{1em}% +\begin{document} +\DocInput{darkmode.dtx} +\end{document} +% +% \fi +% \CheckSum{0} +% \GetFileInfo{darkmode.sty} +% \title{The \pkg{darkmode} package\thanks{This document +% corresponds to \textsf{darkmode}~\fileversion, +% dated~\filedate.}} +% \author{Ruben Deisenroth \\ \texttt{rdeisenroth@gmail.com}} +% \maketitle +% \tableofcontents +% +% \begin{documentation} +% \section{Introduction} +% The \pkg{darkmode} Package provides an API for template and package developers to create dynamic color schemes for light- and darkmodes. For those unaware: We refer to \emph{dark mode} when a document has a dark background with a light font and to light mode if it has a dark font with a light background. +% \subsection{Why} +% Now you might think: Why would anyone even need to use a dark mode for PDF files?\\ While for the common task of printing a dark mode has a lot of disadvantages and would take a lot of ink, theese days it becomes more and more common to view PDF files directly on a Screen. And Screens emit a lot of Blue light, which - especially in the evening - can be really annoying to stare at when working on a large text document. Also modern displays can get so bright that a stark black and white contrast is too strong for most lighting scenarios. +% \section{Usage} + +% \subsection{Basic usage} +% The basic Idea behind this package is that the dark mode is enabled in the preamble once, either by passing the package option \verb+enable+ or via the command \tn{enabledarkmode}, and applies to the rest of the document. +% \subsection{Adopting the Darkmode} +% When defining custom colors and commands, we can check if the dark mode is active or not to dynamically adjust the Colors.\par +% Example: \begin{verbatim} +% \DeclareDocumentCommand{\bluecode}{m}{% +% \texttt{\textcolor{\IfDarkModeTF{cyan}{blue}}{#1}}% +% } +% \end{verbatim} +% Note that in most scenarios it is possible to use the \tn{IfDarkModeTF} command inline without any sideeffects. If cases where this doesn't work, an alternative is to wrap the entire definition of a macro in the switch: +% \begin{verbatim} +% \IfDarkModeTF{% +% \definecolor{accentcolor}{RGB}{0, 157, 129}% +% }{% +% \definecolor{accentcolor}{RGB}{0, 122, 93}% +% } +% \end{verbatim} +% Another usefull trick is the usage of the colors \cs{thepagecolor} from the \pkg{pagecolor}-Package and the color \texttt{fgcolor} which is defined to the default font color. You can mix any color with these two colors to easily derive fitting colors: +% \begin{verbatim} +% % Fancy Altering Table Row Colors +% \rowcolors{2}{\thepagecolor}{fgcolor!10!\thepagecolor} +% \end{verbatim} +% Note that \verb+yellow!10!\thepagecolor+ is not the same as \verb+yellow!10+ because the second one would just default to \verb+yellow!10!white+. +% \section{Detailed documentation} +% \subsection{Package options} +% There following options can be passed to the package: +% \begin{itemize} +% \item \texttt{enable} - boolean input, enables or disables the dark mode for the entire document +% \item \texttt{defaulthook} - boolean input, whether to enable or disable the default hook (\tn{@darkmode@on@enable} or \tn{\@darkmode@on@disable}) +% \item \texttt{nodefaulthook} - meta key for disabeling the default hook +%\end{itemize} +% \subsection{User Commands} +% \begin{function}{\enabledarkmode,\disabledarkmode} +% \tn{enabledarkmode} enables the dark Mode at the current position, while \tn{disabledarkmode} disables the dark mode at the current position.\\\textbf{Note:} that this is only intended to be used in the preamble for an entire document mainly with a CI/CD. Trying to toggle the dark mode between different pages may lead to unexpected behavior and is not recommended. For regular use to pass the \emph{enabled} option to the package. +% \end{function} +% \begin{function}[EXP]{\IfDarkModeT,\IfDarkModeF,\IfDarkModeTF} +% \begin{syntax} +% \tn{IfDarkModeT} \Arg{true code} +% \tn{IfDarkModeF} \Arg{false code} +% \tn{IfDarkModeTF} \Arg{true code} \Arg{false code} +% \end{syntax} +% Checks whether the dark mode is enabled or not. If so, \meta{true code} is executed, otherwise \meta{false code} is executed. These macros are fully expandable. +% \end{function} +% \subsection{Commands for developers} +% This functionality is mostly aimed at package developers and template creators, for the end user it should not be necessary to manually fixup the Switching with compatible Packages and Classes. +% \begin{function}[added = 2022-08-30]{\@darkmode@set@enabled,\@darkmode@set@disabled} +% Functions for template developers that want to implement dark mode toggling with \LaTeXe{}. +% \end{function} +% \end{documentation} +% \clearpage +% \begin{implementation} +% \section{implementation} +% \begin{variable}{\g_@@_dark_mode_bool} +% First we define the package Options. The usage of initial ensures that the boolean \cs{g_@@_dark_mode_bool} always exists. +% \begin{macrocode} +\RequirePackage{xcolor,pagecolor} +\keys_define:nn {darkmode} { + enable .bool_gset:N = \g_@@_dark_mode_bool, + enable .initial:n = false, + enable .default:n = true, + defaulthook .bool_gset:N = \g_@@_dark_mode_hook_bool, + defaulthook .initial:n = true, + defaulthook .default:n = true, + nodefaulthook .meta:n = {defaulthook=false}, +} +% \end{macrocode} +% Now we process the package options. +% \begin{macrocode} +\ProcessKeysOptions{darkmode} +% \end{macrocode} +% \end{variable} + +% \begin{macro}[pTF]{\__darkmode_if_dark_mode:} +% We need a global Conditional to decide whether the dark mode is currently active or not +% \begin{macrocode} +\prg_new_conditional:Nnn \__darkmode_if_dark_mode: {T,F,TF} { + \bool_if:NTF \g_@@_dark_mode_bool + {\prg_return_true:} + {\prg_return_false:} +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\IfDarkModeT,\IfDarkModeF,\IfDarkModeTF} +% \begin{macrocode} +\cs_set_eq:NN\IfDarkModeT \__darkmode_if_dark_mode:T +\cs_set_eq:NN\IfDarkModeF \__darkmode_if_dark_mode:F +\cs_set_eq:NN\IfDarkModeTF \__darkmode_if_dark_mode:TF +% \end{macrocode} +% \end{macro} +% \begin{macro}{\enabledarkmode,\@darkmode@set@enabled,\@darkmode@on@enable} +% \begin{macrocode} +\definecolor{darkmode@anthrazitgrau}{HTML}{293133} +\colorlet{fgcolor}{.} +\DeclareDocumentCommand{\@darkmode@set@enabled}{}{ + \bool_set_true:c {g_@@_dark_mode_bool} +} +\DeclareDocumentCommand{\@darkmode@on@enable}{}{ + \pagecolor{darkmode@anthrazitgrau} + \color{white} + \selectcolormodel{RGB} + \colorlet{fgcolor}{.} +} +\DeclareDocumentCommand{\enabledarkmode}{}{ + \@darkmode@set@enabled + \bool_if:cT {g_@@_dark_mode_hook_bool} {\@darkmode@on@enable} +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\disabledarkmode, \@darkmode@set@disabled, \@darkmode@on@disabled} +% \begin{macrocode} +\DeclareDocumentCommand{\@darkmode@set@disabled}{}{ + \bool_set_false:c {g_@@_dark_mode_bool} +} +\DeclareDocumentCommand{\@darkmode@on@disable}{}{ + \pagecolor{white} + \color{black} + \colorlet{fgcolor}{.} +} +\DeclareDocumentCommand{\disabledarkmode}{}{ + \@darkmode@set@disabled + \bool_if:cT {g_@@_dark_mode_hook_bool} {\@darkmode@on@disable} +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\__darkmode_update_from_bool} +% \begin{macrocode} +\DeclareDocumentCommand{\__darkmode_update_from_bool}{}{ + \IfDarkModeTF{\enabledarkmode}{\disabledarkmode} +} +\__darkmode_update_from_bool +% \end{macrocode} +% \end{macro} +% \end{implementation} +% \clearpage +% \PrintIndex +\endinput diff --git a/macros/latex/contrib/darkmode/darkmode.ins b/macros/latex/contrib/darkmode/darkmode.ins new file mode 100644 index 0000000000..3617681d6c --- /dev/null +++ b/macros/latex/contrib/darkmode/darkmode.ins @@ -0,0 +1,52 @@ +%% +%% Copyright (C) 2022 by Ruben Deisenroth +%% +%% This file may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either +%% version 1.3 of this license or (at your option) any later +%% version. The latest version of this license is in: +%% +%% http://www.latex-project.org/lppl.txt +%% +%% and version 1.3 or later is part of all distributions of +%% LaTeX version 2005/12/01 or later. +%% +\input docstrip.tex +\keepsilent +\usedir{tex/latex/darkmode} + +\preamble + +This is a generated file. + +Copyright (C) 2022 by Ruben Deisenroth + +This file may be distributed and/or modified under the +conditions of the LaTeX Project Public License, either +version 1.3 of this license or (at your option) any later +version. The latest version of this license is in: + + http://www.latex-project.org/lppl.txt + +and version 1.3 or later is part of all distributions of +LaTeX version 2005/12/01 or later. +\endpreamble + +\generate{\file{darkmode.sty}{\from{darkmode.dtx}{package}}} + +\obeyspaces +\Msg{****************************************************} +\Msg{* *} +\Msg{* To finish the installation you have to move the *} +\Msg{* following file into a directory searched by TeX: *} +\Msg{* *} +\Msg{* darkmode.sty *} +\Msg{* *} +\Msg{* To produce the documentation run the file *} +\Msg{* darkmode.dtx through LaTeX. *} +\Msg{* *} +\Msg{* Happy TeXing! *} +\Msg{* *} +\Msg{****************************************************} + +\endbatchfile \ No newline at end of file diff --git a/macros/latex/contrib/darkmode/darkmode.pdf b/macros/latex/contrib/darkmode/darkmode.pdf new file mode 100644 index 0000000000..c7fa5d554b Binary files /dev/null and b/macros/latex/contrib/darkmode/darkmode.pdf differ diff --git a/macros/latex/contrib/darkmode/darkmode.tex b/macros/latex/contrib/darkmode/darkmode.tex new file mode 100644 index 0000000000..d83091439f --- /dev/null +++ b/macros/latex/contrib/darkmode/darkmode.tex @@ -0,0 +1,2 @@ +\AtBeginDocument{\OnlyDescription} +\input{darkmode.dtx} \ No newline at end of file diff --git a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf index 8ba659bfe1..e4fe0bca5a 100644 Binary files a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf and b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf differ diff --git a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex index ec1fd68cac..fa2674ae2b 100644 --- a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex +++ b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex @@ -56,8 +56,8 @@ \setlength{\parindent}{0pt} \definecolor{LightGray}{gray}{0.9} -\def\PLversion{1.2.3} -\def\PLdate{24 Août 2022} +\def\PLversion{1.2.4} +\def\PLdate{2 Septembre 2022} \tcbset{vignettes/.style={% nobeforeafter,box align=base,boxsep=0pt,enhanced,sharp corners=all,rounded corners=southeast,% @@ -283,8 +283,6 @@ Il se charge, dans le préambule, par \ctex{\textbackslash usepackage\{ProfLycee L'utilisateur est libre de charger ses autres {packages} utiles et habituels, ainsi que ses \textsf{polices} et \textsf{encodages} habituels. \end{codeidee} -\smallskip - \begin{codeinfo} Le {package} \ctex{ProfLycee} charge les {packages} : @@ -297,15 +295,14 @@ Le {package} \ctex{ProfLycee} charge les {packages} : \end{itemize} \end{codeinfo} -\smallskip - \begin{codeidee} -J'ai utilisé les {packages} du phénoménal C. Tellechea, je vous conseille d'aller jeter un œil sur ce qu'il est possible de faire en \LaTeX{} avec \ctex{listofitems}, \ctex{randomlist}, \ctex{simplekv} et \ctex{xstring} ! +J'ai utilisé les {packages} de C. Tellechea, je vous conseille d'aller jeter un œil sur ce qu'il est possible de faire en \LaTeX{} avec \ctex{listofitems}, \ctex{randomlist}, \ctex{simplekv} ou encore \ctex{xstring} ! \end{codeidee} -\smallskip +\subsection{Chargement du package} \begin{codetex}[listing only] +%exemple de chargement pour une compilation en (pdf)latex \documentclass{article} \usepackage[french]{babel} \usepackage[utf8]{inputenc} @@ -314,38 +311,40 @@ J'ai utilisé les {packages} du phénoménal C. Tellechea, je vous conseille d'a ... \end{codetex} +\begin{codetex}[listing only] +%exemple de chargement pour une compilation en (xe/lua)latex +\documentclass{article} +\usepackage[french]{babel} +\usepackage{mathtools} +\usepackage{fontspec} +\usepackage{ProfLycee} +... +\end{codetex} + \subsection{Options du package} \begin{codeinfo} -Par défaut, \ctex{minted} est chargé et donc la compilation nécessite d'utiliser \textsf{shell-escape}. Cependant, si vous ne souhaitez pas utiliser les commandes nécessitant \ctex{minted} vous pouvez charger le package \ctex{ProfLycee} avec l'option \Cle{nominted}. +Par défaut, \ctex{minted} est chargé et donc la compilation nécessite d'utiliser \textsf{shell-escape}. Cependant, si vous ne \underline{souhaitez pas} utiliser les commandes nécessitant \ctex{minted} vous pouvez charger le package \ctex{ProfLycee} avec l'option \Cle{nominted}. \end{codeinfo} -\smallskip - \begin{codetex}[listing only] ... \usepackage[nominted]{ProfLycee} ... \end{codetex} -\medskip - \begin{codeinfo} En compilant (notamment avec les packages \ctex{minted} et \ctex{pythontex}) on peut spécifier des répertoires particuliers pour les (ou des) fichiers auxiliaires. Avec l'option \Cle{build}, l'utilisateur a la possibilité de placer les fichiers temporaires de \ctex{minted} et \ctex{pythontex} dans un répertoire \textsf{build} du répertoire courant. \end{codeinfo} -\smallskip - \begin{codetex}[listing only] ... \usepackage[build]{ProfLycee} ... \end{codetex} -\smallskip - \begin{codeinfo} Les options précédentes sont cumulables, et, pour info, elles conditionnent le chargement des {packages} avec les options : @@ -377,8 +376,6 @@ Pour certaines commandes, le système de \Cle{Clés} pose quelques soucis, de ce \end{itemize} \end{codeidee} -\smallskip - \begin{codeinfo} Les \textsf{commandes} et \textsf{environnements} présentés seront explicités via leur \textsf{syntaxe} avec les \textsf{options} ou \textsf{arguments}. @@ -391,26 +388,24 @@ Les \textsf{codes} seront présentés dans des \textsf{boîtes} \textcolor{red!7 Les \textsf{clés} ou \textsf{options} seront présentées dans des \textsf{boîtes} \textcolor{ForestGreen}{{\small \faPaperclip} Clés}. \end{codeinfo} -\subsection{Outils disponibles} - -\begin{codeidee} -Le {package}, qui s'enrichira peut-être au fil du temps permet -- pour le moment -- de : - -\begin{itemize} - \item tracer des splines cubiques avec gestion \textit{assez fine} des tangentes ; - \item tracer des tangentes (ou portions) de tangentes sur la même base que pour les splines ; - \item simuler une fenêtre de logiciel formel (\textit{à la manière de} \textsf{XCas}) ; - \item mettre en forme du code \textsf{python} ou \textsf{pseudocode} ; - \item simuler une fenêtre de terminal (win/unix/osx) ; - \item créer un cartouche \textit{à la manière de} Capytale ; - \item créer rapidement un pavé droit ou un tétraèdre en \TikZ, avec gestion des nœuds ; - \item créer rapidement un ensemble d'éléments, avec gestion des espaces ; - \item créer, dans un environnement \TikZ, la \og toile \fg{} pour une suite récurrente : - \item etc -\end{itemize} -\end{codeidee} - -\smallskip +%\subsection{Outils disponibles} +% +%\begin{codeidee} +%Le {package}, qui s'enrichira peut-être au fil du temps permet -- pour le moment -- de : +% +%\begin{itemize} +% \item tracer des splines cubiques avec gestion \textit{assez fine} des tangentes ; +% \item tracer des tangentes (ou portions) de tangentes sur la même base que pour les splines ; +% \item simuler une fenêtre de logiciel formel (\textit{à la manière de} \textsf{XCas}) ; +% \item mettre en forme du code \textsf{python} ou \textsf{pseudocode} ; +% \item simuler une fenêtre de terminal (win/unix/osx) ; +% \item créer un cartouche \textit{à la manière de} Capytale ; +% \item créer rapidement un pavé droit ou un tétraèdre en \TikZ, avec gestion des nœuds ; +% \item créer rapidement un ensemble d'éléments, avec gestion des espaces ; +% \item créer, dans un environnement \TikZ, la \og toile \fg{} pour une suite récurrente : +% \item etc +%\end{itemize} +%\end{codeidee} \begin{codeinfo} À noter que certaines commandes disponibles sont liées à un environnement \ctex{tikzpicture}, elles ne sont pas autonomes mais permettent de conserver -- en parallèle -- toute commande liée à \TikZ{} ! @@ -491,8 +486,6 @@ Pour déclarer les paramètres : \end{tikzpicture} \end{codetex} -\smallskip - \begin{codecles} Certains paramètres peuvent être gérés directement dans la commande \ctex{\textbackslash splinetikz} : % @@ -548,8 +541,6 @@ Si jamais il existe (un ou) des points \textit{anguleux}, le plus simple est de \splinetikz[liste=\LISTE,affpoints=true,coeffs=3,couleur=red] \end{codetex} -\smallskip - \begin{codeinfo} Avec des explications utiles à la compréhension : @@ -594,8 +585,6 @@ On peut dans ce cas \textit{jouer} sur les coefficients de cette portion pour \t \end{center} \end{codeinfo} -\smallskip - \begin{codetex}[listing only] ... %splines @@ -650,8 +639,6 @@ En parallèle de l'outil \ctex{\textbackslash splinetikz}, il existe l'outil \ct NB : il peut fonctionner indépendamment de l'outil \ctex{\textbackslash splinetikz} puisque la liste des points de travail est gérée de manière autonome ! \end{codeidee} -\smallskip - \begin{codetex}[listing only] \begin{tikzpicture} ... @@ -660,8 +647,6 @@ NB : il peut fonctionner indépendamment de l'outil \ctex{\textbackslash splinet \end{tikzpicture} \end{codetex} -\smallskip - \begin{codecles} Cela permet de tracer la tangente : % @@ -796,8 +781,6 @@ Les sujets d'examens, depuis quelques années, peuvent comporter des \textit{cap La première chose à définir est l'ensemble des paramètres \textit{globaux} de la fenêtre de calcul formel, à l'aide de \Cle{Clés}. \end{codeinfo} -\smallskip - \begin{codetex}[listing only] ... \begin{tikzpicture}[...] @@ -806,8 +789,6 @@ La première chose à définir est l'ensemble des paramètres \textit{globaux} d \end{tikzpicture} \end{codetex} -\smallskip - \begin{codecles} Les \Cle{Clés} disponibles sont : \begin{itemize} @@ -834,8 +815,6 @@ Les \Cle{Clés} disponibles sont : Une fois les paramètres déclarés, il faut créer les différentes lignes, grâce à la \ctex{\textbackslash ligneCF}. \end{codeinfo} -\smallskip - \begin{codetex}[listing only] \begin{tikzpicture}[...] \paramCF[.......] @@ -844,8 +823,6 @@ Une fois les paramètres déclarés, il faut créer les différentes lignes, gr \end{tikzpicture} \end{codetex} -\smallskip - \begin{codecles} Les (quelques) \Cle{Clés} disponibles sont : @@ -858,8 +835,6 @@ Les (quelques) \Cle{Clés} disponibles sont : Chaque argument \textsf{COMMANDE} \& \textsf{RÉSULTAT} peut être formaté (niveau police) de manière indépendante. \end{codecles} -\smallskip - \begin{codetex}[tikz lower] %code tikz \paramCF[titre=true,couleurcmd=olive,couleurres=orange] @@ -919,8 +894,6 @@ Le {package} \ctex{listings} permet d'insérer et de formater du code, notamment Le package \ctex{listings} ne nécessite pas de compilation particulière, au contraire d'autres (comme \ctex{pythontex} ou \ctex{minted}) qui seront présentés à la section suivante. \end{codeinfo} -\medskip - \begin{codeinfo} Le style utilisé pour formater le code Python n'est pas modifiable. Il donne un rendu proche de celui des packages commes \ctex{pythontex} ou \ctex{minted}. @@ -935,16 +908,12 @@ Donc, si plusieurs \textit{méthodes} sont utilisées pour insérer du code Pyth L'environnement \ctex{\textbackslash envcodepython} (chargé par \ctex{ProfLycee} permet de présenter du code python, dans une \ctex{tcolorbox} avec un style particulier. \end{codeidee} -\smallskip - \begin{codetex}[listing only] \begin{envcodepython}(*)[largeur]{commandes tcbox} ... \end{envcodepython} \end{codetex} -\smallskip - \begin{codecles} Plusieurs \Cle{arguments} sont disponibles : @@ -955,8 +924,6 @@ Plusieurs \Cle{arguments} sont disponibles : \end{itemize} \end{codecles} -\smallskip - \begin{codeinfo} Les environnements \ctex{DeclareTCBListing} créés par \ctex{tcolorbox} et \ctex{listings} ne sont pas compatibles avec les options \Cle{gobble} (pour supprimer les tabulations d'environnement), donc il faut bien penser à \og aligner \fg{} le code à gauche, pour éviter des tabulations non esthétiques ! \end{codeinfo} @@ -994,8 +961,6 @@ def f(x) : \end{envcodepython} \end{codetex} -\smallskip - \begin{codesortie} \begin{envcodepython}{} #environnement par défaut @@ -1009,8 +974,6 @@ def f(x) : \end{envcodepython} \end{codesortie} -\smallskip - \begin{codetex}[listing only] \begin{envcodepython}*[0.5\linewidth]{flush right} #largeur de 50%, sans numéro, et aligné à droite @@ -1024,8 +987,6 @@ def f(x) : \end{envcodepython} \end{codetex} -\smallskip - \begin{codesortie} \begin{envcodepython}*[0.5\linewidth]{flush right} #largeur de 50%, sans numéro, et aligné à droite @@ -1039,8 +1000,6 @@ def f(x) : \end{envcodepython} \end{codesortie} -\smallskip - \begin{codetex}[listing only] \begin{scontents}[overwrite,write-out=testscript.py] # Calcul de la factorielle en langage Python @@ -1073,8 +1032,6 @@ def trace_parabole_tableaux(): \envcodepythonfichier[9cm]{center}{testscript.py} \end{codetex} -\smallskip - \begin{codesortie} \begin{scontents}[overwrite,write-out=testscript.py] # Calcul de la factorielle en langage Python @@ -1122,16 +1079,12 @@ Le {package} \ctex{pythontex} permet d'insérer et d'exécuter du code Python. O \end{itemize} \end{codeidee} -\smallskip - \begin{codeinfo} \textbf{Attention : }il faut dans ce cas une compilation en plusieurs étapes, comme par exemple \textsf{pdflatex puis pythontex puis pdflatex} ! Voir par exemple \url{http://lesmathsduyeti.fr/fr/informatique/latex/pythontex/} ! \end{codeinfo} -\smallskip - \begin{codeinfo} Compte tenu de la \textit{relative complexité} pour gérer les options (par paramètres/clés\ldots) des \textit{tcbox} et des \textit{fancyvrb}, le style est \og fixé \fg{} tel quel, et seules la taille et la position de la \textit{tcbox} sont modifiables. Si toutefois vous souhaitez personnaliser davantage, il faudra prendre le code correspondant et appliquer vos modifications ! @@ -1144,16 +1097,12 @@ Cela peut donner -- en tout cas -- des idées de personnalisation en ayant une b L'environnement \ctex{\textbackslash envcodepythontex} (chargé par \ctex{ProfLycee}, avec l'option \textit{autogobble}) permet de présenter du code python, dans une \ctex{tcolorbox} avec un style particulier. \end{codeidee} -\smallskip - \begin{codetex}[listing only] \begin{envcodepythontex}[largeur=...,centre=...,lignes=...] ... \end{envcodepythontex} \end{codetex} -\smallskip - \begin{codecles} Comme précédemment, des \Cle{Clés} qui permettent de \textit{légèrement} modifier le style : @@ -1164,8 +1113,6 @@ Comme précédemment, des \Cle{Clés} qui permettent de \textit{légèrement} mo \end{itemize} \end{codecles} -\smallskip - \begin{codetex}[listing only] \begin{envcodepythontex}[largeur=12cm] #environnement Python(tex) centré avec numéros de ligne @@ -1174,8 +1121,6 @@ Comme précédemment, des \Cle{Clés} qui permettent de \textit{légèrement} mo \end{envcodepythontex} \end{codetex} -\smallskip - \begin{codesortie} \begin{envcodepythontex}[largeur=12cm] #environnement Python(tex) centré avec numéros de ligne @@ -1184,8 +1129,6 @@ Comme précédemment, des \Cle{Clés} qui permettent de \textit{légèrement} mo \end{envcodepythontex} \end{codesortie} -\medskip - \begin{codetex}[listing only] \begin{envcodepythontex}[largeur=12cm,lignes=false,centre=false] #environnement Python(tex) non centré sans numéro de ligne @@ -1194,8 +1137,6 @@ Comme précédemment, des \Cle{Clés} qui permettent de \textit{légèrement} mo \end{envcodepythontex} \end{codetex} -\smallskip - \begin{codesortie} \begin{envcodepythontex}[largeur=12cm,lignes=false,centre=false] #environnement Python(tex) non centré sans numéro de ligne @@ -1212,22 +1153,16 @@ Comme précédemment, des \Cle{Clés} qui permettent de \textit{légèrement} mo Pour celles et ceux qui ne sont pas à l'aise avec le {package} \ctex{pythontex} et notamment sa spécificité pour compiler, il existe le {package} \ctex{minted} qui permet de présenter du code, et notamment python (il nécessite quand même une compilation avec l'option \ctex{--shell-escape} ou \ctex{-write18}). \end{codeinfo} -\smallskip - \begin{codeidee} L'environnement \ctex{\textbackslash envcodepythonminted} permet de présenter du code python, dans une \ctex{tcolorbox} avec un style (\textit{minted}) particulier. \end{codeidee} -\smallskip - \begin{codetex}[listing only] \begin{envcodepythonminted}(*)[largeur][options] ... \end{envcodepythonminted} \end{codetex} -\smallskip - \begin{codecles} Plusieurs \Cle{arguments} (optionnels) sont disponibles : @@ -1238,8 +1173,6 @@ Plusieurs \Cle{arguments} (optionnels) sont disponibles : \end{itemize} \end{codecles} -\medskip - \begin{codetex}[listing only] \begin{envcodepythonminted}[12cm][center] #environnement Python(minted) centré avec numéros, de largeur 12cm @@ -1248,8 +1181,6 @@ Plusieurs \Cle{arguments} (optionnels) sont disponibles : \end{envcodepythonminted} \end{codetex} -\smallskip - \begin{codesortie} \begin{envcodepythonminted}[12cm][center] #environnement Python(minted) centré avec numéros @@ -1258,8 +1189,6 @@ Plusieurs \Cle{arguments} (optionnels) sont disponibles : \end{envcodepythonminted} \end{codesortie} -\medskip - \begin{codetex}[listing only] \begin{envcodepythonminted}*[0.8\linewidth][] #environnement Python(minted) sans numéro, de largeur 0.8\linewidth @@ -1268,8 +1197,6 @@ Plusieurs \Cle{arguments} (optionnels) sont disponibles : \end{envcodepythonminted} \end{codetex} -\smallskip - \begin{codesortie} \begin{envcodepythonminted}*[0.8\linewidth][] #environnement Python(minted) sans numéro, de largeur 0.8\linewidth @@ -1286,16 +1213,12 @@ Plusieurs \Cle{arguments} (optionnels) sont disponibles : C'est l'environnement \ctex{\textbackslash envconsolepythontex} qui permet de le faire. \end{codeidee} -\smallskip - \begin{codetex}[listing only] \begin{envconsolepythontex}[largeur=...,centre=...,label=...] ... \end{envconsolepythontex} \end{codetex} -\smallskip - \begin{codecles} Les \Cle{Clés} disponibles sont : @@ -1306,8 +1229,6 @@ Les \Cle{Clés} disponibles sont : \end{itemize} \end{codecles} -\medskip - \begin{codetex}[listing only] \begin{envconsolepythontex}[largeur=14cm,centre=false] #console Python(tex) non centrée avec label @@ -1317,8 +1238,6 @@ Les \Cle{Clés} disponibles sont : \end{envconsolepythontex} \end{codetex} -\smallskip - \begin{codesortie} \smallskip \begin{envconsolepythontex}[largeur=14cm,centre=false] @@ -1329,8 +1248,6 @@ Les \Cle{Clés} disponibles sont : \end{envconsolepythontex} \end{codesortie} -\medskip - \begin{codetex}[listing only] \begin{envconsolepythontex}[largeur=14cm,label=false] #console Python(tex) centrée sans label @@ -1339,8 +1256,6 @@ Les \Cle{Clés} disponibles sont : \end{envconsolepythontex} \end{codetex} -\smallskip - \begin{codesortie} \smallskip \begin{envconsolepythontex}[largeur=14cm,label=false] @@ -1366,14 +1281,10 @@ Le {package} \ctex{listings} permet d'insérer et de présenter du code, et avec L'environnement \ctex{\textbackslash envpseudocode} permet de présenter du (pseudo-code) dans une \ctex{tcolorbox}. \end{codeidee} -\smallskip - \begin{codeinfo} De plus, le package \ctex{listings} avec \ctex{tcolorbox} ne permet pas de gérer le paramètre \textit{autogobble}, donc il faudra être vigilant quant à la position du code (pas de tabulation en fait\ldots) \end{codeinfo} -\smallskip - \begin{codetex}[listing only] \begin{envpseudocode}(*)[largeur][options] %attention à l'indentation, gobble ne fonctionne pas... @@ -1381,8 +1292,6 @@ De plus, le package \ctex{listings} avec \ctex{tcolorbox} ne permet pas de gére \end{envpseudocode} \end{codetex} -\smallskip - \begin{codecles} Plusieurs \Cle{arguments} (optionnels) sont disponibles : @@ -1393,8 +1302,6 @@ Plusieurs \Cle{arguments} (optionnels) sont disponibles : \end{itemize} \end{codecles} -\medskip - \begin{codetex}[listing only] \begin{envpseudocode} %non centré, de largeur par défaut (12cm) avec lignes List = [...] # à déclarer au préalable @@ -1405,8 +1312,6 @@ FinPour \end{envpseudocode} \end{codetex} -\smallskip - \begin{codesortie} \begin{envpseudocode} List = [...] # à déclarer au préalable @@ -1417,8 +1322,6 @@ FinPour \end{envpseudocode} \end{codesortie} -\medskip - \begin{codetex}[listing only] \begin{envpseudocode}*[15cm][center] %centré, de largeur 15cm sans ligne List = [...] # à déclarer au préalable @@ -1429,8 +1332,6 @@ FinPour \end{envpseudocode} \end{codetex} -\smallskip - \begin{codesortie} \begin{envpseudocode}*[15cm][center] List = [...] # à déclarer au préalable @@ -1449,8 +1350,6 @@ FinPour J'ai fait le choix de ne pas définir des \textsf{mots clés} à mettre en valeur car cela reviendrait à \textit{imposer} des choix ! Donc ici, pas de coloration syntaxique ou de mise en évidence de mots clés, uniquement un formatage libre de pseudo-code. \end{codeinfo} -\smallskip - \begin{codeidee} Évidemment, le code source est récupérable et adaptable à volonté, en utilisant les possibilités du package \ctex{listings}. @@ -1461,6 +1360,28 @@ Celles et ceux qui sont déjà à l'aise avec les packages \ctex{listings} ou \c Il s'agit ici de présenter une version \og clé en main \fg{}. \end{codeidee} +\begin{codeinfo} +Le style \ctex{listings} utilisé par la commande a l'option \Cle{mathescape} activé, et accessible grâce aux délimiteurs \Cle{(*...*)}. + +Cela permet d'insérer du code \LaTeX{} dans l'environnement \ctex{\textbackslash envpseudocode} (attention au fontes de rendu par contre !). +\end{codeinfo} + +\begin{codetex}[listing only] +\begin{envpseudocode}[12cm][] +#Utilisation du mode mathescape +Afficher (*\og*) .........(*\fg*) +m = (*$\tfrac{\texttt{1}}{\texttt{2}}$*) +\end{envpseudocode} +\end{codetex} + +\begin{codesortie} +\begin{envpseudocode}[12cm][] +#Utilisation du mode mathescape +Afficher (*\og*) .........(*\fg*) +m = (*$\tfrac{\texttt{1}}{\texttt{2}}$*) +\end{envpseudocode} +\end{codesortie} + \newpage \section{Terminal Windows/UNiX/OSX} @@ -1509,16 +1430,12 @@ Peu d'options pour ces commandes : \end{itemize} \end{codecles} -\medskip - \begin{codeinfo} Le \textsf{code} n'est pas formaté, ni mis en coloration syntaxique. De ce fait tous les caractères sont autorisés : même si l'éditeur pourra détecter le \% comme le début d'un commentaire, tout sera intégré dans le code mis en forme ! \end{codeinfo} -\medskip - \begin{codetex}[listing only] \begin{PLtermunix}[12cm]{titre=Terminal Ubuntu}[center] %12cm, avec titre modifié et centré test@DESKTOP:~$ ping -c 2 ctan.org @@ -1526,8 +1443,6 @@ PING ctan.org (5.35.249.60) 56(84) bytes of data. \end{PLtermunix} \end{codetex} -\medskip - \begin{codesortie} \begin{PLtermunix}[12cm]{titre=Terminal Ubuntu}[center] test@DESKTOP:~$ ping -c 2 ctan.org @@ -1710,8 +1625,6 @@ Le code crée les nœuds relatifs aux sommets, et les nomme comme les sommets, c \end{tikzpicture} \end{codetex} -\medskip - \begin{codesortie} \begin{tikzpicture}[line join=bevel] \pavePL[aff,largeur=4,profondeur=3,hauteur=2,epaisseur={ultra thick}] @@ -1728,8 +1641,6 @@ Le code crée les nœuds relatifs aux sommets, et les nomme comme les sommets, c \end{center} \end{codetex} -\medskip - \begin{codesortie} \begin{center} \begin{tikzpicture}[line join=bevel] @@ -1825,8 +1736,6 @@ Pour \textit{illustrer} un peu les \Cle{clés}, un petit schéma, avec les diff \end{center} \end{codetex} -\medskip - \begin{codesortie} \begin{center} \begin{tikzpicture}[line join=bevel] @@ -2118,8 +2027,6 @@ Peut-être que -- ultérieurement -- des options \textit{booléennes} seront dis \end{center} \end{codetex} -\medskip - \begin{codesortie} \begin{center} \begin{tikzpicture}[x=4cm,y=3cm] @@ -2244,8 +2151,6 @@ Plusieurs \Cle{Clés} sont disponibles pour cette commande : \end{center} \end{codetex} -\medskip - \begin{codesortie} \begin{center} \begin{tikzpicture}[line join=bevel] @@ -2301,8 +2206,6 @@ Les \Cle{Clés} pour cette possibilité sont : \end{center} \end{codetex} -\medskip - \begin{codesortie} \begin{center} \begin{tikzpicture} @@ -2500,7 +2403,6 @@ En ce qui concerne les autres arguments : À noter que si l'un des arguments optionnels (le n°3 et/ou le n°4) sont utilisés, il vaut mieux préciser les 2 ! \end{codecles} - \begin{codetex}[listing only] \begin{center} \begin{tikzpicture} @@ -2787,7 +2689,6 @@ La commande étant \og autonome \fg{}, elle va pouvoir être intégrée dans des \end{tikzpicture} \end{codesortie} - \pagebreak \begin{codeinfo} @@ -3137,7 +3038,7 @@ Il existe, de manière marginale, quelques commandes complémentaires qui ne ser \begin{itemize} \item \ctex{\textbackslash{}PLfenetre} qui restreint les tracés à la fenêtre (utile pour des courbes qui \textit{débordent}) ; - \item \ctex{\textbackslash{}PLfenetresimple} qui permet d'automatiser le tracé des grilles/axes/graduations dans leurs versions par défaut, avec peut de paramétrages ; + \item \ctex{\textbackslash{}PLfenetresimple} qui permet d'automatiser le tracé des grilles/axes/graduations dans leurs versions par défaut, avec peu de paramétrages ; \item \ctex{\textbackslash{}PLorigine} pour rajouter le libellé de l'origine si non affiché par les axes. \end{itemize} \end{codeinfo} @@ -3286,14 +3187,17 @@ Cette commande permet de rajouter une courbe sur le graphique (sans se soucier d L'idée principale est de récupérer les variables de la régression linéaire pour tracer la droite d'ajustement \textit{à moindres frais} ! \end{codeinfo} +\begin{codeinfo} + Toute courbe peut être tracée sur ce principe, par contre il faudra saisir la fonction \textit{à la main}. +\end{codeinfo} + \begin{codetex}[listing only] \def\LLX{1994,1995,1996,1997,1998,1999,2000,2001,2002,2004,2005,2006,2007,2008,2009,2010} \def\LLY{1718,1710,1708,1700,1698,1697,1691,1688,1683,1679,1671,1670,1663,1661,1656,1649} \PLreglin{\LLX}{\LLY} \begin{tikzpicture}[...] - \PLnuagepts[couleur=blue/red]{\LLX}{\LLY} - \PLnuageptmoy + \PLnuagepts[couleur=blue/red]{\LLX}{\LLY} \PLnuageptmoy \PLcourbe[line width=1.25pt,ForestGreen,samples=2]{\COEFFa*\x+\COEFFb}{\xmin:\xmax} \end{tikzpicture} \end{codetex} @@ -3307,24 +3211,17 @@ L'idée principale est de récupérer les variables de la régression linéaire \PLgrilletikz \PLaxestikz \PLaxextikz[annee,police=\small]{1992,1994,...,2010} \PLaxeytikz{1640,1650,...,1720} - \PLnuagepts[couleur=blue/red]{\LLX}{\LLY} - \PLnuageptmoy + \PLnuagepts[couleur=blue/red]{\LLX}{\LLY} \PLnuageptmoy \PLcourbe[line width=1.25pt,ForestGreen,samples=2]{\COEFFa*\x+\COEFFb}{\xmin:\xmax} \end{tikzpicture} \end{codesortie} -\begin{codeinfo} -Toute courbe peut être tracée sur ce principe, par contre il faudra saisir la fonction \textit{à la main}. -\end{codeinfo} - \begin{codetex}[listing only] \def\LLX{1994,1995,1996,1997,1998,1999,2000,2001,2002,2004,2005,2006,2007,2008,2009,2010} \def\LLY{1718,1710,1708,1700,1698,1697,1691,1688,1683,1679,1671,1670,1663,1661,1656,1649} \begin{tikzpicture}[...] - \PLnuagepts[couleur=blue/red]{\LLX}{\LLY} - %on fixe la fenêtre d'affichage pour éviter les débordements - \PLfenetre + \PLnuagepts[couleur=blue/red]{\LLX}{\LLY} \PLfenetre %on fixe la fenêtre \PLcourbe[line width=1.25pt,orange,samples=500]{-(\x-2000)*(\x-2000)+1700}{\xmin:\xmax} \end{tikzpicture} \end{codetex} @@ -3337,8 +3234,7 @@ Toute courbe peut être tracée sur ce principe, par contre il faudra saisir la \PLgrilletikz \PLaxestikz \PLaxextikz[annee,police=\small]{1992,1994,...,2010} \PLaxeytikz{1640,1650,...,1720} - \PLnuagepts[couleur=blue/red]{\LLX}{\LLY} - \PLfenetre + \PLnuagepts[couleur=blue/red]{\LLX}{\LLY} \PLfenetre \PLcourbe[line width=1.25pt,orange,samples=500]{-(\x-2000)*(\x-2000)+1700}{\xmin:\xmax} \end{tikzpicture} \end{codesortie} @@ -3949,6 +3845,8 @@ D,-,-,D,-,D,D,F,F,F,F,F,F,D,D,-,-,-,-,D,-,- \section{Historique} +{\small \bverb|v1.2.4|~:~~~~Correction de quelques bugs mineurs, et mise à jour de la doc + {\small \bverb|v1.2.3|~:~~~~Commandes pour du code python "simple", sans compilation particulière {\small \bverb|v1.2.2|~:~~~~Commandes pour travailler sur des stats à 2 variables diff --git a/macros/latex/contrib/proflycee/tex/ProfLycee.sty b/macros/latex/contrib/proflycee/tex/ProfLycee.sty index 02a08e392f..96f82b590e 100644 --- a/macros/latex/contrib/proflycee/tex/ProfLycee.sty +++ b/macros/latex/contrib/proflycee/tex/ProfLycee.sty @@ -3,7 +3,8 @@ % or later, see http://www.latex-project.org/lppl.txtf \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{ProfLycee}[2022/08/24 v1.2.3 - Aide pour l'utilisation de LaTeX en lycee] +\ProvidesPackage{ProfLycee}[2022/09/02 v1.2.4 - Aide pour l'utilisation de LaTeX en lycee] +% 1.2.4 Correction de queqlues bugs mineurs, et mise à jour de la doc % 1.2.3 Ajout d'un environnement simplifié pour du code python % 1.2.2 Ajouts de commandes pour des stats à 2 variables % 1.2.1 Amélioration de la gestion du csv pour les pixelart @@ -616,7 +617,7 @@ \newcommand\algomathttPL[1]{\mathtt{#1}} \fi -\DeclareTCBListing{envpseudocode}{ s O{12cm} O{} }{% étoilée sans numéro, taille puis option... +\DeclareTCBListing{envpseudocode}{ s O{12cm} !O{} }{% étoilée sans numéro, taille puis option... width=#2,#3, stylepseudocodePL, listing only,listing engine=listings, @@ -1921,7 +1922,7 @@ {\draw[\ptmoycouleur] ({\ptmoyx-\axexOx},{\ptmoyy-\axeyOy}) pic {PLdotcross=\ptmoytaille/45} ;} {} \IfStrEq{\ptmoystyle}{+}% - {\draw[fill=\ptmoycouleur] ({\ptmoyx-\axexOx},{\ptmoyy-\axeyOy}) pic {PLdotcross=\ptmoytaille/0} ;} + {\draw[\ptmoycouleur] ({\ptmoyx-\axexOx},{\ptmoyy-\axeyOy}) pic {PLdotcross=\ptmoytaille/0} ;} {} \ifboolKV[PLptmoy]{affnom} {\draw ({\ptmoyx-\axexOx},{\ptmoyy-\axeyOy}) node[\ptmoypos={\ptmoytaille+\ptmoydecal},font=\ptmoyfont] {\ptmoynom} ;} -- cgit v1.2.3