내부에 Python 코드가 포함된 2열 레이아웃 - 겹치는 문제

내부에 Python 코드가 포함된 2열 레이아웃 - 겹치는 문제

나는 파이썬 코드를 추가해야 하는 부록을 작성하기 위해 다음 라텍스 코드를 사용하고 있습니다.

\section{Appendix}
\begin{landscape}
\begin{multicols}{2}
\subsection{Source Code}
\definecolor{keywords}{RGB}{255,0,90}
\definecolor{comments}{RGB}{0,0,113}
\definecolor{red}{RGB}{160,0,0}
\definecolor{green}{RGB}{0,150,0}

 \lstset{language=Python, 
    basicstyle=\ttfamily\small, 
    keywordstyle=\color{keywords},
    commentstyle=\color{comments},
    stringstyle=\color{red},
    showstringspaces=false,
    identifierstyle=\color{green},
    procnamekeys={def,class}}
    %taking python file and adding code here
    \lstinputlisting{code/Logic_K.py}
\end{multicols}
\end{landscape}

이 코드는 내가 필요한 것을 정확하게 생성하므로 2개의 열이 있는 가로 페이지가 있고 코드 형식이 올바르게 지정되었습니다. 문제는 Python 파일의 긴 줄 중 일부가 라텍스 파일의 두 번째 열과 겹치는 것입니다. 목록 기능이 다음 열과 겹치지 않고 같은 열의 다음 줄로 이동하도록 누군가 나를 도와줄 수 있습니까? 나는 그것이 매우 중요하기 때문에 어떤 도움이라도 크게 적절하게 할 것입니다. 또한 나열된 코드를 더 작은 글꼴 크기로 만들어 더 많은 코드가 단일 페이지의 각 열에 들어갈 수 있도록 할 수 있습니까?

답변1

listings원하는 것을 말해야하므로 lsset다음으로 변경하십시오.

 \lstset{language=Python, 
    basicstyle=\ttfamily\small, 
    keywordstyle=\color{keywords},
    commentstyle=\color{comments},
    stringstyle=\color{red},
    showstringspaces=false,
    identifierstyle=\color{green},
    procnamekeys={def,class},
    breaklines=true,
    postbreak=\raisebox{0ex}[0ex][0ex]{your symbol for line break}}

breaklines줄 바꿈을 허용하고 listings다른 매개변수는 줄 바꿈이 발생하면 새 줄에 기호를 인쇄합니다( \hookrightarrow일반적으로 사용되지만 자신의 기호를 사용하십시오).

편집하다

글꼴 크기 문제를 해결하려면 행을 commentstyle다음으로 바꾸십시오.

commentstyle=\fontsize{5}{6}\selectfont\color{comments}

답변2

이것은 주로 마지막 요점에 대한 답변입니다. 어쨌든 나는 내 논문에 라틴 모던을 사용했습니다.

  basicstyle=\footnotesize\ttfamily\fontseries{lc}\selectfont,

내에서는 \lstset"Latin Modern Typewriter Light Condensed"(여기라틴 현대의 훌륭한 글입니다). 이것은 내가 찾을 수 있는 가장 좁은 고정 폭 글꼴(무료로 사용 가능)이었으며 실제로는 꽤 멋져 보입니다. 내 줄 번호 매기기가 사용되었습니다 \tiny. 나는 줄 연속 기호를 사용하지 않았습니다.breakindent=0.5em

나는 2열 레이아웃을 갖고 있지 않았습니다(그리고 코드 부록을 위해 그것을 피할 것입니다. 그러나 운이 좋다면 그것은 당신에게 달려 있습니다). 저도 줄이 꽤 길었어요.

관련 정보