0

I have the following figure, which displays 3 graphics horizontally:

\begin{figure}[bth]
    \myfloatalign
    \subfloat[A]{\label{fig:a}%
    \includegraphics[width=.31\linewidth]{a}} \enskip
    \subfloat[B]{\label{fig:b}%
    \includegraphics[width=.31\linewidth]{b}} \enskip
    \subfloat[C]{\label{fig:c}%
    \includegraphics[width=.31\linewidth]{c}}
    \caption{Stackexchange example.}
    \label{fig:timer}
\end{figure}

I then go on to use \autoref{fig:b}, which outputs only 1a. Usually when I autoref to figures, I get Figure1.

I use arsclassica, which is derived from classicthesis.

Is there any way to make LaTeX output Figure 1a, Figure 1b, etc. instead of just 1a, 1b?

Here's my preamble:

\documentclass[10pt,a4paper,twoside,openright,titlepage,fleqn,headinclude,,footinclude,BCOR5mm,numbers=noenddot,cleardoublepage=empty]{scrreprt}

\usepackage[american]{babel}
\usepackage[applemac]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath,amssymb,amsthm}
\usepackage{varioref}
\usepackage[style=numeric,natbib,hyperref,maxbibnames=99]{biblatex}
\usepackage{chngpage}
\usepackage{calc}
\usepackage{listings}
\usepackage{csquotes}
\usepackage{graphicx}
\usepackage{subfig}
\usepackage{multicol}
\usepackage{makeidx}
\usepackage{fixltx2e}
\usepackage{relsize}
\usepackage{lipsum}
\usepackage[scaled]{beramono}
\usepackage[eulerchapternumbers,subfig,eulermath,pdfspacing,listings]{classicthesis}
\usepackage{arsclassica}
\usepackage{todonotes}
\usepackage{pgfplots}
\usepgfplotslibrary{dateplot}
\pgfplotsset{compat=1.7}

\usepackage{tabularx}

\input{arsclassica-settings}

\usepackage{xcolor}

\newcommand\Small{\fontsize{8}{8.2}\selectfont}
\newcommand*\LSTfont{\Small\ttfamily\SetTracking{encoding=*}{-60}\lsstyle}

\colorlet{punct}{red!60!black}
\definecolor{delim}{RGB}{20,105,176}
\colorlet{numb}{magenta!60!black}

\lstdefinelanguage{json}{
    basicstyle=\LSTfont,
    columns=fixed,
    numbers=left,
    numberstyle=\scriptsize,
    stepnumber=1,
    numbersep=8pt,
    showstringspaces=false,
    literate=
     *{:}{{{\color{punct}{:}}}}{1}
      {,}{{{\color{punct}{,}}}}{1}
      {\{}{{{\color{delim}{\{}}}}{1}
      {\}}{{{\color{delim}{\}}}}}{1}
      {[}{{{\color{delim}{[}}}}{1}
      {]}{{{\color{delim}{]}}}}{1},
}

\newcommand\chap[1]{%
  \chapter*{#1}%
  \addcontentsline{toc}{chapter}{#1}}

\begin{document}
\pagenumbering{roman}
\pagestyle{plain}

\end{document}

Many thanks!

3
  • 1
    Please make your code compilable (if possible), or at least complete it with \documentclass{...}, the required \usepackage's, \begin{document}, and \end{document}. That may seem tedious to you, but think of the extra work it represents for TeX.SX users willing to give you a hand. Help them help you: remove that one hurdle between you and a solution to your problem.
    – Adam Liter
    May 6, 2014 at 18:05
  • That's not exactly what I meant ... you might want to take a look at what a minimal working example (MWE) is.
    – Adam Liter
    May 6, 2014 at 18:29
  • I got the same problem and found the solution here: tex.stackexchange.com/a/91199
    – yigitsoy
    May 24, 2015 at 11:54

2 Answers 2

2

I don't use the autoref command myself, but I use the cleveref package. Is there any reason you can't use that? I have just tried autoref and get the same behaviour that you do (i.e. it prints

Figure 1

for a whole figure and

1a

for a subfigure. Cleveref will produce the output you want I think. Here is a minimal example that you can probably adapt.

\documentclass[12pt, a4paper, oneside, fleqn]{report}

\usepackage{hyperref}
\usepackage[noabbrev]{cleveref}      % reference object types automatically

%Things to do with figures
%-------------------------
\usepackage{graphicx}      % needed for including graphics
\usepackage{grffile}
\usepackage{epstopdf}
\graphicspath{{figures/}}
\usepackage[singlelinecheck=0,font={sf,small},labelfont=bf]{caption, subfig}
\captionsetup[subfigure]{subrefformat=simple,labelformat=simple,listofformat=subsimple,justification=raggedright}

\begin{document}

\begin{figure}
  \centering
  \subfloat[{Subfig 1}]{\label{fig:part1}\includegraphics[clip=true, scale=0.3]{figures/fig1.eps}}\qquad
  \subfloat[{Subfig 2}]{\label{fig:part2}\includegraphics[clip=true, scale=0.3]{figures/fig2.eps}}
  \caption{Caption}
  \label{fig:full_fig}
\end{figure}

Refer to \autoref{fig:part1} and \autoref{fig:full_fig} and \cref{fig:part1}

\end{document}
4

yigitsoy answered this with a link in a comment:

You can use \newcommand{\subfigureautorefname}{\figureautorefname} to make \autoref work with \subfloat.

This worked fine for me.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .