
Estoy escribiendo un algoritmo usando lstlisting:
\lstset{language=C++}
\begin{lstlisting}[frame=single,caption=Algorithme de la méthode "HOG+SVM"]
HOGDescriptor hog;\\
hog.setSVMDetector(HOGDescriptor::getDefaultPeopleDetector());\\
while(1)
{
Mat image=imread("image.jpg");
vecor<Rect> detected_persons;
hog.detectMultiScale(image,detected_persons, 0, Size(8,8), Size(32,32), 1.05, 2);
for(int i=0;i<detected_persons.size();i++)
{
rectangle(image, detected_persons[i], cv::Scalar(0,255,0),1,8,0);
}
imshow("image",image);
}
\end{lstlisting}
Pero obtuve tal resultado con este algoritmo: mostrar¿Cómo arreglar eso?
Respuesta1
El lstlisting
entorno no siempre es agradable para las largas colas, como habrás notado. Hay alternativas (por ejemplo, minted
), pero puede ajustar la lstlisting
salida para que se vea mejor.
Por ejemplo, el tamaño básico se puede establecer en pequeño, las líneas se pueden ajustar (e indicar como tales) y la sangría se puede hacer más pequeña. El siguiente MWE ha sido parcheado desdelistados: Establecer el tamaño de tabulación mientras se usan espacios para sangría en el archivo cargado no funcionay ajuste de línea de listadoy eliminar manualmente la sangría de nivel superior.
\documentclass{article}
\usepackage{amsmath}
\usepackage{xcolor}
\usepackage{listings}
\lstset{
language=C++,
basicstyle=\small, % font size
breaklines=true, % line wrap
postbreak=\raisebox{0ex}[0ex][0ex]{\ensuremath{\color{red}\hookrightarrow\space}}, % arrow on wrapped lines
literate={\ \ }{{\ }}1 % adjust tab size
}
\begin{document}
\begin{lstlisting}[frame=single,caption=Algorithme de la m\'{e}thode "HOG+SVM"]
HOGDescriptor hog;
hog.setSVMDetector(HOGDescriptor::getDefaultPeopleDetector());
while(1)
{
Mat image=imread("image.jpg");
vecor<Rect> detected_persons;
hog.detectMultiScale(image,detected_persons, 0, Size(8,8), Size(32,32), 1.05, 2);
for(int i=0;i<detected_persons.size();i++)
{
rectangle(image, detected_persons[i], cv::Scalar(0,255,0),1,8,0);
}
imshow("image",image);
}
\end{lstlisting}
\end{document}