Latex: couleur de fond modulable

Le problème exposé dans ce sujet a été résolu.

Bonjour à tous,

Je suis actuellement en train de créer un document latex et j’ai quelques soucis.

Mon but est de pouvoir créer des (sub(sub))sections avec des styles différents. Par exemple je souhaiterai avoir à un moment une section avec un fond bleu, puis la section suivante avec un fond vert. Malheureusement je n’y arrive pas. En écumant les internets j’ai découvert koma script mais je n’arrive pas à avoir une variable couleur pour mes sections.

Ci-dessous mon code:

\documentclass{scrreprt}

\usepackage[dvipsnames]{xcolor}
\usepackage{lipsum}

\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}

\setkomafont{chapter}{\mychapter}
\newcommand{\mychapter}[1]{%
    \Large\sf\bf%
    \setlength{\fboxsep}{0cm}%already boxed
    \colorbox{MidnightBlue}{%
        \begin{minipage}{\linewidth}%
            \vspace*{2pt}%Space before
            \color{white}#1
            \vspace*{2pt}%Space after
        \end{minipage}%
    }}

\setkomafont{section}{\mysection}
\newcommand{\mysection}[2]{%
    \Large\sf%
    \setlength{\fboxsep}{0cm}%already boxed
    \colorbox{#2}{%
        \begin{minipage}{\linewidth}%
            \vspace*{2pt}%Space before
            \color{white}#1%
            \vspace*{2pt}%Space after
        \end{minipage}%
    }}

    \begin{document}

        \chapter{Exemple chapitre}
        \lipsum[1]
        \section{Section 1}{violet}
        \lipsum[1]
        \section{Section 2}{red}
        \lipsum[1]
\end{document}

J’ai vu que je pouvais définir mes propres sections mais je trouve que ça fait très lourd pour juste avoir un fond variable…

Avez-vous une idée ?

Salut,

Une solution possible est de redéfinir \section et d’avoir une variable pour la couleur du fond. Code non testé, mais ça devrait fonctionner.

\documentclass{scrreprt}
\usepackage[dvipsnames]{xcolor}
\usepackage{lipsum}

\addtokomafont{section}{\sectioncoloring}

\newcommand{\sectioncoloring}[1]{\colorbox{\sectioncolor}{#1}}

\let\oldsection\section
\makeatletter
\renewcommand{\section}[2]{
   \def\sectioncolor{#2}
   \oldsection{#1}
}
\makeatother

\begin{document}
   \chapter{Exemple chapitre}
   \lipsum[1]
   \section{Section 1}{red}
   \lipsum[1]
   \section{Section 2}{green}
   \lipsum[1]
\end{document}
+2 -0

Salut !

Merci beaucoup pour ton aide!

Je mets le code complet permettant d’avoir un background de differente couleur sur toute la longueur de la page:

\documentclass{scrreprt}
\usepackage[dvipsnames]{xcolor}
\usepackage{lipsum}

\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}

\addtokomafont{section}{\sectioncoloring}

\newcommand{\sectioncoloring}[1]{
    \Large\sf%
    \setlength{\fboxsep}{0cm}%already boxed
    \colorbox{\sectioncolor}
    {
        \begin{minipage}{\linewidth}%
            \vspace*{2pt}%Space before
            \color{white}#1%
            \vspace*{2pt}%Space after
        \end{minipage}%
    }
}

\let\oldsection\section
\makeatletter
\renewcommand{\section}[2]{
   \def\sectioncolor{#2}
   \oldsection{#1}
}
\makeatother

\begin{document}
   \chapter{Exemple chapitre}
   \lipsum[1]
   \section{Section 1}{red}
   \lipsum[1]
   \section{Section 2}{green}
   \lipsum[1]
\end{document}
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte