[Tex/LaTex] TeXLive problem with the default MLA package, \ifpdf seems to be undefined

compilingerrorsmla-style

As I'm compiling an example document to a PDF, which worked on the Ubuntu repository's version of TeXLive, but now on the install that I ran last night, things are broken.

This is the output I get when compiling, and below is listed the file that I'm compiling. Do you have any ideas as to what is the problem, or at least how I could fix it?

\documentclass[12pt,letterpaper]{article}

\usepackage{mla}
\usepackage{setspace}
\usepackage{calc}

\begin{document}

\begin{mla}{Christopher}{Cooper}{Mrs.~Mills}{English 9 H}{27 October 2012}{An Exploration}

%body here

\end{mla}

\end{document}

gives log

This is pdfTeX, Version 3.1415926-2.4-1.40.13 (TeX Live 2012)
 restricted \write18 enabled.
entering extended mode
(./poem.tex
LaTeX2e <2011/06/27>
Babel <v3.8m> and hyphenation patterns for english, dumylang, nohyphenation, ge
rman-x-2012-05-30, ngerman-x-2012-05-30, afrikaans, ancientgreek, ibycus, arabi
c, armenian, basque, bulgarian, catalan, pinyin, coptic, croatian, czech, danis
h, dutch, ukenglish, usenglishmax, esperanto, estonian, ethiopic, farsi, finnis
h, french, friulan, galician, german, ngerman, swissgerman, monogreek, greek, h
ungarian, icelandic, assamese, bengali, gujarati, hindi, kannada, malayalam, ma
rathi, oriya, panjabi, tamil, telugu, indonesian, interlingua, irish, italian, 
kurmanji, latin, latvian, lithuanian, mongolian, mongolianlmc, bokmal, nynorsk,
 polish, portuguese, romanian, romansh, russian, sanskrit, serbian, serbianc, s
lovak, slovenian, spanish, swedish, turkish, turkmen, ukrainian, uppersorbian, 
welsh, loaded.
(/usr/local/texlive/2012/texmf-dist/tex/latex/base/article.cls
Document Class: article 2007/10/19 v1.4h Standard LaTeX document class
(/usr/local/texlive/2012/texmf-dist/tex/latex/base/size12.clo))
(/usr/local/texlive/2012/texmf-dist/tex/latex/mla-paper/mla.sty
MLA Package - by Ryan Aycock
! Undefined control sequence.
l.67 \ifpdf
            % We're generating a pdf
? 

Best Answer

It looks like the mla package is defective as it uses \ifpdf without any mechanism to define it. However, the simple step of loading the ifpdf package seems to fix things

\documentclass[12pt,letterpaper]{article}
\usepackage{ifpdf}

\usepackage{mla}
\usepackage{setspace}
\usepackage{calc}

\begin{document}

\begin{mla}{Christopher}{Cooper}{Mrs.~Mills}{English 9 H}{27 October 2012}{An Exploration}

%body here

\end{mla}

\end{document}

(I'm suspicious of why mla is testing for PDF mode, but that is a separate thing.)