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

  • 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 Sep 20 '18 at 11:55
  • @daleif currently Map appearing after table that is Figure Table Maps it should be Figure Map Table – Shalu Sep 20 '18 at 11:59
  • I do not understand the use of endfloat together with the h! specifier. What is the desired result? – Denis Sep 20 '18 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 Sep 20 '18 at 13:49
  • I have updated the question, Please see the image – Shalu Sep 20 '18 at 14:16
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.

  • You can also use [nofigures,notables] and put them into any order you want. – John Kormylo Sep 20 '18 at 20:46
  • BTW: Should be mentioned in the endfloat documentation. Will do so (and upload to CTAN) this week-end. – user2574 Sep 20 '18 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 Sep 21 '18 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 Sep 21 '18 at 13:10

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.