13

I have an ascii image like

+---------------
|  xxxxxxx
+---------------
|  xxxxxxx
+---------------

I want to show this in figure environment. So currently I try like this:

\begin{figure}
    \lstinputlisting{src.ascii}
    \caption{xxx}
    \label{fig:xxx}
\end{figure}

which works, except for some subtlities with table of listings and table of figures settings. The above codes treat src.ascii as listing which counters my mind that src.ascii is, exactly, a figure.

I think I should either export the ascii file as an eps file or set listing package to omit some source input. How could I achieve it?

Thanks and Best regards.


A MWC

\documentclass{report}
\usepackage[procnames]{listings}

\begin{document}

\lstlistoflistings
\listoffigures

\begin{figure}
    \lstinputlisting{xxx.ascii}
    \caption{xxx}
    \label{fig:xxx}
\end{figure}
\end{document}

And an example ascii image:

+-----------------+
|                 |
+-----------------+
yo'
  • 51,322

2 Answers2

19

There are many ways to have "real" figures in LaTeX text, but if you insist on ASCII art (e.g. to show old-fashioned illustrations in RFCs), then the following works:

\begin{figure}
\begin{verbatim}
 +-----------------+
 |                 |
 +-----------------+
\end{verbatim}
\caption{Box in an old RFC}
\label{fig:ascii-box}
\end{figure}
Boris
  • 38,129
9

As Boris mentioned, you can use verbatim which will not add anything to \lstlistoflistings, but if you still wanted to use the listings package for some reason (e.g. if you need more advanced formatting than provided by verbatim), just use the nolol (no list-of-listings) option:

\begin{figure}
    \lstinputlisting[nolol]{xxx.ascii}
    \caption{xxx}
    \label{fig:xxx}
\end{figure}
codebeard
  • 1,285