긴 클래스 이름과 같이 매우 긴 lstinline 문구를 처리하는 방법은 무엇입니까?

긴 클래스 이름과 같이 매우 긴 lstinline 문구를 처리하는 방법은 무엇입니까?

이 질문에 따르면:

공백이 포함되지 않은 매우 긴 줄을 처리하는 방법은 무엇입니까?

내 문제는 내 \lstinline-문구에 "-"와 같은 특수 문자가 포함되어 있지 않다는 것입니다. 내 lstlinline에는 다음과 같은 매우 긴 클래스 이름이 있습니다 ThisIsAVeryLongExampleClassNameAndItHasNoLineBreak. 이러한 클래스 이름으로 인해 발생하는 문제는 상자가 가득 차 있다는 것입니다.

조건부 줄 바꿈 표시를 설정하는 방법을 아는 사람이 있습니까? ( \-일반 텍스트와 같습니다).

답변1

또는 완전 자동으로 만들려면(귀하의 경우):

\documentclass{minimal}
\usepackage{listings}
\begin{document}
\lstinline[
  literate={A}{A}{1\discretionary{}{}{}}
           {B}{B}{1\discretionary{}{}{}}
           {C}{C}{1\discretionary{}{}{}}
           {D}{D}{1\discretionary{}{}{}}
           {E}{E}{1\discretionary{}{}{}}
           {F}{F}{1\discretionary{}{}{}}
           {G}{G}{1\discretionary{}{}{}}
           {H}{H}{1\discretionary{}{}{}}
           {I}{I}{1\discretionary{}{}{}}
           {J}{J}{1\discretionary{}{}{}}
           {K}{K}{1\discretionary{}{}{}}
           {L}{L}{1\discretionary{}{}{}}
           {M}{M}{1\discretionary{}{}{}}
           {N}{N}{1\discretionary{}{}{}}
           {O}{O}{1\discretionary{}{}{}}
           {P}{P}{1\discretionary{}{}{}}
           {Q}{Q}{1\discretionary{}{}{}}
           {R}{R}{1\discretionary{}{}{}}
           {S}{S}{1\discretionary{}{}{}}
           {T}{T}{1\discretionary{}{}{}}
           {U}{U}{1\discretionary{}{}{}}
           {V}{V}{1\discretionary{}{}{}}
           {W}{W}{1\discretionary{}{}{}}
           {X}{X}{1\discretionary{}{}{}}
           {Y}{Y}{1\discretionary{}{}{}}
           {Z}{Z}{1\discretionary{}{}{}}
!ThisIsAVeryLongExampleClassNameAndItHasNoLineBreakThisIsAVeryLongExampleClassNameAndItHasNoLineBreakThisIsAVeryLongExampleClassNameAndItHasNoLineBreakThisIsAVeryLongExampleClassNameAndItHasNoLineBreakThisIsAVeryLongExampleClassNameAndItHasNoLineBreak!

\end{문서}

분명히, 이것은 스타일에 넣어야합니다 ...

-( 줄 끝으로 이동하려면 \discretionary{-}{}{}. 26번을 사용하세요 :-)

답변2

인용한 질문의 멋진 트릭을 사용하여 조건부 줄 바꿈을 정의할 수 있습니다.

\documentclass{minimal}
\usepackage{listings}
\begin{document}
Bla bla blabla blabla bla bla blabla bla blabla bla blabla
bla blabla bla blablablabla bla
\lstinline[literate={\\\-}{}{0\discretionary{-}{}{}}]!ThisIsAVeryLong\-Example\-ClassNameAndItHasNoLineBreak!
bla blabla blabla blabla bla
\end{document}

추신 : 인용된 질문에서 \\두 번째 인수가 실수인 것 같아요? \discretionary어쨌든 위의 내용은 저에게 효과적입니다.

답변3

오늘 밤에는 다음 두 단계를 따라 운이 좋았습니다.

  1. 이름을 명시적으로 분리합니다.\lstinline{ThisIsAVeryLongExampleClassName}\lstinline{AndItHasNoLineBreak}
  2. 이전 항목이 (또는 실제로) lstset있는지 확인하십시오 .breaklines=truebreaklines

관련 정보