Display appendix section title like “Appendix A My Code Listing”?

I'm using the document class scrartcl and appendix. This currently results in a letter instead of a number for section enumeration in the TOC and section title ("A My Code Listing"). I need to change this to "Appendix A My Code Listing", i.e. add the word "Appendix" to the section title.

I have found a manual workaround on http://web.reed.edu/cis/help/latex/thesis#appendices but would like to know if there is a way to change this automatically.

-
should it as "Appendix ..." in the table of contents, too? –  Herbert Jan 7 '11 at 13:43
Actually, there should be a seperate table of contents for the appendices. But I'm not into LaTeX so much, so I cannot make much of tex.stackexchange.com/questions/8211/list-of-appendices. –  None Jan 7 '11 at 13:53

\documentclass[toc=left]{scrartcl}

\begin{document}
\tableofcontents

\section{foo} bar

\appendix
\gdef\thesection{Appendix \Alph{section}}
\section{foo} bar
\section{foo} bar

\end{document}

-
One should note, that this also adds “Appendix” to every reference to an appendix (e.g. in the toc or via \ref). –  Caramdir Jan 7 '11 at 16:55

KOMA-Script has a mechanism for this. If you use scrreprt or scrbook, then you only need to add the appendixprefix option to \documentclass. For scrartcl, there is a description in the manual (section 16.3 “Expert Commands”): Just add

\usepackage{ifthen}

\newcommand*{\appendixmore}{%
\renewcommand*{\othersectionlevelsformat}[1]{%
\ifthenelse{\equal{##1}{section}}{\appendixname~}{}%
\csname the##1\endcsname\autodot\enskip}
\renewcommand*{\sectionmarkformat}{%
\appendixname~\thesection\autodot\enskip}
}


You should use \KOMAoptions{appendixprefix=true}. This behavior is documented in the KOMA-Script guide, as scrartcl is part of KOMA-Script. The \appendixmore-trick is not needed.
Unfortunately, this doesn't work with scrartcl (version 2011/06/16 v3.09a): ! Package scrkbase Error: unknown KOMA option 'appendixprefix'. This is even documented in the manual, as Caramdir pointed out. –  diabonas Feb 17 '12 at 18:01