使用固定宽度后表格单元格中的文本未换行

使用固定宽度后表格单元格中的文本未换行

我正在尝试让文本在单元格中换行。我读到如果我想让文本换行,我可以使用 p{width}。单元格宽度会根据我设置的宽度变化,但文本仍然没有换行。有什么想法吗?

这是我的 tex 代码:

\begin{table}
    \centering
    \caption{Contoh pesan dan topik untuk menghidupkan lampu}
    \label{tab:nyalainLampu}
    \begin{tabular}{| p{4cm} | p{10cm} |}
        \hline
        \textbf{Topik} & \texttt{sot/g/[idUser]/lampu/[idPerangkat]/on/ctl} \\
        \hline
        \textbf{Isi pesan} & \texttt{true} \\
        \hline
        \textbf{Perintah REST} & \texttt{PUT http://localhost:8080/api/LUQMANGWTA/lights/[idLokal]/state}\\
        \hline
        \textbf{Data yang dikirimkan} & \texttt{\{"on":true\}} \\
        \hline
        \textbf{Respon deCONZ} & \texttt{[\{"success":\{"/lights/[idLokal]/state/on":true\}\}]} \\
        \hline
    \end{tabular}
\end{table}

结果如下:

enter image description here

谢谢。

答案1

您的表格有两个问题,而不仅仅是一个:

  • 为了在第二列中获得更好的换行效果,我建议您加载url包并将所有五个实例替换为\texttt。LaTeX\url通常可以为语句中包含的材料找到相当好的换行符\url

  • 表格材料对于可用的文本块来说太宽(除非纸张异常宽和/或页边距异常窄)。tabular我不会对环境的两列宽度进行硬编码,而是使用tabularx环境(将宽度设置为textwidth)和X第二列的列类型。这样,就可以保证表格的宽度不会超过文本块的宽度。

enter image description here

\documentclass{article}
\usepackage[hyphens]{url}
\usepackage{tabularx}
\begin{document}

\begin{table}
    %%\centering
    \caption{Contoh pesan dan topik untuk menghidupkan lampu}
    \label{tab:nyalainLampu}
    \begin{tabularx}{\textwidth}{| >{\bfseries}l | X |}
        \hline
        Topik & \url{sot/g/[idUser]/lampu/[idPerangkat]/on/ctl} \\
        \hline
        Isi pesan & \url{true} \\
        \hline
        Perintah REST & \url{PUT http://localhost:8080/api/LUQMANGWTA/lights/[idLokal]/state}\\
        \hline
        Data yang dikirimkan & \url{\{"on":true\}} \\
        \hline
        Respon deCONZ & \url{[\{"success":\{"/lights/[idLokal]/state/on":true\}\}]} \\
        \hline
    \end{tabularx}

\end{table}
\end{document}

附录再进行一些清理,消除杂乱,省略垂直线和大部分水平线,得到以下外观:

enter image description here

\documentclass{article}
\usepackage[hyphens,spaces]{url}
\usepackage{tabularx,ragged2e,caption,booktabs}
\begin{document}

\begin{table}
    %%\centering
    \caption{Contoh pesan dan topik untuk menghidupkan lampu}
    \label{tab:nyalainLampu}
    \begin{tabularx}{\textwidth}{@{} >{\bfseries}l  
                     >{\RaggedRight\arraybackslash}X @{}}
        \toprule
        Topik & \url{sot/g/[idUser]/lampu/[idPerangkat]/on/ctl} \\
        \addlinespace
        Isi pesan & 
        \url{true} \\
        \addlinespace
        Perintah REST & 
        \texttt{PUT} \url{http://localhost:8080/api/LUQMANGWTA/lights/[idLokal]/state}\\
        \addlinespace
        Data yang dikirimkan & 
        \url{\{"on":true\}} \\
        \addlinespace
        Respon deCONZ & 
        \url{[\{"success":\{"/lights/[idLokal]/state/on":true\}\}]} \\
        \bottomrule
    \end{tabularx}

\end{table}
\end{document}

相关内容