2

My case is:

I have been typesetting tests with the exam class, I used to have problems with multiply defined labels for questions (but that is another problem). Recently I managed to change a few lines in the exam.cls so that it no longer gives me a multiply defined label warning and solved the problem I had.

The problem I have now is that sometimes when I compile with pdflatex it gets stuck, gives no error and doesn't compile the document. Thinking there was a problem with Textmate (which is what I use to compile) I tried compiling from the command line and still gets stuck.

These are the lines I changed in exam.cls:

line2566

\edef\@queslabel{question@\arabic{question}}%

to

\edef\@queslabel{question@\arabic{section}@\arabic{subsection}@\arabic{question}}%

and

line2893

\edef\@partlabel{part@\arabic{question}@\arabic{partno}}%

to

\edef\@partlabel{part@\arabic{section}@\arabic{subsection}\arabic{question}@\arabic{partno}}%

So here are two .tex files. One works and the other doesn't compile and I can't find what is wrong.

Working .tex:

\documentclass[a4paper,11pt,spanish,answers]{exam}


%% synctex, para cambiar entre editor y pdf
\synctex=1

%% ampliar margenes 
\usepackage[top=1.5cm, bottom=2cm, left=1cm, right=1.5cm]{geometry}


%% parskip en las minipages
\usepackage[parfill]{parskip}
\newlength{\currentparskip}

%cambiar espaciado en cajas
\setlength{\fboxsep}{5pt}


%%editar listas numeradas
\usepackage{enumitem}
\setlist[enumerate,1]{leftmargin=0cm}

%insertar figuras
\usepackage{graphicx}
\usepackage{float}
\usepackage{rotating}
\usepackage{rotfloat}


%%MULTIPLES COLUMNAS y filas
\usepackage{multirow}
\usepackage{tabularx}


%matematicas
\usepackage{amssymb}
\usepackage{amsfonts}
\usepackage[version=3]{mhchem}
\usepackage{mathtools}
\usepackage{mathabx} 
\everymath{\displaystyle}

\DeclareMathOperator{\sgn}{sgn}

%%%cambiar los iconos de las listas de items
\usepackage{pifont}
\usepackage{textcomp}
%\usepackage{MnSymbol}

%% codigo . idioma
\usepackage[utf8]{inputenc}
\usepackage{babel}

%%%%%eurosymbol
%\usepackage{marvosym}
\usepackage{eurosym}
\DeclareUnicodeCharacter{20AC}{\euro}


%%paquetes para el siunitx
\usepackage[locale = FR]{siunitx}
\usepackage{booktabs}
\usepackage{cancel}
\usepackage{colortbl}
\usepackage{csquotes}
\usepackage{helvet}
\usepackage{mathpazo}
\usepackage[svgnames]{xcolor}
\usepackage{listings}
\usepackage{pgfplots}
\usepackage{translator}
\sisetup{%
per-mode = symbol-or-fraction,%
list-final-separator = { \translate{and} },%
list-pair-separator = { \translate{and} },%
range-phrase = { -- },%
group-digits = integer
}


%%% unidades extra
\DeclareSIUnit\inch{in}
\DeclareSIUnit\foot{ft}
\DeclareSIUnit\kgf{kgf}
\DeclareSIUnit\pound{lb}
\DeclareSIUnit\defs{$\epsilon$}
\DeclareSIUnit\rev{rev}
\DeclareSIUnit\rpm{rpm}
\DeclareSIUnit\pkt{PKT}

%%%%% dineros
\DeclareSIUnit\usd{USD}
\DeclareSIUnit\eur{EUR}
\DeclareSIUnit\euro{\euro}
\DeclareSIUnit\dollar{\$}
\DeclareSIUnit\cent{\textcent}

%%cambiar formato titulos
\usepackage{titlesec}
\titlespacing*{\chapter}{0pt}{-30pt}{10pt}
\titlespacing*{\section} {0pt}{3ex plus 1ex minus .2ex}{1.8ex plus .2ex}
\titlespacing*{\subsection} {0pt}{2.75ex plus 1ex minus .2ex}{1ex plus .2ex}
\titlespacing*{\subsubsection}{0pt}{2.75ex plus 1ex minus .2ex}{1ex plus .2ex}
\titlespacing*{\paragraph} {0pt}{2.75ex plus 1ex minus .2ex}{1em}
\titlespacing*{\subparagraph} {30pt}{1.5ex plus 1ex minus .2ex}{1em}


\titleformat{\section}{\color{Red}\normalfont\Large\bfseries}{\color{Red}\thesection.}{0.5em}{}
\titleformat{\subsection}{\color{NavyBlue}\normalfont\large\bfseries}{\color{NavyBlue}\thesubsection.}{0.5em}{}
\titleformat{\subsubsection}{\color{Green}\normalfont\normalsize\bfseries}{\color{Green}\thesubsubsection.}{0.5em}{}
\titleformat{\paragraph}[runin]{\color{BlueViolet}\normalfont\normalsize\bfseries}{\color{BlueViolet}\theparagraph}{1em}{}
\titleformat{\subparagraph}[runin]{\normalfont\normalsize\bfseries}{\thesubparagraph}{1em}{}



%cambiar el nombre de las figuras
\usepackage{caption}
%\captionsetup[figure]{labelformat=empty}
\renewcommand{\thefigure}{\arabic{section}.\arabic{figure}}
\renewcommand{\figurename}{Fig.}


%%%% cambiar la numeración de las figuras por seccion
\usepackage{chngcntr}
\counterwithin{figure}{section}


% %% TABLAS. AJUSTAR EL TEXTO A LA CELDA
 \usepackage{tabularx}
\newcolumntype{L}{>{\raggedright\arraybackslash}X}%
\newcolumntype{R}{>{\raggedleft\arraybackslash}X}%
\newcolumntype{C}{>{\centering\arraybackslash}X}%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\author{piLi}
\title{Transporte Aéreo.\\ Exámenes}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%% puntos a la derecha
\pointsdroppedatright
\pointsinrightmargin
\bracketedpoints
\marginpointname{pt}



\renewcommand{\thechoice}{\alph{choice}}


%%formato de la solucion
\unframedsolutions
\CorrectChoiceEmphasis{}

%%%%%%%%%%%% solucion sin titulo en cursiva y gris :)
\renewcommand{\solutiontitle}{}
\SolutionEmphasis{\color{Gray}}



%%%% solución multiple %%%%%%%%%%%%%%%%%%%%%%%
\checkboxchar{$\Box$}
\checkedchar{\color{Green}{\ding{52}}}
%\checkedchar{$\boxtimes$}

\newcommand\cosa{%
\hfill\mbox{\begin{oneparcheckboxes}
\choice 
\end{oneparcheckboxes}}}

\newcommand\bien{%
\hfill\mbox{\begin{oneparcheckboxes}
\CorrectChoice 
\end{oneparcheckboxes}}}


%% hyperliks
\usepackage{hyperref} 

%%beter referencing
\usepackage{cleveref}



\begin{document}

%%hacemos el titulo
\maketitle


%% indice
\tableofcontents

\section{One} % (fold)
%%\label{sec:one}

\subsection{FEBRERO 2011} % (fold)
%%\label{sub:febrero_2011}

\begin{questions}
    \question ¿Puede considerarse el sistema de manejo de equipajes de un aeropuerto como Gran Sistema? Exponer razones:
    \begin{solution}
         Si. Cumple las tres condiciones de gran sistema:
         \begin{itemize}
            \item Gran número de partes complejas (vehículos, cintas, ordenadores)
            \item Relaciones complejas (carga/descarga, aduana, facturación)
            \item Fines concretos (entregar todo, sano y a tiempo)
         \end{itemize}
    \end{solution}


    \question Explicar el proceso requerido para incorporar un nuevo Capítulo al Anexo 16 al Convenio de Chicago.
    \begin{solution}
         El consejo encarga la tarea al comité de Aeronavegabilidad. La propuesta de éste vuelve al consejo, pasa a la Secretaría General, retorna al consejo y es aprobada por la Asamblea.
    \end{solution}


    \question ¿Son aceptables hoy en día los acuerdos \emph{pool} en Europa? ¿Por qué?
    \begin{solution}
        No. Contravienen las normas de la competencia en la UE, particularmente las de acuerdos restrictivas (Art. 8 del Tratado de Roma)
    \end{solution}


    \question Explicar las diferencias más importantes de funcionamiento entre una compañía aérea de red \emph{Hub\&Spoke} y otra de las conocidas como de \emph{bajo coste (BC)}
    \begin{solution}
         \begin{description}
            \item[RED] H\&B maneja oleadas de vuelos interconectados en uno o más puntos
            \item[BC] opera red en malla, sin centros fijos 
         \end{description}
            \begin{tabular}{| c | c c |}
                \hline
                & H\&B & BC \\ \hline
                Conexiones & las fomenta & no ofrece \\
                Alcance & largo, medio, corto & medio y corto\\
                Producto & diferentes productos & sólo uno, simple, cobrado servicios adicionales\\
                Ventas & múltiples canales & internet y call center\\
                Flota & variedad de aviones & uno o dos tipos\\ \hline
            \end{tabular}
    \end{solution}


    \question Discutir las posibilidades legales y las acciones necesarias para que una empresa privada diseñe, construya y explote un aeropuerto para vuelos comerciales nacionales e internacionales en España.
    \begin{solution}
         Ningún problema, con dos condiciones:
         \begin{itemize}
            \item El aeropuerto debe ser certificado por la Dirección General de Aviación Civil.
            \item No debe ser de interés general. Si lo fuera, sería competencia del Estado, salvo su traspaso mediante Ley orgánica.
         \end{itemize}
    \end{solution}

\end{questions}
% subsection febrero_2011 (end)
% section one (end)


\end{document}

Non working .tex:

\documentclass[a4paper,11pt,spanish,answers]{exam}


%% synctex, para cambiar entre editor y pdf
\synctex=1

%% ampliar margenes 
\usepackage[top=1.5cm, bottom=2cm, left=1cm, right=1.5cm]{geometry}


%% parskip en las minipages
\usepackage[parfill]{parskip}
\newlength{\currentparskip}

%cambiar espaciado en cajas
\setlength{\fboxsep}{5pt}


%%editar listas numeradas
\usepackage{enumitem}
\setlist[enumerate,1]{leftmargin=0cm}

%insertar figuras
\usepackage{graphicx}
\usepackage{float}
\usepackage{rotating}
\usepackage{rotfloat}


%%MULTIPLES COLUMNAS y filas
\usepackage{multirow}
\usepackage{tabularx}


%matematicas
\usepackage{amssymb}
\usepackage{amsfonts}
\usepackage[version=3]{mhchem}
\usepackage{mathtools}
\usepackage{mathabx} 
\everymath{\displaystyle}

\DeclareMathOperator{\sgn}{sgn}

%%%cambiar los iconos de las listas de items
\usepackage{pifont}
\usepackage{textcomp}
%\usepackage{MnSymbol}

%% codigo . idioma
\usepackage[utf8]{inputenc}
\usepackage{babel}

%%%%%eurosymbol
%\usepackage{marvosym}
\usepackage{eurosym}
\DeclareUnicodeCharacter{20AC}{\euro}


%%paquetes para el siunitx
\usepackage[locale = FR]{siunitx}
\usepackage{booktabs}
\usepackage{cancel}
\usepackage{colortbl}
\usepackage{csquotes}
\usepackage{helvet}
\usepackage{mathpazo}
\usepackage[svgnames]{xcolor}
\usepackage{listings}
\usepackage{pgfplots}
\usepackage{translator}
\sisetup{%
per-mode = symbol-or-fraction,%
list-final-separator = { \translate{and} },%
list-pair-separator = { \translate{and} },%
range-phrase = { -- },%
group-digits = integer
}


%%% unidades extra
\DeclareSIUnit\inch{in}
\DeclareSIUnit\foot{ft}
\DeclareSIUnit\kgf{kgf}
\DeclareSIUnit\pound{lb}
\DeclareSIUnit\defs{$\epsilon$}
\DeclareSIUnit\rev{rev}
\DeclareSIUnit\rpm{rpm}
\DeclareSIUnit\pkt{PKT}

%%%%% dineros
\DeclareSIUnit\usd{USD}
\DeclareSIUnit\eur{EUR}
\DeclareSIUnit\euro{\euro}
\DeclareSIUnit\dollar{\$}
\DeclareSIUnit\cent{\textcent}

%%cambiar formato titulos
\usepackage{titlesec}
\titlespacing*{\chapter}{0pt}{-30pt}{10pt}
\titlespacing*{\section} {0pt}{3ex plus 1ex minus .2ex}{1.8ex plus .2ex}
\titlespacing*{\subsection} {0pt}{2.75ex plus 1ex minus .2ex}{1ex plus .2ex}
\titlespacing*{\subsubsection}{0pt}{2.75ex plus 1ex minus .2ex}{1ex plus .2ex}
\titlespacing*{\paragraph} {0pt}{2.75ex plus 1ex minus .2ex}{1em}
\titlespacing*{\subparagraph} {30pt}{1.5ex plus 1ex minus .2ex}{1em}


\titleformat{\section}{\color{Red}\normalfont\Large\bfseries}{\color{Red}\thesection.}{0.5em}{}
\titleformat{\subsection}{\color{NavyBlue}\normalfont\large\bfseries}{\color{NavyBlue}\thesubsection.}{0.5em}{}
\titleformat{\subsubsection}{\color{Green}\normalfont\normalsize\bfseries}{\color{Green}\thesubsubsection.}{0.5em}{}
\titleformat{\paragraph}[runin]{\color{BlueViolet}\normalfont\normalsize\bfseries}{\color{BlueViolet}\theparagraph}{1em}{}
\titleformat{\subparagraph}[runin]{\normalfont\normalsize\bfseries}{\thesubparagraph}{1em}{}



%cambiar el nombre de las figuras
\usepackage{caption}
%\captionsetup[figure]{labelformat=empty}
\renewcommand{\thefigure}{\arabic{section}.\arabic{figure}}
\renewcommand{\figurename}{Fig.}


%%%% cambiar la numeración de las figuras por seccion
\usepackage{chngcntr}
\counterwithin{figure}{section}


% %% TABLAS. AJUSTAR EL TEXTO A LA CELDA
 \usepackage{tabularx}
\newcolumntype{L}{>{\raggedright\arraybackslash}X}%
\newcolumntype{R}{>{\raggedleft\arraybackslash}X}%
\newcolumntype{C}{>{\centering\arraybackslash}X}%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\author{piLi}
\title{Transporte Aéreo.\\ Exámenes}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%% puntos a la derecha
\pointsdroppedatright
\pointsinrightmargin
\bracketedpoints
\marginpointname{pt}



\renewcommand{\thechoice}{\alph{choice}}


%%formato de la solucion
\unframedsolutions
\CorrectChoiceEmphasis{}

%%%%%%%%%%%% solucion sin titulo en cursiva y gris :)
\renewcommand{\solutiontitle}{}
\SolutionEmphasis{\color{Gray}}



%%%% solución multiple %%%%%%%%%%%%%%%%%%%%%%%
\checkboxchar{$\Box$}
\checkedchar{\color{Green}{\ding{52}}}
%\checkedchar{$\boxtimes$}

\newcommand\cosa{%
\hfill\mbox{\begin{oneparcheckboxes}
\choice 
\end{oneparcheckboxes}}}

\newcommand\bien{%
\hfill\mbox{\begin{oneparcheckboxes}
\CorrectChoice 
\end{oneparcheckboxes}}}


%% hyperliks
\usepackage{hyperref} 

%%beter referencing
\usepackage{cleveref}


\begin{document}

%%hacemos el titulo
\maketitle


%% indice
\tableofcontents

\section{One} % (fold)
%%\label{sec:one}
\subsection{FEBRERO 2010} % (fold)
%%\label{sub:febrero_2010}

\begin{questions}
    \question Una compañía aérea opera 3 aviones, cada uno en una ruta diferente, con las siguientes características:

    \begin{tabular}{c | c c c c}
        & Distancia (\si{\kilo\metre}) & Asientos & Coste por vuelo (\si{\euro}) & Ingreso/PKT (\si{\euro}) \\ \hline 
        Ruta 1 & \num{2600} & \num{200} & \num{30000} & \num{0,10} \\
        Ruta 2 & \num{1800} & \num{162} & \num{25000} & \num{0,12} \\
        Ruta 3 & \num{1200} & \num{132} & \num{20000} & \num{0,14} \\
    \end{tabular}

    Calcular el factor de ocupación crítico (cuando los ingresos cubren exactamente los costes) de cada una de las rutas. Calcular el factor de ocupación crítico de la red.
    \begin{solution}
        \begin{align*}
 \text{Ingresos} &= \text{Costes} = PKT\,\times \frac{\text{ingreso}}{PKT } && FOC_1 &= 57,69\% \\
 AKO &= \,\text{distancia}\,\times\,\text{asientos} && FOC_2 &= 71,44\%\\
 FOC & = \frac{PKT}{AKO} && FOC_3 &= 90,19\% \\
 \text{Ingresos (red)} &= \text{costes (red)} && FOC_{red}= 67,13\%\\
 PKT(\text{red}) &= \sum (FOC_i\,\times\,AKO_i)  \\
 FOC(\text{red}) &= \frac{PKT(\text{red})}{AKO(\text{red})} \\
        \end{align*}
    \end{solution}


    \question El presupuesto anual de ayudas a la navegación aérea de un país de la UE es de \SI{400}{\mega\euro}. A lo largo del año se atienden a \num{950000} vuelos, que recorren una distancia media de \SI{500}{\kilo\metre} en su espacio aéreo. Calcular el valor medio del MTOW de los aviones si el coeficiente de coste $t=\SI{80}{\euro}$ y se acaba el año con un deficit de \SI{20}{\mega\euro}.
    \begin{solution}
         \begin{minipage}[c]{.5\textwidth}
            \begin{align*}
                N & = d \times p && p = \sqrt{\frac{MTOW \si{\tonne}}{50}}\\
                r &= t \times N
            \end{align*}
         \end{minipage} \begin{minipage}[c]{.4\textwidth}
            \begin{itemize}
                \item[$d$] coeficiente de distancia. Vale 1 para cada \SI{100}{\kilo\metre}
                \item[$p$] coeficiente de peso   
                \item[$r$] es lo que paga cada vuelo  
            \end{itemize}
         \end{minipage}
    \end{solution}


    \question ¿Cuales son las principales diferencias entre Doble código, Código compartido y Bloqueo de espacio?
    \begin{solution}
         \begin{description}
            \item[Doble código] es la comercialización paralela de todos los asientos de un vuelo de un mismo avión por dos compañías distintas (ejemplo: IB3400/BA7800)
            \item[Código compartido] es la comercialización de partes diferenciadas de un mismo avión por dos compañías distintas (ejemplo: IB/BA 5100, con el 60\% de asientos para IB y el 40\% para BA)
            \item[Bloqueo de espacio] es la compra por una compañía de un número fijo de asientos de un vuelo de otra empresa, comercializándolos de manera independiente.
         \end{description}
    \end{solution}


    \question Una compañía aérea abre un hub en Zaragoza, ofreciendo un vuelo diario de ida y vuelta a La Coruña, Santiago de Compostela, Bilbao, Gerona, Barcelona, Alicante y Sevilla. Razonar cuántos puntos a puntos comercializables ofrece.
    \begin{solution}
         El sistema de Hub\&Spoke ofrecería $7$ vuelos de ida y vuelta sin escala y otros $21$ punto a punto con escala en Zaragoza. Sin embargo, la excesiva proximidad de La Coruña y Santiago, y de Barcelona y Gerona hace imposible vender esos punto a punto con escala en Zaragoza, por lo que habría $7+19 = 26$ punto a punto comercializables.
    \end{solution}


    \question ¿Cuál ha sido el periódico histórico de mayor crecimiento del transporte aéreo español después de la Guerra Civil? ¿A qué se debió principalmente ese crecimiento?
    \begin{solution}
         El período de expansión (1960-1979) por el cambio de política económica (lanzamiento de los Planes de Desarrollo) y el fomento del tráfico turístico con el norte de Europa, ayudado por la liberalización de los vuelos chárter por la ECAC en 1956
    \end{solution}
\end{questions}
% subsection febrero_2010 (end)

% section one (end)


\end{document}
  • @cgnieder I didn't want to change anything else because I really don't know how to edit a class file, I just felt that adding something like that would work. I need help to do anything else. – piptin Aug 8 '14 at 15:50
  • 1
    I think this is something to do with \euro (and unrelated to the exam document class and your changes to that file). Try to reduce the size of your example by deleting code that does not affect the problem. – Ian Thompson Aug 8 '14 at 15:51
  • @IanThompson I removed the line \DeclareUnicodeCharacter{20AC}{\euro}, the package \usepackage{eurosym} and changed the unit with \euro to \DeclareSIUnit\euro{\texteuro} and now everything works again!! so many thanks – piptin Aug 8 '14 at 16:05
  • @IanThompson would you like to write an answer since I can't mark that your comment answered my question. :) – piptin Aug 9 '14 at 8:01
4

This is caused by a problem with the euro symbol; it is unrelated to the exam document class and the adjustments you have made. Deleting code that does not affect the problem from your example results in the following.

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{eurosym}
\DeclareUnicodeCharacter{20AC}{\euro}
\usepackage{siunitx}
\DeclareSIUnit\euro{\euro}
\begin{document}
\si{\euro}
\end{document}

I'm not familiar with the siunitx package, so I'm not sure what you are trying to achieve here, but this is the issue that you need to fix.

| improve this answer | |
  • I was trying to use the \euro symbol from the eurosym package which is the "official" since I don't really like the looks of the \texteuro symbol. But if using it fixes my problem then so be it. – piptin Aug 9 '14 at 10:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.