3

I have created new float(Map) in my document and I have used endfloat package but the problem is "List of Maps" should show after "List of Figures" currently Map appearing after table Plese see the below code

\documentclass{article}
\usepackage[demo]{graphicx}

\usepackage{float,endfloat}
\usepackage{lipsum}
\newfloat{map}{tbp}{lomap}
\floatname{map}{Map}
\DeclareDelayedFloat{map}{Maps}

\begin{document}
\title{Sample Title}
\date{}
\maketitle
\lipsum*[1] 
\begin{table}[h!]
  \begin{center}
    \caption{Your first table.}
    \label{tab:table1}
    \begin{tabular}{l|c|r} % <-- Alignments: 1st column left, 2nd middle and 3rd right, with vertical lines in between
      \textbf{Value 1} & \textbf{Value 2} & \textbf{Value 3}\\
      $\alpha$ & $\beta$ & $\gamma$ \\
      \hline
      1 & 1110.1 & a\\
      2 & 10.1 & b\\
      3 & 23.113231 & c\\
    \end{tabular}
  \end{center}
\end{table}
\lipsum*[2] 

\begin{figure}
\centering
\includegraphics{x}
\caption{A figure}
\end{figure}
\lipsum*[3] 
\begin{map}
\centering
\includegraphics{x}
\caption{A map}
\end{map}

\end{document}

When I use the following code List of Map disappeared

\DeclareDelayedFloat{map}[fff]{Maps}

Current Output

enter image description here

Expected Output

enter image description here

6
  • You might want to rephrase your question. Do you want the LoM right after the LoF and then the figures and maps? If I run your mwe I get LoF, figures, LoM, maps
    – daleif
    Commented Sep 20, 2018 at 11:55
  • @daleif currently Map appearing after table that is Figure Table Maps it should be Figure Map Table
    – Shalu
    Commented Sep 20, 2018 at 11:59
  • I do not understand the use of endfloat together with the h! specifier. What is the desired result?
    – Denis
    Commented Sep 20, 2018 at 13:41
  • @Denis Current output ---------------- 1)List of Figures 2)List of Tables 3)List of Maps It Should Be 1)List of Figures 2)List of Maps 3)List of Tables
    – Shalu
    Commented Sep 20, 2018 at 13:49
  • I have updated the question, Please see the image
    – Shalu
    Commented Sep 20, 2018 at 14:16

1 Answer 1

3

Unfortunately I currently have no access to a TeX installation (and therefore can't try my solution out), but the following should work:

...
\usepackage{float}
\newfloat{map}{tbp}{lomap}
\floatname{map}{Map}

\usepackage[notables]{endfloat}
\DeclareDelayedFloat{map}{Maps}
\DeclareDelayedFloat{table}[ttt]{Tables}
...

The trick here is using the notables option which prevents table from being appended to the internal list of floating environments to be processed later on. This way you could add map before table to the list with \DeclareDelayedFloat.

Note: notables was introduced in v2.6 of the endfloat package. If an older version of endfloat is used (i.e. v2.5), the package option figuresonly should work fine here, too.

4
  • You can also use [nofigures,notables] and put them into any order you want. Commented Sep 20, 2018 at 20:46
  • BTW: Should be mentioned in the endfloat documentation. Will do so (and upload to CTAN) this week-end.
    – user2574
    Commented Sep 20, 2018 at 21:04
  • @AxelSommerfeldt there is no other way? \if@tablesfirst \ifefloat@tables \DeclareDelayedFloat{table}[ttt]{Tables} \fi \ifefloat@figures \DeclareDelayedFloat{figure}[fff]{Figures} \fi \else \ifefloat@figures \DeclareDelayedFloat{figure}[fff]{Figures} \DeclareDelayedFloat{chart}{Chart} \fi \ifefloat@tables \DeclareDelayedFloat{table}[ttt]{Tables} \fi \fi
    – Shalu
    Commented Sep 21, 2018 at 11:43
  • @Shalu Why do you want another way? It's difficult to offer a different way as long as I don't know what's wrong with this way. Furthermore it's unclear to me why do you post (modified) internal code of the endfloat package. BTW: Using internal code from packages in documents is usually a bad idea since this could change in future versions of the package.
    – user2574
    Commented Sep 21, 2018 at 13:10

You must log in to answer this question.

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