\documentclass[b5paper,10pt]{jsarticle}
\usepackage[deluxe]{otf}
\usepackage[svgnames]{xcolor}
\usepackage{txfonts, listings, jlisting}
% listings.sty
\lstdefinelanguage{IOA}{%
keywords={}, basicstyle=\ttfamily,
texcl=true, escapeinside=`', % TeX の命令を使えるようにする
keepspaces=true, tabsize=5,
basewidth=0.5em, % 文字間隔を少し縮める
}
\begin{document}
\begin{lstlisting}[language=IOA]
(%i1) monte(n) := block([k: 0],
for i: 1 thru n do if random(1.0)^2 + random(1.0)^2 < 1 then k: k + 1,
float(4 * k / n)
);
(%o1) monte(n) := block([k : 0], for i thru n
2 2 4 k
do if random (1.0) + random (1.0) < 1 then k : k + 1, float(---))
n
(%i2) monte(10000);
(%o2) 3.1256
\end{lstlisting}
\end{document}
\documentclass[b5paper,10pt]{jsarticle}
\usepackage[deluxe]{otf}
\usepackage[svgnames]{xcolor}
\usepackage{txfonts, listings, jlisting}
% listings.sty
\lstdefinelanguage{IOB}{%
keywords={}, basicstyle=\ttfamily,
texcl=true, escapeinside=`', % TeX の命令を使えるようにする
keepspaces=true, tabsize=5,
frame=single, rulecolor=\color{white}, framesep=6pt, % ダミーの罫線を入れる
backgroundcolor=\color{LavenderBlush}, % 背景に色を付ける
xleftmargin=6pt, xrightmargin=6pt, % framesep の値に合わせる
basewidth=0.5em, % 文字間隔を少し縮める
numbers=left, numberstyle=\footnotesize, numbersep=12pt
}
\begin{document}
\begin{lstlisting}[language=IOB]
(%i1) monte(n) := block([k: 0],
for i: 1 thru n do if random(1.0)^2 + random(1.0)^2 < 1 then k: k + 1,
float(4 * k / n)
);
(%o1) monte(n) := block([k : 0], for i thru n
2 2 4 k
do if random (1.0) + random (1.0) < 1 then k : k + 1, float(---))
n
(%i2) monte(10000);
(%o2) 3.1256 `\hfill{← $\pi$ の近似値}'
\end{lstlisting}
\end{document}
\newenvironment{IO}{
\VerbatimEnvironment%
\definecolor{shadecolor}{cmyk}{0.2, 0, 0.25, 0}%
\setlength{\topsep}{0.5¥topsep}
\begin{shaded}%
\setlength{\baselineskip}{0pt}
\begin{Verbatim}[tabsize=4, baselinestretch=0.8,
frame=single, framerule=0pt, framesep=3pt]%
}{
\end{Verbatim}%
\end{shaded}%
}
\documentclass[b5paper,10pt]{jsarticle}
\usepackage[deluxe]{otf}
\usepackage[svgnames]{xcolor}
\usepackage{txfonts, listings, jlisting}
% listings.sty
\lstdefinelanguage{Maxima}{%
morekeywords={%
algsys, alphacharp, append,
bfloat, block,
charlist, cint, color, cons,
diff, disp, divide, do, draw2d,
else, elseif, endcons, endcons, evenp, explicit,
false, float, for,
ident, if, in,
karatsuba,
length, line_width,
makelist, matrix,
oddp,
point_size, point_type, points, print, printf,
random, read_list, realonly, rest, return,
sdowncase, sqrt, subst, sum,
then, thru, times, true,
user_preamble,
while,
zerolist
},
texcl=true, escapeinside=`',
numbers=left, numberstyle=\footnotesize,
numbersep=12pt, tabsize=4, breaklines=true,
frame=single, framerule=0.4pt, framesep=6pt
}
\begin{document}
\begin{lstlisting}[language=Maxima]
monte(n) := block([k: 0],
for i: 1 thru n do if random(1.0)^2 + random(1.0)^2 < 1 then k: k + 1,
float(4 * k / n)
);
\end{lstlisting}
\end{document}