Elegir una imagen según la opción enviada a clase

Elegir una imagen según la opción enviada a clase

Para ser más coherente en los documentos personales/internos que escribo, me gustaría modificar mi clase para permitirme pasar una opción que seleccionará automáticamente una imagen para colocarla en el pie de página de la primera página, así que en qué grupo hice el trabajo. porque se ve fácilmente de un vistazo. No estoy seguro de cómo hacerlo desde aquí.

He probado esto:

    \DeclareOption{groupA}{\def\@affiliation{Group A}}
    \ProcessOptions \relax

En la definición del pie de página, agregué:

    \@ifundefined{\@affiliation}{\def\@affiliation{none}}{}
    \ifthenelse{\equal{\@affiliation}{\string groupA}}
        {\includegraphics[height=2cm]{groupA_logo.png}}
        {\@affiliation}

Esto fue solo para comenzar a probarlo, por lo que incluiría una imagen si paso la groupAopción \documentclass[groupA]{myreports}y simplemente escribiría la afiliación si uso groupBo no paso nada.

Sin embargo, esto no funciona: mi pie de página solo muestra la palabra ninguno impreso. ¿Alguna idea sobre cómo podría hacer que algo como esto funcione?

Según lo solicitado, aquí hay un MWE. misinformes.cls:

\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{myreports}[2015/07/28]
% - Declaration of options
\DeclareOption{letterpaper}{\PassOptionsToPackage{\CurrentOption}{geometry}}
\DeclareOption{groupA}{\def\@affiliation{Group A}}
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
% ----- Execution of options
\ExecuteOptions{letterpaper}
\ProcessOptions \relax
\LoadClass{article}
% - Page Layout
\RequirePackage[left=2.5cm,right=2.5cm,top=2.5cm,bottom=2.5cm]{geometry}
\RequirePackage{graphicx}
\RequirePackage{fancyhdr}
\RequirePackage{ifthen}
% - Header and Footer Definitions
\fancypagestyle{firstpage}{
    \fancyhf{}
    \setlength\headheight{48pt}
    \setlength\headsep{-7pt}
    \fancyhead[C]{\begin{center}
        First Page Header
    \end{center}}
    \fancyfoot[C]{
        \@ifundefined{\@affiliation}{\def\@affiliation{none}}{}
        \ifthenelse{\equal{\@affiliation}{Group A}}
            {I'm in \@affiliation}
            {Don't recognize \@affiliation}
   }
}
\pagestyle{fancy}
\fancyhf{}
\setlength\headheight{48pt}
\setlength\headsep{-7pt}
\fancyhead[CE,CO]{\begin{center}
    Subsequent Pages Header
\end{center}}
\fancyfoot[CE,CO]{\thepage}
% - maketitle Definition
\makeatletter
\def\maketitle{
    \thispagestyle{firstpage}
    \par\textsc{\huge\@title}
    \par\vspace{7pt}{\large\@author}
    \vspace{21pt}
    \par
}
\makeatother
\endinput

Y prueba.tex:

\documentclass[groupA]{myreports}
\usepackage{lipsum}
\title{A Titled Report}
\author{It's Me!}
\begin{document}
\maketitle
\lipsum[1-14]
\end{document}

Respuesta1

Bueno, pude encontrar una solución, aunque cambia de rumbo con respecto a lo que estaba intentando antes. Sin embargo, me gusta más esta idea, ya que permite directamente tener más de una afiliación en un documento.

Lo resolví usando \newif\if@groupA y luego simplemente declaraciones \if@groupA {} \fi simples. Adjuntaré la clase resultante a continuación.

\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{myreports}[2015/07/28]
\newif\if@groupA
\@groupAfalse
% - Declaration of options
\DeclareOption{letterpaper}{\PassOptionsToPackage{\CurrentOption}{geometry}}
\DeclareOption{groupA}{\@groupAtrue}
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
% ----- Execution of options
\ExecuteOptions{letterpaper}
\ProcessOptions \relax
\LoadClass{article}
% - Page Layout
\RequirePackage[left=2.5cm,right=2.5cm,top=2.5cm,bottom=2.5cm]{geometry}
\RequirePackage{graphicx}
\RequirePackage{fancyhdr}
\RequirePackage{ifthen}
% - Header and Footer Definitions
\fancypagestyle{firstpage}{
    \fancyhf{}
    \setlength\headheight{48pt}
    \setlength\headsep{-7pt}
    \fancyhead[C]{\begin{center}
        First Page Header
    \end{center}}
    \fancyfoot[C]{
        \if@groupA
            I'm in group A
        \else
            I'm not in group A
        \fi
   }
}
\pagestyle{fancy}
\fancyhf{}
\setlength\headheight{48pt}
\setlength\headsep{-7pt}
\fancyhead[CE,CO]{\begin{center}
    Subsequent Pages Header
\end{center}}
\fancyfoot[CE,CO]{\thepage}
% - maketitle Definition
\makeatletter
\def\maketitle{
    \thispagestyle{firstpage}
    \par\textsc{\huge\@title}
    \par\vspace{7pt}{\large\@author}
    \vspace{21pt}
    \par
} 
\makeatother
\endinput

información relacionada