我正在尝试让文本在单元格中换行。我读到如果我想让文本换行,我可以使用 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}
结果如下:
谢谢。
答案1
您的表格有两个问题,而不仅仅是一个:
为了在第二列中获得更好的换行效果,我建议您加载
url
包并将所有五个实例替换为\texttt
。LaTeX\url
通常可以为语句中包含的材料找到相当好的换行符\url
。表格材料对于可用的文本块来说太宽(除非纸张异常宽和/或页边距异常窄)。
tabular
我不会对环境的两列宽度进行硬编码,而是使用tabularx
环境(将宽度设置为textwidth
)和X
第二列的列类型。这样,就可以保证表格的宽度不会超过文本块的宽度。
\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}
附录再进行一些清理,消除杂乱,省略垂直线和大部分水平线,得到以下外观:
\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}