6

In the memoir class, how can I create two versions of the figure float environment which behave the same way, but have different names and are each numbered and listed in their own sequence?

Specifically, I have a variety of images which have been inserted using figure floats, but now the images that are maps need to be separated from the rest of the images: that is, I want "Map 1" to be different from "Figure 1", and I need a separate list of "Maps" and "Figures" at the beginning (basically by calling something like \listofmaps as well as \listoffigures). I've read over the basics on custom floats, but am not sure how to just create a renamed clone of the original figure float while also retaining the original environment.

  • Yes, this seems to be more or less what I want, thanks, though I'm not surprised it didn't turn up in my searches. However, it doesn't seem to be working quite right--it's ignoring the name ("Map") which I've given to the new float and instead labelling it as "Illustration", and won't actually add the floats to the list... So not sure what's up with that. – Erika Mar 26 at 13:33
  • (More specifically, it seems to call it "map" on the first compile, and then switches to "Illustration"...) – Erika Mar 26 at 13:37
  • 2
    OK, actually, I found this question: tex.stackexchange.com/questions/191346/… What ended up working for me was a combination of the two suggestions: \newfloat{map}{htbp}{map}\floatname{map}{Map} \newlistof{listofmaps}{map}{List of Maps} \newlistentry{map}{map}{0} – Erika Mar 26 at 13:50
  • I tried your code in a memoir document and it did not work. memoir has its own methods; see Chapter 10 in the manual (> texdoc memoir). I would like the question re-opened so that I can provide an answer that is natively supported by the class. – Peter Wilson Mar 26 at 18:55
5

The memoir class provides its own methods for defining new float types, see Chapter 10 in the manual (> texdoc memoir). Below is an example (less any of my typos).

\documentclass{memoir}
\usepackage{lipsum}
\newcommand{\mapname}{Map} % for the caption
\newfloat{map}{lom}{\mapname} % float named map, data written to file with extension lom
\newcommand{\listmapname}{{List of Maps} % list heading
\newlistof{\listofmaps}{lom}{\listmapname}
\newlistentry{map}{lom}{0}

\begin{document}
\listofmaps
\clearpage
\lipsum
\begin{map}
\centering
 THIS IS A MAP EVEN IF IT DOESN'T LOOK IT
\caption{A map}
\end{map}

\end{document}

More detailed explanations are given in the manual.

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.