14

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:

+-----------------+
|                 |
+-----------------+
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}
  • how to scale it? eg ascii art is too big – qrtLs Apr 29 at 23:02
  • 1
    {\tiny\begin{verbatim}...\end{verbatim}} will work – Boris Apr 30 at 20:09
  • Yes, there is no need to embed it inside a figure – debuti Jul 31 at 14:13
10

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}

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.