如何處理很長的 lstinline 片語,例如長類名?

如何處理很長的 lstinline 片語,例如長類名?

根據這個問題:

如何處理不包含空格的很長的行?

我的問題是我的\lstinline-phrases 不包含任何特殊字符,例如“-”。在我的 lstlinlines 中有很長的類名,例如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!

\結束{文件}

顯然,這應該放在一種風格中......

(要到達-行尾,請使用\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}

PS我猜引用問題中\\的第二個參數是錯的?\discretionary無論如何,以上內容對我有用。

答案3

今晚我很幸運,遵循以下兩個步驟:

  1. 明確地打破名稱:\lstinline{ThisIsAVeryLongExampleClassName}\lstinline{AndItHasNoLineBreak}
  2. 確保您之前lstsetbreaklines=true(或breaklines實際上)。

相關內容