Classe perso beamer-article pour profs !

Tout ce qui concerne l'utilisation ou l'installation de LaTeX.

Modérateur: gdm_tex

Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser les balises Code pour poster du code.

Classe perso beamer-article pour profs !

Messagepar benoitldr » Mercredi 10 Septembre 2014, 16:56

Salut à tous

Pendant les vacances, je me suis mis à chercher comment faire plusieurs versions de pdf avec une seul source ie :
- une version BEAMER à projeter en classe
- une version ARTICLE prof pour moi
- une version ARTICLE à trous pour distribuer aux élèves

et voilà ce que j'ai pondu vous pouvez vous servir j'ai mis ça en licence libre !

https://gitlab.com/benoitldr/beamerarticle-teacher

dites moi ce que vous en pensez !

Benoit
Dernière édition par benoitldr le Samedi 12 Septembre 2015, 20:24, édité 2 fois.
benoitldr
Déca-utilisateur
 
Messages: 18
Inscription: Lundi 26 Novembre 2012, 19:43
Statut actuel: Actif et salarié | Enseignant

Publicité

Re: class perso beamer-article pour profs !

Messagepar kojak » Mercredi 10 Septembre 2014, 17:54

Bonjour,

Le lien donné précédemment est incorrect.
pas d'aide par MP
kojak
Modérateur
 
Messages: 10404
Inscription: Samedi 18 Novembre 2006, 19:50
Statut actuel: Actif et salarié | Enseignant

Re: class perso beamer-article pour profs !

Messagepar benoitldr » Mercredi 10 Septembre 2014, 18:04

kojak a écrit:Bonjour,

Le lien donné précédemment est incorrect.


je viens de corriger j'ai opté pour un nom plus général ;)
benoitldr
Déca-utilisateur
 
Messages: 18
Inscription: Lundi 26 Novembre 2012, 19:43
Statut actuel: Actif et salarié | Enseignant

Re: class perso beamer-article pour profs !

Messagepar touhami » Mercredi 10 Septembre 2014, 19:58

bonjour.
J'ai remarqué que les boites dépassent la marge droite
Code: Tout sélectionner
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{amsmath}
\usepackage{boiboites}
\setlength{\parindent}{0cm}
\newboxedtheorem[boxcolor=blue, background=blue!5, titlebackground=blue!20,
titleboxcolor = black, size = 1\textwidth]{defi}{Définition}{}
\begin{document}
test test\hfill test

test
\begin{defi}
test test\hfill test
\end{defi}\hrulefill
\end{document}

Si tu fait
Code: Tout sélectionner
\newboxedtheorem[boxcolor=blue, background=blue!5, titlebackground=blue!20,
titleboxcolor = black, size = .94\textwidth]{defi}{Définition}{}

c'est mieux.
De plus, à mon avis, ça sera encore mieux si tu fait
Code: Tout sélectionner
\newboxedtheorem[boxcolor=blue, background=blue!5, titlebackground=blue!20,
titleboxcolor = black, size = 1\textwidth-2\fboxsep]{defi}{Définition}{}

où \fboxsep est l'espace horizontal entre la boite et le texte.
Merci, je vais l'utiliser.
touhami
Méga-utilisateur
 
Messages: 431
Inscription: Dimanche 11 Février 2007, 11:45
Statut actuel: Post-bac

Re: class perso beamer-article pour profs !

Messagepar touhami » Mercredi 10 Septembre 2014, 20:29

Bonjours, j'ai remarqué que j'étais obligé de charger le package amsmath.
C'est à cause de
Code: Tout sélectionner
\@ifnotempty{#4}{
dans
Code: Tout sélectionner
\newcommand{\newboxedtheorem}[4][]{%
    \couleurs[#1]
    \@ifnotempty{#4}{%
      \@ifundefined{the#4}{\@ifundefined{\thcounter}{\newcounter{#4}}{%
      \newcounter{#4}[\thcounter ] } } { }%
    }
    \newenvironment{#2}[1][]{%
    \@ifnotempty{#4}{\refstepcounter{#4}}
    \begin{boite}[#1]{\textbf{#3\@ifnotempty{#4}{ \csname the#4\endcsname}}\@ifnotempty{##1}{
    (##1)}\textbf{.}}
    }%
    {%
    \end{boite}
    }
}

de package boiboites.
Je pense que on peut supprimer cette ligne, ou trouver une autre solution (la)TeX.
Sinon, qui n'a pas besoin de amsmath? :o
touhami
Méga-utilisateur
 
Messages: 431
Inscription: Dimanche 11 Février 2007, 11:45
Statut actuel: Post-bac

Re: class perso beamer-article pour profs !

Messagepar touhami » Mercredi 10 Septembre 2014, 22:57

Une petite remarque d'ordre générale concernant l'exemple et pas la class:
utiliser des longueurs relatives et pas absolues. Regarder la sous-section
Code: Tout sélectionner
\subsection[\thesubsection.Résol. algéb.]{Résolution algébrique}

et comparer le tableau dans la version beamer et la version article.
A ta place, j'aurai fais
Code: Tout sélectionner
\begin{tabular}{|p{.3\textwidth}|p{.3\textwidth}|p{.3\textwidth}|}
\hline
$\Delta<0$ & $\Delta=0$ & $\Delta>0$\\
\hline
 &
 $ax^2+bx+c=a(x-x_0)^2$
 &
 $ax^2+bx+c=a(x-x_1)(x-x_2)$
 \\
 pas de factorisation
 &
 avec $x_0=-\dfrac{b}{2a}$
 &
 avec $x_1=\dfrac{-b-\sqrt{\Delta}}{2a}$
 \\
 &
 &
 et $x_2=\dfrac{-b+\sqrt{\Delta}}{2a}$
 \\
 
\hline
\end{tabular}

ou bien, avec le package calc
Code: Tout sélectionner
\begin{tabular}{|p{.33\textwidth-2\tabcolsep}|p{.33\textwidth-2\tabcolsep}|p{.33\textwidth-2\tabcolsep}|}
\hline
$\Delta<0$ & $\Delta=0$ & $\Delta>0$\\
\hline
 &
 $ax^2+bx+c=a(x-x_0)^2$
 &
 $ax^2+bx+c=a(x-x_1)(x-x_2)$
 \\
 pas de factorisation
 &
 avec $x_0=-\dfrac{b}{2a}$
 &
 avec $x_1=\dfrac{-b-\sqrt{\Delta}}{2a}$
 \\
 &
 &
 et $x_2=\dfrac{-b+\sqrt{\Delta}}{2a}$
 \\
 
\hline
\end{tabular}

ou encore
Code: Tout sélectionner
\begin{tabular}{|*{3}{p{.33\textwidth-2\tabcolsep}|}}
\hline
$\Delta<0$ & $\Delta=0$ & $\Delta>0$\\
\hline
 &
 $ax^2+bx+c=a(x-x_0)^2$
 &
 $ax^2+bx+c=a(x-x_1)(x-x_2)$
 \\
 pas de factorisation
 &
 avec $x_0=-\dfrac{b}{2a}$
 &
 avec $x_1=\dfrac{-b-\sqrt{\Delta}}{2a}$
 \\
 &
 &
 et $x_2=\dfrac{-b+\sqrt{\Delta}}{2a}$
 \\
 
\hline
\end{tabular}

ou encore mieux, avec le package tabularx
Code: Tout sélectionner
\begin{tabularx}{\textwidth}{|X|X|X|}
\hline
$\Delta<0$ & $\Delta=0$ & $\Delta>0$\\
\hline
 &
 $ax^2+bx+c=a(x-x_0)^2$
 &
 $ax^2+bx+c=a(x-x_1)(x-x_2)$
 \\
 pas de factorisation
 &
 avec $x_0=-\dfrac{b}{2a}$
 &
 avec $x_1=\dfrac{-b-\sqrt{\Delta}}{2a}$
 \\
 &
 &
 et $x_2=\dfrac{-b+\sqrt{\Delta}}{2a}$
 \\
 
\hline
\end{tabularx}
touhami
Méga-utilisateur
 
Messages: 431
Inscription: Dimanche 11 Février 2007, 11:45
Statut actuel: Post-bac

Re: class perso beamer-article pour profs !

Messagepar touhami » Jeudi 11 Septembre 2014, 06:59

Bonjour.
Je n'ai pas arrivé à tester la class et packages. il manque le fichier (flag).
touhami
Méga-utilisateur
 
Messages: 431
Inscription: Dimanche 11 Février 2007, 11:45
Statut actuel: Post-bac

Re: class perso beamer-article pour profs !

Messagepar benoitldr » Jeudi 11 Septembre 2014, 08:03

touhami a écrit:Je n'ai pas arrivé à tester la class et packages. il manque le fichier (flag).


pour l'instant il faut obligatoirement passer par le Makefile (version UNIX), la version Window$ marche aussi mais il faut installer GnuMakeWin.
Donc sous unix (testé sous Mac OS X) il suffit de se place dans le répertoire et de taper make all et ensuite make clean pour nettoyer les fichiers temp.

Si tu compiles normalement il faut enlever le input{flag} et mettre les booléens \ifisbmtrue ou \ifisbmfalse et \ifisproftrue ou \ifisproffalse.
par contre tu ne peux faire qu'une version au coup !

PS : regarde les exemples je viens de mettre du commentaire si tu ne veux pas passer par le Makefile.
benoitldr
Déca-utilisateur
 
Messages: 18
Inscription: Lundi 26 Novembre 2012, 19:43
Statut actuel: Actif et salarié | Enseignant

Re: class perso beamer-article pour profs !

Messagepar touhami » Jeudi 11 Septembre 2014, 17:39

C'est \isbmtrue ou \isbmfalse ... qu'on doit mettre.
une petite remarque: laisser ton package et class plus indépendant des autres package.
J'ai modifié le code de class et sa marche mais peut être on peut faire mieux.
fichier:beamerteacher.cls

Code: Tout sélectionner
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesClass{beamerteacher}[2014/08/31 beamerarticle-teacher]
\newif\ifisprof
\newif\ifisbm
\DeclareOption{beamer}{\isbmtrue\isproftrue}
\DeclareOption{teacher}{\isbmfalse\isproftrue}
\DeclareOption{student}{\isbmfalse\isproffalse}
\ExecuteOptions{teacher}
\ProcessOptions\relax

\ifisbm
\LoadClass{beamer}
\mode<presentation>
\useoutertheme{tree}
\usecolortheme{whale}
\usecolortheme{orchid}
\useinnertheme{rectangles}
\setbeamerfont{block title}{size={}}
\definecolor{mygreen}{cmyk}{0.82,0.11,1,0.25}

\def\th@myexemplestyle{%
    \normalfont % body font
    \setbeamercolor{block title example}{bg=mygreen,fg=white}
    \setbeamercolor{block body example}{bg=mygreen!20,fg=black}
    \def\inserttheoremblockenv{exampleblock}
  }
\theoremstyle{myexemplestyle}
\newtheorem*{myexp}{Exemple}

\def\th@myremstyle{%
    \normalfont % body font
    \setbeamercolor{block title example}{bg=orange,fg=white}
    \setbeamercolor{block body example}{bg=orange!20,fg=black}
    \def\inserttheoremblockenv{exampleblock}
  }

\theoremstyle{myremstyle}
\newtheorem*{rem}{Remarque}
\else
\LoadClass[12pt,oneside,onecolumn,final]{article}
\RequirePackage{beamerarticle}

\RequirePackage[a4paper, top=2cm, bottom=2cm, left=1.5cm, right=1.5cm]{geometry}


% Header
\RequirePackage{fancyhdr}
\renewcommand\headrulewidth{1pt}
\renewcommand\footrulewidth{1pt}
\pagestyle{fancy}

% Remarks and examples
\theoremstyle{definition}
\newtheorem*{rem}{Remarque}
\newtheorem*{myexp}{Exemple}

\RequirePackage{shadow}
\setlength\sboxrule{0.4pt}
\setlength\sboxsep{5pt}
\setlength\sdim{4pt}
\fi

\RequirePackage{beamerarticle-teacher}

\setlength{\parindent}{0cm}
\renewcommand{\thesection}{\Roman{section}}
\renewcommand{\thesubsection}{\Alph{subsection}}
\renewcommand{\thesubsubsection}{\arabic{subsubsection}}

\endinput

fichier exemple.tex
Code: Tout sélectionner
\documentclass{beamerteacher}
pour prof
ou
Code: Tout sélectionner
\documentclass[beamer]{beamerteacher}
pour beamer
ou
Code: Tout sélectionner
\documentclass[student]{beamerteacher}
pour élève.
Je vais voir le package.
touhami
Méga-utilisateur
 
Messages: 431
Inscription: Dimanche 11 Février 2007, 11:45
Statut actuel: Post-bac

Re: class perso beamer-article pour profs !

Messagepar benoitldr » Jeudi 11 Septembre 2014, 20:42

effectivement il y a sans doute beaucoup d'amélioration à faire je t'invite à faire des issues sur githbub pour que je puisse corriger.
Ce soir je n'ai pas le temps mais je vais prendre en compte tes remarques

merci pour les retours
Benoit
benoitldr
Déca-utilisateur
 
Messages: 18
Inscription: Lundi 26 Novembre 2012, 19:43
Statut actuel: Actif et salarié | Enseignant

Re: class perso beamer-article pour profs !

Messagepar marco56 » Jeudi 11 Septembre 2014, 22:00

Félicitations et encouragements ! :mrgreen:
C'est une super bonne idée !
marco56
Giga-utilisateur
 
Messages: 782
Inscription: Jeudi 25 Novembre 2010, 22:10
Statut actuel: Actif et salarié | Enseignant

Re: class perso beamer-article pour profs !

Messagepar benoitldr » Samedi 13 Septembre 2014, 13:42

touhami a écrit:C'est \isbmtrue ou \isbmfalse ... qu'on doit mettre.
une petite remarque: laisser ton package et class plus indépendant des autres package.
J'ai modifié le code de class et sa marche mais peut être on peut faire mieux.
fichier:beamerteacher.cls

Code: Tout sélectionner
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesClass{beamerteacher}[2014/08/31 beamerarticle-teacher]
\newif\ifisprof
\newif\ifisbm
\DeclareOption{beamer}{\isbmtrue\isproftrue}
\DeclareOption{teacher}{\isbmfalse\isproftrue}
\DeclareOption{student}{\isbmfalse\isproffalse}
\ExecuteOptions{teacher}
\ProcessOptions\relax

\ifisbm
\LoadClass{beamer}
\mode<presentation>
\useoutertheme{tree}
\usecolortheme{whale}
\usecolortheme{orchid}
\useinnertheme{rectangles}
\setbeamerfont{block title}{size={}}
\definecolor{mygreen}{cmyk}{0.82,0.11,1,0.25}

\def\th@myexemplestyle{%
    \normalfont % body font
    \setbeamercolor{block title example}{bg=mygreen,fg=white}
    \setbeamercolor{block body example}{bg=mygreen!20,fg=black}
    \def\inserttheoremblockenv{exampleblock}
  }
\theoremstyle{myexemplestyle}
\newtheorem*{myexp}{Exemple}

\def\th@myremstyle{%
    \normalfont % body font
    \setbeamercolor{block title example}{bg=orange,fg=white}
    \setbeamercolor{block body example}{bg=orange!20,fg=black}
    \def\inserttheoremblockenv{exampleblock}
  }

\theoremstyle{myremstyle}
\newtheorem*{rem}{Remarque}
\else
\LoadClass[12pt,oneside,onecolumn,final]{article}
\RequirePackage{beamerarticle}

\RequirePackage[a4paper, top=2cm, bottom=2cm, left=1.5cm, right=1.5cm]{geometry}


% Header
\RequirePackage{fancyhdr}
\renewcommand\headrulewidth{1pt}
\renewcommand\footrulewidth{1pt}
\pagestyle{fancy}

% Remarks and examples
\theoremstyle{definition}
\newtheorem*{rem}{Remarque}
\newtheorem*{myexp}{Exemple}

\RequirePackage{shadow}
\setlength\sboxrule{0.4pt}
\setlength\sboxsep{5pt}
\setlength\sdim{4pt}
\fi

\RequirePackage{beamerarticle-teacher}

\setlength{\parindent}{0cm}
\renewcommand{\thesection}{\Roman{section}}
\renewcommand{\thesubsection}{\Alph{subsection}}
\renewcommand{\thesubsubsection}{\arabic{subsubsection}}

\endinput

fichier exemple.tex
Code: Tout sélectionner
\documentclass{beamerteacher}
pour prof
ou
Code: Tout sélectionner
\documentclass[beamer]{beamerteacher}
pour beamer
ou
Code: Tout sélectionner
\documentclass[student]{beamerteacher}
pour élève.
Je vais voir le package.


Salut

Alors effectivement tes remarques sont bonnes sauf que le but est de générer à partir d'un Makefile (et non depuis un pdflatex classique)

En faisant ça au lieu de différencer dans le .cls tu différencies dans le .tex mais effectivement pour compiler depuis votre éditeur favori ta solution marche mais moi je veux faire du Makefile et je n'ai pas réussi à utiliser ta version avec le Makefile... (il y a sans doute une solution.

Concernant les dépassements de marges j'ai adopté les standards de amsthm pour les définitions théorèmes et autres et là plus de soucis c'est du solide ;)

Voilà je suis toujours en attente de vos remarques

J'ai mis la V2 sur github qui est beaucoup plus minimaliste ;)

Benoit
benoitldr
Déca-utilisateur
 
Messages: 18
Inscription: Lundi 26 Novembre 2012, 19:43
Statut actuel: Actif et salarié | Enseignant

Re: class perso beamer-article pour profs !

Messagepar benoitldr » Samedi 13 Septembre 2014, 20:54

j'ai fait une version minimale en prenant en compte tes remarques !

https://github.com/landrieb/beamerartic ... eacher.cls

merci
benoitldr
Déca-utilisateur
 
Messages: 18
Inscription: Lundi 26 Novembre 2012, 19:43
Statut actuel: Actif et salarié | Enseignant

Re: class perso beamer-article pour profs !

Messagepar touhami » Dimanche 14 Septembre 2014, 19:36

Bonjour.
Je pense que c'est beaucoup mieux. Tu peut recommencer à partir de là.
Comme règle générale, Voir http://www.ctan.org/pkg/clsguide,
au début de la page 6 :
If the commands could be used with any document class, then make
them a package; and if not, then make them a class.

Maintenant, est-ce que tu va continuer avec le package ou pas ? à mon avis, c'est bien de faire ça, et dans ce cas,
  • ajouter
    Code: Tout sélectionner
    \RequirePackage{beamerarticle-teacher}
    après le dernier
    Code: Tout sélectionner
    \fi
    dans la class.
  • ajouter, à la class, les définitions (déclarations) des environnements (theo-rem-def...)
    par exemple
    Code: Tout sélectionner
    \newboxedtheorem[boxcolor=blue, background=blue!5, titlebackground=blue!20,
    titleboxcolor = black, size = 0.94\textwidth]{defi}{Définition}{}

    à mon avis, ça fait partie de la class et pas de package. De même pour les trous
    Code: Tout sélectionner
    % Gestion des trous formule
    \ifisprof
    \newcommand{\blancf}[1]{\boldmath #1}
    \else
    \newlength{\hblancf}
    \newcommand*{%
    \blancf}[1]{
    \settowidth{\hblancf}{#1}%
    %\rule[-1pt]{1.75\hblanc}{1pt}
    \makebox[1.75\hblancf]{\dotfill}
    }
    \fi

    % Gestion des trous formule
    \ifisprof
    \newcommand{\blancfr}[1]{\textcolor{red}{\boldmath #1}}
    \else
    \newlength{\hblancfr}
    \newcommand*{%
    \blancfr}[1]{
    \settowidth{\hblancfr}{#1}%
    %\rule[-1pt]{1.75\hblanc}{1pt}
    \makebox[1.75\hblancfr]{\dotfill}
    }
    \fi

    % Gestion des trous text
    \ifisprof
    \newcommand{\blanc}[1]{\textbf{#1}}
    \else
    \newlength{\hblanc}
    \newcommand*{%
    \blanc}[1]{
    \settowidth{\hblanc}{#1}%
    %\rule[-1pt]{1.75\hblanc}{1pt}
    \makebox[1.75\hblanc]{\dotfill}
    }
    \fi

    \ifisprof
    \newcommand{\blancr}[1]{\textbf{\textcolor{red}{#1}}}
    \else
    \newcommand*{%
    \blancr}[1]{
    \settowidth{\hblanc}{#1}%
    %\rule[-1pt]{1.75\hblanc}{1pt}
    \makebox[1.75\hblanc]{\dotfill}
    }
    \fi

    Le package doit être indépendante de la class, donc supprimer toutes les occurrences de \ifisprof ... de package.
Bon courage.
touhami
Méga-utilisateur
 
Messages: 431
Inscription: Dimanche 11 Février 2007, 11:45
Statut actuel: Post-bac

Re: class perso beamer-article pour profs !

Messagepar benoitldr » Dimanche 14 Septembre 2014, 19:39

touhami a écrit:Bonjour.
Je pense que c'est beaucoup mieux. Tu peut recommencer à partir de là.
Comme règle générale, Voir http://www.ctan.org/pkg/clsguide,
au début de la page 6 :
If the commands could be used with any document class, then make
them a package; and if not, then make them a class.

Maintenant, est-ce que tu va continuer avec le package ou pas ? à mon avis, c'est bien de faire ça, et dans ce cas,
  • ajouter
    Code: Tout sélectionner
    \RequirePackage{beamerarticle-teacher}
    après le dernier
    Code: Tout sélectionner
    \fi
    dans la class.
  • ajouter, à la class, les définitions (déclarations) des environnements (theo-rem-def...)
    par exemple
    Code: Tout sélectionner
    \newboxedtheorem[boxcolor=blue, background=blue!5, titlebackground=blue!20,
    titleboxcolor = black, size = 0.94\textwidth]{defi}{Définition}{}

    à mon avis, ça fait partie de la class et pas de package. De même pour les trous
    Code: Tout sélectionner
    % Gestion des trous formule
    \ifisprof
    \newcommand{\blancf}[1]{\boldmath #1}
    \else
    \newlength{\hblancf}
    \newcommand*{%
    \blancf}[1]{
    \settowidth{\hblancf}{#1}%
    %\rule[-1pt]{1.75\hblanc}{1pt}
    \makebox[1.75\hblancf]{\dotfill}
    }
    \fi

    % Gestion des trous formule
    \ifisprof
    \newcommand{\blancfr}[1]{\textcolor{red}{\boldmath #1}}
    \else
    \newlength{\hblancfr}
    \newcommand*{%
    \blancfr}[1]{
    \settowidth{\hblancfr}{#1}%
    %\rule[-1pt]{1.75\hblanc}{1pt}
    \makebox[1.75\hblancfr]{\dotfill}
    }
    \fi

    % Gestion des trous text
    \ifisprof
    \newcommand{\blanc}[1]{\textbf{#1}}
    \else
    \newlength{\hblanc}
    \newcommand*{%
    \blanc}[1]{
    \settowidth{\hblanc}{#1}%
    %\rule[-1pt]{1.75\hblanc}{1pt}
    \makebox[1.75\hblanc]{\dotfill}
    }
    \fi

    \ifisprof
    \newcommand{\blancr}[1]{\textbf{\textcolor{red}{#1}}}
    \else
    \newcommand*{%
    \blancr}[1]{
    \settowidth{\hblanc}{#1}%
    %\rule[-1pt]{1.75\hblanc}{1pt}
    \makebox[1.75\hblanc]{\dotfill}
    }
    \fi

    Le package doit être indépendante de la class, donc supprimer toutes les occurrences de \ifisprof ... de package.
Bon courage.


merci pour les encouragements et les remarques constructives, je vais voir ce que je peux modifier ;)

Je vous tiens au courant sur le forum

Benoit
benoitldr
Déca-utilisateur
 
Messages: 18
Inscription: Lundi 26 Novembre 2012, 19:43
Statut actuel: Actif et salarié | Enseignant

Re: class perso beamer-article pour profs !

Messagepar touhami » Dimanche 14 Septembre 2014, 20:20

touhami a écrit:ajouter
Code: Tout sélectionner
\RequirePackage{beamerarticle-teacher}
après le dernier
Code: Tout sélectionner
\fi
dans la class.

Pardonner moi ce n'est pas la bonne place, c'est plutôt après le \fi des \ExecuteOptions.
beamerarticle-teacher.cls
Code: Tout sélectionner
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesClass{beamerarticle-teacher}[2014/09/13 V2 beamerarticle-teacher]
\newif\ifisprof
\newif\ifisbm
\DeclareOption{beamer}{\isbmtrue\isproftrue}
\DeclareOption{teacher}{\isbmfalse\isproftrue}
\DeclareOption{student}{\isbmfalse\isproffalse}
\ProcessOptions\relax

\ifisbm
\ExecuteOptions{beamer}
\else
{
\ifisprof
\ExecuteOptions{teacher}
\else
\ExecuteOptions{student}
\fi
}
\fi

\RequirePackage{beamerarticle-teacher}

\ifisbm
\LoadClass{beamer}
\mode<presentation>
\useoutertheme{tree}
\usecolortheme{whale}
\usecolortheme{orchid}
\useinnertheme{rectangles}
%% Correct number for theorems
\setbeamertemplate{theorems}[numbered]
%%%
%%%
%%% theorem like environment for beamer
%%%
\else
\LoadClass[12pt,oneside,onecolumn,final]{article}
\RequirePackage[a4paper, top=2cm, bottom=2cm, left=1.5cm, right=1.5cm]{geometry}
% Header
\RequirePackage{fancyhdr}
\renewcommand\headrulewidth{1pt}
\renewcommand\footrulewidth{1pt}
\pagestyle{fancy}
%%%
%%%
%%%theorem like environment for article
%%%
\newboxedtheorem[boxcolor=blue, background=blue!5, titlebackground=blue!20,
titleboxcolor = black, size = 0.94\textwidth]{defi}{Définition}{}

\newboxedtheorem[boxcolor=blue, background=blue!5, titlebackground=blue!20,
titleboxcolor = black, size = 0.94\textwidth]{meth}{Méthode}{}
%%%......
%%%
\fi


\setlength{\parindent}{0cm}
\renewcommand{\thesection}{\Roman{section}}
\renewcommand{\thesubsection}{\Alph{subsection}}
\renewcommand{\thesubsubsection}{\arabic{subsubsection}}

% Gestion des trous formule
% on peut améliorer ça
%
\ifisprof
\newcommand{\blancf}[1]{\boldmath #1}
\else
\newlength{\hblancf}
\newcommand*{%
\blancf}[1]{
\settowidth{\hblancf}{#1}%
%\rule[-1pt]{1.75\hblanc}{1pt}
\makebox[1.75\hblancf]{\dotfill}
}
\fi

% Gestion des trous formule
\ifisprof
\newcommand{\blancfr}[1]{\textcolor{red}{\boldmath #1}}
\else
\newlength{\hblancfr}
\newcommand*{%
\blancfr}[1]{
\settowidth{\hblancfr}{#1}%
%\rule[-1pt]{1.75\hblanc}{1pt}
\makebox[1.75\hblancfr]{\dotfill}
}
\fi

% Gestion des trous text
\ifisprof
\newcommand{\blanc}[1]{\textbf{#1}}
\else
\newlength{\hblanc}
\newcommand*{%
\blanc}[1]{
\settowidth{\hblanc}{#1}%
%\rule[-1pt]{1.75\hblanc}{1pt}
\makebox[1.75\hblanc]{\dotfill}
}
\fi

\ifisprof
\newcommand{\blancr}[1]{\textbf{\textcolor{red}{#1}}}
\else
\newcommand*{%
\blancr}[1]{
\settowidth{\hblanc}{#1}%
%\rule[-1pt]{1.75\hblanc}{1pt}
\makebox[1.75\hblanc]{\dotfill}
}
\fi
%%%%
%%%

\endinput

beamerarticle-teacher.sty
Code: Tout sélectionner
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesPackage{beamerarticle-teacher}[2014/09/91 V1.0]
\RequirePackage{tikz}            %  dont need tkz-tab}
\RequirePackage{xkeyval}
% boiboites
\define@key{boxedtheorem}{titlecolor}{\def\titlecolor{#1}}
\define@key{boxedtheorem}{titlebackground}{\def\titlebackground{#1}}
\define@key{boxedtheorem}{background}{\def\background{#1}}
\define@key{boxedtheorem}{titleboxcolor}{\def\titleboxcolor{#1}}
\define@key{boxedtheorem}{boxcolor}{\def\boxcolor{#1}}
\define@key{boxedtheorem}{thcounter}{\def\thcounter{#1}}
\define@key{boxedtheorem}{size}{\def\size{#1}}
\presetkeys{boxedtheorem}{titlecolor = black, titlebackground = white, background = white,%
                         titleboxcolor = black, boxcolor = black, thcounter=, size = .9\textwidth}{}

\newcommand{\couleurs}[1][]{%
    \setkeys{boxedtheorem}{#1}
    \tikzstyle{fancytitle} =[draw=\titleboxcolor, rounded corners, fill=\titlebackground,
                            text= \titlecolor]
    \tikzstyle{mybox} = [draw=\boxcolor, fill=\background, very thick,
                        rectangle, rounded corners, inner sep=10pt, inner ysep=20pt]
}

%Commande générique pour faire un joli encadré
\newsavebox{\boiboite}
\newcommand{\titre}{Titre}
\newenvironment{boite}[2][]%
    {%
    \renewcommand{\titre}{#2}
    \couleurs[#1]
    \begin{lrbox}{\boiboite}%
     \begin{minipage}[!h]{\size}
    }%
    {%
     \end{minipage}
    \end{lrbox}
    \begin{center}
    \begin{tikzpicture}
    \node [mybox] (box){\usebox{\boiboite}};
    \node[fancytitle, right=10pt] at (box.north west) {\titre};
    \end{tikzpicture}
    \end{center}
    }

\newcommand{\newboxedtheorem}[4][]{%
    \couleurs[#1]
    \@ifnotempty{#4}{%
      \@ifundefined{the#4}{\@ifundefined{\thcounter}{\newcounter{#4}}{%
      \newcounter{#4}[\thcounter]}}{}%
    }
    \newenvironment{#2}[1][]{%
    \@ifnotempty{#4}{\refstepcounter{#4}}
    \begin{boite}[#1]{\textbf{#3\@ifnotempty{#4}{ \csname the#4\endcsname}}\@ifnotempty{##1}{
    (##1)}\textbf{.}}
    }%
    {%
    \end{boite}
    }
}
%
%
% tanks to amsmath
%
%
\def\@ifempty#1{\@xifempty#1@@..\@nil}
\long\def\@xifempty#1#2@#3#4#5\@nil{%
  \ifx#3#4\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi}
\long\def\@ifnotempty#1{\@ifempty{#1}{}}
%
%
\newcommand{\quadri}[1]
{%
  \medbreak\textcolor{gray}
  {\setlength\unitlength{5mm}
  \begin{picture}(34,#1)
    \multiput(0,0)(1,0){35}{\line(0,1){#1}}
    \put(0,0){\line(1,0){34}}
    \multiput(0,1)(0,1){#1}{\line(1,0){34}}
  \end{picture}}
  \smallbreak
}

% Ligne pointillées
% Usage : /Pointilles[nbLignes]
%%
%% On peut faire ça avec tikz \foreach
%%
\RequirePackage{multido}
\newcommand{\Pointilles}[1][3]{%
\multido{}{#1}{%
\makebox[\linewidth]{\dotfill}
}}

%TODO Clean ???
\newcommand{\D}[1]{\makebox[#1cm]{\dotfill}}
\newcommand{\n}[0]{\ \newline}
\setlength{\columnsep}{1cm}

% Utilisation \quadrinm{n}{m}
% n : nombres de lignes
% m : nombres de colonnes
\newcommand{\quadrinm}[2]{%
% Ben
\newcounter{nbCol}
\setcounter{nbCol}{#2}
\addtocounter{nbCol}{1}
\medbreak\textcolor{gray}
{\setlength\unitlength{5mm}
\begin{picture}(#1,#2)
\multiput(0,0)(1,0){\value{nbCol}}{\line(0,1){#1}}
\put(0,0){\line(1,0){#2}}
\multiput(0,1)(0,1){#1}{\line(1,0){#2}}
\end{picture}}
\smallbreak
}
\endinput

merci pour les encouragements et les remarques constructives,

De rien, d’ailleurs je ne suis qu'un simple utilisateur de latex, qui est (lui même aussi) besoin de l'aide.
touhami
Méga-utilisateur
 
Messages: 431
Inscription: Dimanche 11 Février 2007, 11:45
Statut actuel: Post-bac

Re: class perso beamer-article pour profs !

Messagepar benoitldr » Vendredi 26 Septembre 2014, 18:45

J'ai mis une nouvelle version avec une documentation et un exemple assez complet pour ceux que ça intéresse :

https://github.com/landrieb/beamerarticle-teacher

Benoit
benoitldr
Déca-utilisateur
 
Messages: 18
Inscription: Lundi 26 Novembre 2012, 19:43
Statut actuel: Actif et salarié | Enseignant

Re: Classe perso beamer-article pour profs !

Messagepar benoitldr » Vendredi 31 Octobre 2014, 16:50

Vous pouvez trouver une discussion à propos de cette classe ici aussi (en anglais) http://latex-community.org/forum/viewto ... =4&t=25149
benoitldr
Déca-utilisateur
 
Messages: 18
Inscription: Lundi 26 Novembre 2012, 19:43
Statut actuel: Actif et salarié | Enseignant


Retourner vers LaTeX

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Bing [Bot], MSN [Bot] et 4 invités