Problème de mise en page

Bonjour,

j'essaie de taper mes cours sur LaTeX mais je rencontre un problème de mise en page. Voilà, j'aimerais obtenir, pour les remarques par exemple, quelque chose comme ça :

Remarques : - bla bla ...
- bla bla ...
- bla bla ...

de telle sorte à ce que les tirets soient alignés évidemment.

J'ai bien pensé à utiliser une minipage mais on ne peut pas l'utiliser sur deux pages différentes. Ensuite, j'ai pensé à utiliser supertabular, mais là encore, je suis coincé si je veux insérer des flottants dans mes remarques, et enfin, j'ai pensé à utiliser hangindent, ça marche très bien sauf quand je mets un begin{itemize} : LaTeX ne tient plus compte du tout du hangindent. Bref, je commence un peu à désespérer, donc si quelqu'un avait une solution à mon problème ...
Merci d'avance,
Pierre

Réponses

  • Bonjour,
    Sauf erreur il s'agit d'une question de tabulation(s).
    Va donc voir chez les ch'tis.
    C'est un peu lourd à manier (comme dans Libre Office) mais à priori ça fonctionne.
  • Bonjour Braun,
    la solution est en effet un peu lourde à mettre en place, et je ne suis pas sûr que cela solutionne mon problème avec itemize.
  • Ach, si tu tiens à itemize, fais appel aux esprits :
    \begin{itemize}
    \item[Remarques~-] blah 
    \item[\phantom{Remarques}~-] boff 
    \item[\phantom{Remarques}~-] hummm
    \end{itemize}
    
    Comme dirait le grand Maurice Tillieux, « .... les fantômes j'ai toujours trouvé ça suspectre ».
  • Merci Braun, je n'avais pas pensé à cette solution.

    J'ai une autre question pour mes théorèmes. J'utilise le package ntheorem et tikz. Dans mon préambule, j'ai écrit :
        \theoremclass{Theorem}
        \theoremstyle{empty}
        \newcommand{\thmbox}[1]{
          \tikzstyle{thmbox} = [rectangle, draw=black, fill=Gray!40, inner sep=10pt, drop shadow={fill=black, opacity=.8},inner ysep=5pt]%
          \tikzstyle{fancytitle} =[fill=white, text=black, rectangle, rounded corners, draw=black]%
          \noindent%
          \begin{tikzpicture}%
            \node [thmbox] (box){%
              \begin{minipage}{.91\textwidth}%
                #1%
              \end{minipage}%
            };%
          \node[fancytitle, right=10pt] at (box.north west) {\textbf{Théorème~\thetheorem}%
            };%
            \end{tikzpicture}}
        \def\theoremframecommand{\thmbox}
        \newshadedtheorem{theorem}{Theorem}
    

    Je n'arrive pas à modifier le code de telle sorte à mettre un deuxième argument optionnel qui serait une précision à côté du titre.

    J'aimerais qu'un :
    \begin{theorem}{TVI}
    Soit f ...
    \end{theorem}

    me donne
    Théorème + n° + (TVI) ... dans le cadre du titre.

    Sais-tu comment faire ?
  • Bonjour, à ta place je re-coderais les théorèmes à la main puisque ce n'est pas au fond si difficile. Je te donne un exemple de commande (c'est mon environnement de théorème) :
    \newsavebox{\commentaire}
    \newsavebox{\contenu}
    
    \newenvironment{theo}[1][]{\medskip
    	\ifthenelse{\isempty{#1}}{}{\savebox{\commentaire}{\enspace\color{white}(\textit{#1})}}
    	\tikzstyle{mybox} = [draw=purple,thick,rectangle,rounded corners,inner ysep=12pt,fill=purple!20,blur shadow]
    	\tikzstyle{fancytitle} =[text=white,fill=purple,rounded corners]
    	\begin{lrbox}{\contenu}
            \begin{minipage}{\textwidth-2ex}}%
           {\vspace{-8pt}\end{minipage}\end{lrbox}\begin{tikzpicture}\node[mybox] (box){\usebox{\contenu}};
           \node[fancytitle, right=10pt] at (box.north west) {\textbf{Théorème~:}\ifthenelse{\isempty{\commentaire}}{}{\usebox{\commentaire}}};
           \end{tikzpicture}\medskip}
    

    Voilà. Dans la commande, il y a un premier argument [1] qui est le nom du théorème et à côté [] qui sera le commentaire par défaut (donc sans commentaire).
    \ifthenelse{\isempty{#1}}{}{\savebox{\commentaire}{\enspace\color{white}(\textit{#1})}}
    

    Si l'argument commentaire est vide, ne rien faire, sinon : espace, écrire en blanc entre parenthèses et le commentaire en italique.
    \tikzstyle{mybox} = [draw=purple,thick,rectangle,rounded corners,inner ysep=12pt,fill=purple!20,blur shadow]
    \tikzstyle{fancytitle} =[text=white,fill=purple,rounded corners]
    

    C'est le style de ma boîte. À noter l'argument blur shadow qui permet de faire de l'ombre "diffuse" et pas dure. Pour l'utiliser il faut avoir activé la librairie tikz qui va bien :
    \usetikzlibrary{shadows.blur}
    

    Ensuite le corps du théorème :
    \begin{lrbox}{\contenu}
    \begin{minipage}{\textwidth-2ex}}%
    

    Pour pouvoir stocker le contenu du théorème, il faut avoir créé une boîte avec la commande
    \newsavebox{maboîte}
    

    Puis on demande à LaTeX de sauvegarder avec
    \begin{lrbox}
    
    \end{lrbox}
    

    La minipage c'est juste cosmétique.

    Ensuite la deuxième partie de l'environnement :
          {\vspace{-8pt}\end{minipage}\end{lrbox}\begin{tikzpicture}\node[mybox] (box){\usebox{\contenu}};
           \node[fancytitle, right=10pt] at (box.north west) {\textbf{Théorème~:}\ifthenelse{\isempty{\commentaire}}{}{\usebox{\commentaire}}};
           \end{tikzpicture}\medskip}
    

    Fin de la minipage et fin de la sauvegarde. On crée une image tikz et dedans une boîte qui contient... le contenu du théorème. Ensuite on place le titre au nord ouest avec un test si le commentaire est rempli ou pas.


    Elle s'utilise comme ça :
    \begin{theo}[nom du theoreme]
    Blablabla TVI blablabla LdGN blablabla Bernard à la porte !
    \end{theo}
    

    Je t'ai laissé une copie d'écran pour que tu puisses constater que ça fonctionne bien.33899
  • Pas si difficile ?! ... j'ai un peu de mal à comprendre ton code.
    Je vais m'en inspirer pour arriver à ce que je veux.

    Merci pour ton aide.
  • Voilà, j'ai inséré des commentaires. N'hésite pas.
  • Merci des explications.
    J'ai modifié le style et j'ai ajouté un compteur.
    Je vais essayer de redéfinir un environnement similaire pour les propositions, les corollaires etc ...
    Dois-je changer le nom des savebox (contenu et commentaire) pour les autres environnements ?
  • Et bien ce que j'ai fait, c'est créer une super commande et ensuite j'ai créé des environnements pour chaque type. Puisque théorème est le seul qui a un fond coloré, il est à part, et ensuite j'ai la commande suivante :
    \newenvironment{formattheoperso}[3][]{\medskip
    	\begin{savenotes}
    	\renewcommand{\couleur}{#3}
    	\ifthenelse{\isempty{#1}}{}{\savebox{\commentaire}{\enspace\color{black}(\textit{#1})}}
    	\savebox{\typeenv}{\color{\couleur}\textbf{#2~:}}
    	\tikzstyle{mybox} = [draw=\couleur,thick,rectangle,rounded corners,inner ysep=10pt,fill=white,blur shadow]
    	\tikzstyle{fancytitle} =[text=\couleur,fill=white]
    	\begin{lrbox}{\contenu}
            \begin{minipage}{\textwidth-2ex}}%
            {\end{minipage}\end{lrbox}\begin{tikzpicture}\node [mybox] (box){\usebox{\contenu}};
            \node[fancytitle, right=10pt] at (box.north west) {\usebox{\typeenv}\ifthenelse{\isempty{\commentaire}}{}{\usebox{\commentaire}}};
            \end{tikzpicture}\end{savenotes}\medskip}
    

    Premier argument commentaire, le second le type d'environnement (Prop, def etc) et le troisième c'est la couleur du thème.

    Je n'ai créé qu'une fois les savebox pour tout le fichier sty :
    \newsavebox{\typeenv}
    \newsavebox{\commentaire}
    \newsavebox{\contenu}
    \newcommand{\couleur}{}
    

    Tu vois qu'il y a une savebox de plus : typeenv qui est modifiée quand je crée l'environnement à partir de la commande générale :
    %Propriété
    \newenvironment{prop}[1][]{\begin{formattheoperso}[#1]{Propri\'et\'e}{red}}{\end{formattheoperso}}
    

    Le fond est blanc et seul le tour de la boîte et le texte est en couleur.

    Évidemment si ton document contient des pages en couleur (non blanches) il faudra changer la couleur du fond.33903
  • Merci Samuel pour ces explications. Je vais essayer de regarder de plus près demain !
Connectez-vous ou Inscrivez-vous pour répondre.