Colore classe beamer

  • Creatore
    Topic
  • #45897
    Up
    0
    Down
    ::


    Ciao a tutti,
    Come potete vedere da qui, sto lavorando ad una nuova classe beamer.
    Con i consigli ricevuti, posso cambiare combinazione di colore in un solo e fluido gesto.
    Quello che ora mi piacerebbe fare, sarebbe mettere una combinazione colori multipla… nel senso che la footline, divisa in 3 parti, vorrei colorarla di 3 colori diversi, e due per la testata. In particolare vorrei usare i colori della bandiera italiana, quindi una footline verde bianco rossa (testo nero o bianco a seconda del contrasto) e una headline verde rossa (testo bianco). La parte del titolo andrebbe bianca con testo nero.

    Qui metto il codice della classe nella parte dei colori:`\NeedsTeXFormat{LaTeX2e}
    \ProvidesClass{colorbeamer}[2009/11/15 v0.1 Mirko's version of Beamer]

    \chardef\f@ur=4

    \DeclareOption{red}{\def\colorbeamer@color{red}\chardef\colorbeamer@colnumber\z@}
    \DeclareOption{green}{\def\colorbeamer@color{green}\chardef\colorbeamer@colnumber\@ne}
    \DeclareOption{blue}{\def\colorbeamer@color{blue}\chardef\colorbeamer@colnumber\tw@}
    \DeclareOption{yellow}{\def\colorbeamer@color{yellow}\chardef\colorbeamer@colnumber\thr@@}
    \DeclareOption{italy}{\def\colorbeamer@color{italy}\chardef\colorbeamer@colnumber\f@ur}

    \DeclareOption{bibbook}{\def\colorbeamer@bib{book}\chardef\colorbeamer@bibnumber\z@}
    \DeclareOption{bibart}{\def\colorbeamer@bib{art}\chardef\colorbeamer@bibnumber\@ne}

    \PassOptionsToPackage{svgnames}{xcolor}
    \PassOptionsToClass{hyperref={pdfpagelabels=false}}{beamer}

    \ExecuteOptions{green,bibart}
    \DeclareOption*{\PassOptionsToClass{\CurrentOption}{beamer}}

    \ProcessOptions\relax

    \LoadClass{beamer}%[2005/06/12]

    \RequirePackage{isodate}
    \RequirePackage{guit}%[2006/05/24]
    \GuITcolor{1,.66,1,0}
    \hypersetup{colorlinks=false}

    %Layout grafico

    \renewcommand{\fontsubfuzz}{1pt}

    % Configurazioni di beamer
    \usetheme{Warsaw}
    \beamertemplatenumberedballsectiontoc
    %\usecolortheme[rgb={.5,0,0}]{structure}

    \useoutertheme{split}
    \usefonttheme{default}

    \ifcase\colorbeamer@colnumber
    %Rosso
    \usecolortheme[rgb={.5,0,0}]{structure}
    \or
    %Verde
    \usecolortheme[rgb={0,.5,0}]{structure}
    \or
    %Blu
    \usecolortheme[rgb={0,0,.5}]{structure}
    \or
    %Giallo
    \usecolortheme[rgb={1,.7,0}]{structure}
    \or
    %Italy
    \usecolortheme[rgb={0,.75,0}]{structure}
    \else
    \PackageWarning{colorbeamer}{Unknown color, switching to default}
    \usecolortheme[rgb={0,.5,0}]{structure}
    \fi

    \ifcase\colorbeamer@bibnumber
    %Book
    \setbeamertemplate{bibliography item}[book]
    \or
    %Article
    \setbeamertemplate{bibliography item}[article]
    \else
    \PackageWarning{colorbeamer}{Unknown bibliography style, switching to default}
    \setbeamertemplate{bibliography item}[article]
    \fi

    \setbeamertemplate{theorems}[numbered]
    \newtheorem{teorema}[theorem]{Teorema}
    \renewcommand{\qedsymbol}{{\emph{\footnotesize Q.E.D.}}}

    %%% Colori dei blocchi di codice
    \definecolor{LC background}{rgb}{1,.97,.86}
    \colorlet{LC foreground}{DarkBlue}
    \colorlet{LC alerted fg}{DarkRed}

    \setbeamercolor{normal text}{bg=gray!20}
    %\mode{\setbeamercolor{normal text}{bg=white}}
    \mode{\setbeamercolor{normal text}{bg=white}}

    \ifcase\colorbeamer@colnumber
    %Rosso
    \setbeamercolor{alerted text}{fg=Crimson}
    \setbeamercolor{example text}{fg=Tomato}
    \setbeamercolor{block title}{bg=Red}
    \setbeamercolor{block body}{bg=block title.bg!20}
    \setbeamercolor{block title alerted}{fg=Coral!10,bg=Coral}
    \setbeamercolor{block body alerted}{bg=block title alerted.bg!20}
    \setbeamercolor{block title example}{fg=white,bg=OrangeRed}
    \setbeamercolor{block body example}{bg=block title example.bg!20}
    \setbeamercolor{LaTeX code}{fg=LC foreground,bg=LC background}
    \setbeamercolor{alerted LaTeX code}{fg=LC alerted fg,bg=LC background}
    \or
    %Verde
    \setbeamercolor{alerted text}{fg=Teal}
    \setbeamercolor{example text}{fg=Green}
    \setbeamercolor{block title}{bg=ForestGreen}
    \setbeamercolor{block body}{bg=block title.bg!20}
    \setbeamercolor{block title alerted}{fg=Lime!10,bg=Lime}
    \setbeamercolor{block body alerted}{bg=block title alerted.bg!20}
    \setbeamercolor{block title example}{fg=white,bg=MediumSeaGreen}
    %\setbeamercolor{block title example}{fg=white,bg=SeaGreen}
    \setbeamercolor{block body example}{bg=block title example.bg!20}
    \setbeamercolor{LaTeX code}{fg=LC foreground,bg=LC background}
    \setbeamercolor{alerted LaTeX code}{fg=LC alerted fg,bg=LC background}
    \or
    %Blu
    \setbeamercolor{alerted text}{fg=NavyBlue}
    \setbeamercolor{example text}{fg=Blue}
    \setbeamercolor{block title}{bg=DodgerBlue}
    \setbeamercolor{block body}{bg=block title.bg!20}
    \setbeamercolor{block title alerted}{fg=Cyan!10,bg=Cyan}
    \setbeamercolor{block body alerted}{bg=block title alerted.bg!20}
    \setbeamercolor{block title example}{fg=white,bg=Navy}
    \setbeamercolor{block body example}{bg=block title example.bg!20}
    \setbeamercolor{LaTeX code}{fg=LC foreground,bg=LC background}
    \setbeamercolor{alerted LaTeX code}{fg=LC alerted fg,bg=LC background}
    \or
    %Giallo
    \setbeamercolor{alerted text}{fg=Orange}
    \setbeamercolor{example text}{fg=Goldenrod}
    \setbeamercolor{block title}{bg=Gold}
    \setbeamercolor{block body}{bg=block title.bg!20}
    \setbeamercolor{block title alerted}{fg=OrangeRed!10,bg=OrangeRed}
    \setbeamercolor{block body alerted}{bg=block title alerted.bg!20}
    \setbeamercolor{block title example}{fg=white,bg=Goldenrod!80}
    \setbeamercolor{block body example}{bg=block title example.bg!20}
    \setbeamercolor{LaTeX code}{fg=LC foreground,bg=LC background}
    \setbeamercolor{alerted LaTeX code}{fg=LC alerted fg,bg=LC background}
    \or
    %Italy TESTING
    \setbeamercolor{alerted text}{fg=Crimson}
    \setbeamercolor{example text}{fg=Green}
    \setbeamercolor{block title}{bg=Gold}
    \setbeamercolor{block body}{bg=block title.bg!20}
    \setbeamercolor{block title alerted}{fg=Coral!10,bg=Coral}
    \setbeamercolor{block body alerted}{bg=block title alerted.bg!20}
    \setbeamercolor{block title example}{fg=white,bg=MediumSeaGreen}
    \setbeamercolor{block body example}{bg=block title example.bg!20}
    \setbeamercolor{LaTeX code}{fg=LC foreground,bg=LC background}
    \setbeamercolor{alerted LaTeX code}{fg=LC alerted fg,bg=LC background}
    \else
    %Default
    \setbeamercolor{alerted text}{fg=Teal}
    \setbeamercolor{example text}{fg=Green}
    \setbeamercolor{block title}{bg=ForestGreen}
    \setbeamercolor{block body}{bg=block title.bg!20}
    \setbeamercolor{block title alerted}{fg=Lime!10,bg=Lime}
    \setbeamercolor{block body alerted}{bg=block title alerted.bg!20}
    \setbeamercolor{block title example}{fg=white,bg=MediumSeaGreen}
    %\setbeamercolor{block title example}{fg=white,bg=SeaGreen}
    \setbeamercolor{block body example}{bg=block title example.bg!20}
    \setbeamercolor{LaTeX code}{fg=LC foreground,bg=LC background}
    \setbeamercolor{alerted LaTeX code}{fg=LC alerted fg,bg=LC background}
    \fi

    %%% Ridefinisco la footline
    \setbeamertemplate{footline}{\leavevmode%
    \begin{beamercolorbox}[wd=.33\paperwidth,ht=2.25ex,dp=1ex,leftskip=4pt plus 1pt,rightskip=4pt plus 1pt]{subsection in head/foot}
    \insertshortauthor\hfill\insertshortinstitute
    \end{beamercolorbox}%
    \begin{beamercolorbox}[wd=.34\paperwidth,center,ht=2.25ex,dp=1ex]{section in head/foot}
    \usebeamercolor[fg]{section in foot/head}\insertshorttitle
    \end{beamercolorbox}%
    \begin{beamercolorbox}[wd=.33\paperwidth,ht=2.25ex,dp=1ex,leftskip=4pt plus 1pt,rightskip=4pt plus 1pt]{subsection in head/foot}
    \insertshortdate\hfill\insertframenumber/\inserttotalframenumber
    \end{beamercolorbox}%
    }`

    Sapreste darmi una mano?

    Grazie e buona serata.

Visualizzazione 4 filoni di risposte
  • Autore
    Risposte
    • #45898
      Up
      0
      Down
      ::


      Ciao a tutti,
      Forse sto capendo come fare… mi interesserebbe sapere una cosa però: come faccio ad usare un \if?
      Ho visto che c’è`\ifnum\else\fi`e lo uso come`\ifnum\colorbeamer@colnumber=\f@ur
      %Italy
      [Codice solo per italy]
      \else
      [Codice DEFAULT]
      \fi`Il problema che riscontro è che ho dovuto usare il mio `\f@ur`e non una descrizione più ad alto livello.
      L’ideale sarebbe l’utilizzo di `\colorbeamer@color`o qualcosa di derivato, in modo che sia più intuitivo, e più facilmente estendibile.

      Grazie a tutti dell’aiuto,

    • #45899
      Up
      0
      Down
      ::

      Ciao a tutti,
      Forse sto capendo come fare… mi interesserebbe sapere una cosa però: come faccio ad usare un \if?
      Ho visto che c’è`\ifnum\else\fi`e lo uso come`\ifnum\colorbeamer@colnumber=\f@ur
      %Italy
      [Codice solo per italy]
      \else
      [Codice DEFAULT]
      \fi`Il problema che riscontro è che ho dovuto usare il mio `\f@ur`e non una descrizione più ad alto livello.
      L’ideale sarebbe l’utilizzo di `\colorbeamer@color`o qualcosa di derivato, in modo che sia più intuitivo, e più facilmente estendibile.

      Direi che questo è il modo più semplice e anche efficiente. Per esempio puoi usare \ifcase:
      `\ifcase\colorbeamer@colnumber
      \or
      \or
      \or

      \else
      \fi`
      Ciao
      Enrico

    • #45900
      Up
      0
      Down
      ::

      Direi che questo è il modo più semplice e anche efficiente. Per esempio puoi usare \ifcase:
      `\ifcase\colorbeamer@colnumber
      \or
      \or
      \or

      \else
      \fi`
      Ciao
      Enrico

      E se volessi fare una “cosa” solo per il caso 2 e 5, lasciando gli altri invariati?

    • #45901
      Up
      0
      Down
      ::

      Direi che questo è il modo più semplice e anche efficiente. Per esempio puoi usare \ifcase:
      `\ifcase\colorbeamer@colnumber
      \or
      \or
      \or

      \else
      \fi`
      Ciao
      Enrico

      E se volessi fare una “cosa” solo per il caso 2 e 5, lasciando gli altri invariati?

      Non scrivi niente fra un \or e l’altro.

      Ciao
      Enrico

    • #45902
      Up
      0
      Down
      ::

      [quote]Direi che questo è il modo più semplice e anche efficiente. Per esempio puoi usare \ifcase:
      `\ifcase\colorbeamer@colnumber
      \or
      \or
      \or

      \else
      \fi`
      Ciao
      Enrico

      E se volessi fare una “cosa” solo per il caso 2 e 5, lasciando gli altri invariati?

      Non scrivi niente fra un \or e l’altro.

      Ciao
      Enrico[/quote]Giusto, con le definizioni di default in prima del condizionale… a volte la soluzione più semplice non ti viene in mente.

      Tornando al problema dei coloti di Beamer, ho visto che lo sfondo del frametitle si comporta come una dissolvenza da “subsection in head/foot” a “section in head/foot”.

      A me interesserebbe invertire i colori, senza cambiare la definizione dei colori “subsection in head/foot” e “section in head/foot”. Sarebbe bello se si potesse fare una dissolvenza a 3 colori: verde -> bianco -> rosso.

      Qualcuno ha qualche idea?

      Grazie a tutti,

Visualizzazione 4 filoni di risposte
  • Devi essere connesso per rispondere a questo topic.

Go to top