# How display LaTeX code in LaTeX document?

I'm making Beamer presentation. How I can display LaTeX code inside presentation?

• Oct 14, 2010 at 6:31

Either simply within the verbatim environment or more sophisticated with the listings package.

• Remember that any frames containing a verbatim or lstlisting material must be passed the 'fragile' parameter, i.e. \begin{frame}[fragile] .... \end{frame} Oct 14, 2010 at 6:52
• And don't get scared when you get a "file ended while scanning" error, it means that the \end{frame} of a fragile frame is not at the beginning of a line (but should be). Dec 4, 2010 at 22:04

If you want the input LaTeX codes displayed together with their corresponding outputs side by side (left/right or top/bottom), use showexpl.sty. It is a really cool package.

There are 2 modes:

1. the input code is inserted into your document, or
2. the input code is imported from external file.

EDIT 1:

The following figure shows showexpl.sty in action:

And the corresponding code is given as follows: Note: I gave some comments in the code to make it clearer.

\documentclass[final,dvipsnames]{article}
\usepackage[hmargin=70mm]{geometry}
\usepackage{xcolor}
\usepackage{bera}

\usepackage{caption}
\captionsetup{%
margin=0em,
font={scriptsize,rm},
labelfont={color=Maroon,bf},
justification=justified,%default: RaggedRight. Other options: justified, centering
}
\usepackage{showexpl}
\usepackage{etoolbox}
\makeatletter
\patchcmd{\SX@codeInput}{xleftmargin=0pt,xrightmargin=0pt}{}
{\typeout{***Successfully patched \protect\SX@codeInput***}}
{\typeout{***ERROR! Failed to patch \protect\SX@codeInput***}}
\makeatother
\lstset{%
breaklines=true,%default : false
breakindent=10pt,%default: 20pt
linewidth=\linewidth,%default : \linewidth,
basicstyle=\ttfamily\tiny,% cannot take arguments
keywordstyle=\color{Blue}\sffamily\bfseries,
identifierstyle=\color{Black},
stringstyle=\rmfamily,
showspaces=false,%default false
showstringspaces=false,%default: true
backgroundcolor=\color{Yellow!30},
frame=single,%default frame=none
rulecolor=\color{Red},
% the following must be defined to make hacking work.
framerule=0.4pt,%expand outward
framesep=3pt,%expand outward
xleftmargin=3.4pt,%to make the frame fits in the text area.
xrightmargin=3.4pt,%to make the frame fits in the text area.
tabsize=2%,%default :8 only influence the lstlisting and lstinline.
}
\lstset{%
%explpreset below will affect LTX only.
explpreset={%
language={[LaTeX]TeX},
captionpos=t,
aboveskip=2\fboxsep,
pos=b,
vsep=\fboxsep%vertical space between formatted and input.
}%
}

\newcommand\mywidth{0.5\linewidth}

\newcommand\dummy{%
Thank you to those who never get tired of helping me.
Thank you to those who never get tired of helping me.
Thank you to those who never get tired of helping me.
Thank you to those who never get tired of helping me.
Thank you to those who never get tired of helping me.
}

\begin{document}
\begin{LTXexample}[caption=\dummy]
\dummy
\begin{enumerate}
\item $\displaystyle \lim_{x\to 8}\frac{1}{(x-8)^2}=+\;\rotatebox{90}{$8$}$
\item $\displaystyle \lim_{x\to 7}\frac{1}{(x-7)^2}=+\;\rotatebox{90}{$7$}$
\item $\displaystyle \lim_{x\to 6}\frac{1}{(x-6)^2}=+\;\rotatebox{90}{$6$}$
\end{enumerate}
\end{LTXexample}
\end{document}


How about to use verbatiminput? If you have the LaTeX examples in a file?

\usepackage{verbatim}
\verbatiminput{ my_test.tex }