I want to decrease the line spaces of the java codes in the following latex. I already used \setstretch{0.4} but it seems that this code does not work for listing contents. how should I do this??
\begin{filecontents*}{FristProgram.java}
import java.io.*;
class ShowFile
{
}
\end{filecontents*}
\documentclass[svgnames]{report}
\usepackage{tikz}
\usepackage{verbatim}
\usepackage{kpfonts}
\usepackage[explicit]{titlesec}
\usetikzlibrary{calc}
\usetikzlibrary{shadows}
\usetikzlibrary{shadows.blur}
\usetikzlibrary{matrix}
\usetikzlibrary{shapes,snakes}
\usetikzlibrary{shapes.geometric, arrows}
\usepackage{listings}
\usepackage{showframe}
\definecolor{codegreen}{rgb}{0,0,0}
\definecolor{codegray}{rgb}{0,0,0}
\definecolor{codepurple}{rgb}{0,0,0}
%\definecolor{backcolour}{rgb}{0.95,0.95,0.92}
\definecolor{backcolour}{rgb}{1,1,1}
\lstdefinestyle{mystyle}{
backgroundcolor=\color{backcolour},
commentstyle=\color{codegreen},
numberstyle=\tiny\color{codegray},
stringstyle=\color{codepurple},
basicstyle=\normalsize\ttfamily,
breakatwhitespace=false,
breaklines=true,
captionpos=b,
keepspaces=true,
numbers=none,
numbersep=5pt,
showspaces=false,
showstringspaces=false,
showtabs=false,
tabsize=4,
lineskip=.1cm
}
\lstset{style=mystyle}
\begin{document}
\tikzstyle{Container} = [draw=none, fill=gray, thick,
rectangle, rounded corners, inner sep=10pt, inner ysep=20pt]
\tikzstyle{ProgramBox} = [draw=black, fill=white,thick,
rectangle, rounded corners, inner sep=10pt, inner ysep=20pt,drop shadow={color=black}
]
\tikzstyle{ExampleBox} = [draw=black, fill=white, thick,
rectangle, rounded corners, inner sep=10pt, inner ysep=20pt,drop shadow={color=black}]
{\centering
\begin{tikzpicture}
\label{num}
\node [Container](container){
\begin{tikzpicture}
\node [ProgramBox] (pbox){%
\begin{minipage}{\dimexpr\textwidth-40pt\relax}
\hrule width \hsize height 1pt
\lstinputlisting[language=Java]{FristProgram.java}
\hrule width \hsize \kern 1mm \hrule width \hsize height 1pt
\end{minipage}
};
\end{tikzpicture}
};
\node [ExampleBox, anchor=north west] at (container.south west) {
\begin{minipage}{0.3\textwidth}
this\\
is \\
the \\
first \\
example
\end{minipage}
};
\node [ExampleBox, anchor=north east] at (container.south east) {
\begin{minipage}{0.3\textwidth}
this\\
is \\
the \\
second \\
example \\
which \\
is \\
larger\\
than \\
first\\
example
\end{minipage}
};
\end{tikzpicture}%
\par}
\end{document}



\ttfamilyand the same text as the “first example”, you'll see that the heights are essentially the same. You can trybasicstyle=\linespread{0.9}\normalfont\ttfamily, if you so prefer. – egreg Sep 19 '18 at 10:56