將較長的單字分成幾行以適合框(輸入的?)

將較長的單字分成幾行以適合框(輸入的?)

我想將長字串(因為它在 json 檔案中標記為 url)放入框中而不溢出。據我了解,breaklines選項僅在字串由分隔的單字組成時才有幫助。 url 場景中較長的單字怎麼樣?在範例中,如何將 url 拆分為更多行,以便將它們放入頁面或最好放在框框中?

\documentclass{article}

\usepackage{floatrow}
\usepackage[newfloat]{minted}%
\newenvironment{code}{\captionsetup{type=listing}}{}
\SetupFloatingEnvironment{listing}{name=Data Format}

\begin{document}

    \begin{listing}[H]    
        \inputminted[frame=lines,
                       framesep=2mm,
                       fontsize=\footnotesize,
                       linenos=true,
                       breaklines=true,
                       xleftmargin=21pt,
                       tabsize=1]{json}{code/test.json} 
        \label{list:bbbbbbbbbb}
    \end{listing}

\end{document}

測試文件內容範例:( test.json)

{  
    "cID"               : 1,
    "test"              : "aaaaaaaaaaaaaaaa          bbbbbbbbbbbbbbbbbbb ccccccccccccccccccccccccccc",
    "url"               : "http://www.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccccccccccccccccccccccccccccccccc.com"
}

它會為 url 字段生成溢出: 在此輸入影像描述

答案1

您還可以添加選項breakanywhere=true(預設值為false,這就是它不立即啟動的原因)。請參閱第 15 頁並在fvextrapacakge 文件中轉發(與 相同的作者minted,並且minted正在幕後使用此套件)。

該選項也可以全域設定。您可能也對命令\breakanywheresymbolpre和類似感興趣(請參閱文件)。

解決方案如下:

\documentclass{article}

\usepackage{floatrow}
\usepackage[newfloat]{minted}%
\newenvironment{code}{\captionsetup{type=listing}}{}
\SetupFloatingEnvironment{listing}{name=Data Format}

\begin{document}

    \begin{listing}[H]    
        \inputminted[frame=lines,
                       framesep=2mm,
                       fontsize=\footnotesize,
                       linenos=true,
                       breaklines=true,
                       breakanywhere=true,
                       xleftmargin=21pt,
                       tabsize=1]{json}{code/test.json} 
        \label{list:bbbbbbbbbb}
    \end{listing}

\end{document}

相關內容