我有一段文字
{attribute_1=1, ARRAY=[ { "x" : 180 , "y" : 175 , "z" : 176} , { "x" : 179 , "y" : 176 , "z" : 177} , { "x" : 178 , "y" : 177 , "z" : 178} , { "x" : 177 , "y" : 177 , "z" : 179} , { "x" : 176 , "y" : 176 , "z" : 180} , { "x" : 175 , "y" : 175 , "z" : 179} , { "x" : 174 , "y" : 174 , "z" : 180} , { "x" : 173 , "y" : 173 , "z" : 181} , { "x" : 174 , "y" : 172 , "z" : 182} , { "x" : 174 , "y" : 171 , "z" : 183} , { "x" : 173 , "y" : 170 , "z" : 183} , { "x" : 172 , "y" : 171 , "z" : 184} , { "x" : 171 , "y" : 171 , "z" : 183} , { "x" : 170 , "y" : 170 , "z" : 182} , { "x" : 169 , "y" : 169 , "z" : 181} , { "x" : 168 , "y" : 168 , "z" : 180} , { "x" : 167 , "y" : 167 , "z" : 179} , { "x" : 166 , "y" : 166 , "z" : 178} , { "x" : 165 , "y" : 165 , "z" : 177} , { "x" : 164 , "y" : 164 , "z" : 176} , { "x" : 163 , "y" : 163 , "z" : 175} , { "x" : 162 , "y" : 162 , "z" : 174} , { "x" : 161 , "y" : 161 , "z" : 173} , { "x" : 160 , "y" : 160 , "z" : 172} , { "x" : 159 , "y" : 159 , "z" : 171} , { "x" : 158 , "y" : 158 , "z" : 170} , { "x" : 157 , "y" : 157 , "z" : 169} , { "x" : 157 , "y" : 158 , "z" : 170}]}
它是自动生成的数据,我需要将其插入到我的 tex 文档中。我已经尝试过\seqsplit
宏{verbatim}
,但编译后的文档中仍然没有自动换行。我的长字符串超出了页面的边界,我看不到部分数据。
{verbatim}
不影响它,由于我的行包含和\seqsplit{line}
,导致编译错误。"{"
"}"
如何在不改变生成数据格式的情况下解决这个问题?
答案1
一个技巧是用字符串中未出现的字符来分隔字符串,这里我选择了|
。
\documentclass{article}
\usepackage{lipsum} % for context
\makeatletter
\newcommand{\galumov}[1]{%
\begin{quote}\raggedright\footnotesize
\catcode`#1=2
\catcode`\{=12
\catcode`\}=12
\catcode`\_=12
\ttfamily
\expandafter\@galumov\expandafter{\iffalse}\fi
}
\def\@galumov#1{\expandafter#1\end{quote}}
\makeatother
\begin{document}
\lipsum[3]
\galumov|{attribute_1=1, ARRAY=[
{ "x" : 180 , "y" : 175 , "z" : 176} ,
{ "x" : 179 , "y" : 176 , "z" : 177} ,
{ "x" : 178 , "y" : 177 , "z" : 178} ,
{ "x" : 177 , "y" : 177 , "z" : 179} ,
{ "x" : 176 , "y" : 176 , "z" : 180} ,
{ "x" : 175 , "y" : 175 , "z" : 179} ,
{ "x" : 174 , "y" : 174 , "z" : 180} ,
{ "x" : 173 , "y" : 173 , "z" : 181} ,
{ "x" : 174 , "y" : 172 , "z" : 182} ,
{ "x" : 174 , "y" : 171 , "z" : 183} ,
{ "x" : 173 , "y" : 170 , "z" : 183} ,
{ "x" : 172 , "y" : 171 , "z" : 184} ,
{ "x" : 171 , "y" : 171 , "z" : 183} ,
{ "x" : 170 , "y" : 170 , "z" : 182} ,
{ "x" : 169 , "y" : 169 , "z" : 181} ,
{ "x" : 168 , "y" : 168 , "z" : 180} ,
{ "x" : 167 , "y" : 167 , "z" : 179} ,
{ "x" : 166 , "y" : 166 , "z" : 178} ,
{ "x" : 165 , "y" : 165 , "z" : 177} ,
{ "x" : 164 , "y" : 164 , "z" : 176} ,
{ "x" : 163 , "y" : 163 , "z" : 175} ,
{ "x" : 162 , "y" : 162 , "z" : 174} ,
{ "x" : 161 , "y" : 161 , "z" : 173} ,
{ "x" : 160 , "y" : 160 , "z" : 172} ,
{ "x" : 159 , "y" : 159 , "z" : 171} ,
{ "x" : 158 , "y" : 158 , "z" : 170} ,
{ "x" : 157 , "y" : 157 , "z" : 169} ,
{ "x" : 157 , "y" : 158 , "z" : 170}]}|
\lipsum[3]
\end{document}
字符串已重新格式化以提高可读性,但未进行任何其他更改。为了获得更好的格式,需要使用其他技巧。