lstlisting을 사용하여 알고리즘 형식을 지정하는 방법

lstlisting을 사용하여 알고리즘 형식을 지정하는 방법

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}

하지만 나는 이 알고리즘과 같은 결과를 얻었습니다. 표시하다문제를 해결하는 방법은 무엇입니까?

답변1

lstlisting아시다시피 긴 줄의 환경이 항상 좋아 보이는 것은 아닙니다 . 대안(예: )이 있지만 더 보기 좋게 출력을 minted조정할 수 있습니다 .lstlisting

예를 들어, 기본 크기를 작게 설정할 수 있고, 줄 바꿈(및 그렇게 표시)할 수 있으며, 들여쓰기를 더 작게 설정할 수 있습니다. 다음 MWE는 다음에서 함께 패치되었습니다.목록: 로드된 파일에서 들여쓰기에 공백을 사용하는 동안 탭 크기를 설정하면 작동하지 않습니다.그리고 목록 줄 바꿈최상위 들여쓰기를 수동으로 제거합니다.

\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}

결과: 여기에 이미지 설명을 입력하세요

관련 정보