我正在编写 Python 来解析和处理大量文件,以便根据文件中的信息构建最终结果报告。我正在使用 Python 编写乳胶文件,然后将乳胶文件转换为 pdf。在我的示例中,您将看到我必须如何转义反斜杠才能正确生成乳胶文件。
有一个部分,我使用 \begin{enumerate} 然后使用 \item 列出某些结果。问题在于这些结果包含什么 - 特殊字符。可能有竖线、小于号、大于号、美元符号、反斜杠等。我事先不知道搜索词中会包含哪些字符。此部分中的行完全不换行,并且超出页面的右侧。
以下是生成 Latex 文档代码的 Python 代码的开头:
report.write("\\documentclass[11pt]{article}\n")
report.write("\\usepackage{listings}\n")
report.write("\\lstset{basicstyle=\\small\\ttfamily,columns=flexible,breaklines=true}\n")
report.write("\\usepackage{hyperref}\n")
report.write("\\usepackage{draftwatermark}\n")
report.write("\\usepackage[dvipsnames]{xcolor}\n")
report.write("\\usepackage{fancyhdr}\n")
# interprets underscores not as subscripts
report.write("\\usepackage{underscore}\n")
# Shove the footers down where they belong
report.write("\\usepackage[textheight=8in,footskip=72pt]{geometry}\n")
report.write("\\usepackage{seqsplit}\n")
report.write("\\pagestyle{fancy}\n")
report.write("\\fancyhead{}\n") # clear out default header - has underline
report.write("\\fancyfoot[L]{\\today}\n")
report.write("\\fancyfoot[C]{\\thepage}\n")
report.write("\\fancyfoot[R]{\\ %s}\n" % dut)
report.write("\\renewcommand{\\headrulewidth}{0pt}\n") # remove awful top bar
report.write("\\SetWatermarkText{\\textsc{Confidential}}")
report.write("\\SetWatermarkScale{4}")
report.write("\\begin{document}\n")
report.write("\\begin{abstract}\n")
以下是相关部分:
report.write("\\subsection{Searches Run}\n")
report.write("\\begin{enumerate}\n")
for epoch, search_term in my_history:
when = time.strftime("%Y-%m-%d %H:%M:%S", time.gmtime(int(float(epoch)/1000)))
report.write("\\item \\small \\texttt{ %s %s } \\normal \n" % (when, search_term) )
report.write("\\item %s {\\raggedright %s \\par} \n" % (when, search_term) )
report.write("\\end{enumerate}\n")
我努力了:
\begin{verbatim}\end{verbatim}
\textt{search term in here}
\begin{lstlisting}\end{lstlisting}
搜索词可能是这样的:
#sourceUser=" < [email protected] > "
#Vendor=ABC | top address
#product != partnumber123
我可以编写什么乳胶来忽略搜索词中的特殊字符,并使行断开并换行以适合页面?