我正在尝试从 Python 脚本导入结果文件的名称并将其显示在报告中。在 LaTeX 模板中,我有一堆定义为的变量${variablename}
。Python 脚本将其更改为实际变量值。我只对一个变量有问题,即文件名。
只要文件名不包含任何下划线,代码就可以正常工作。我尝试过放弃命令\texit{}
,使用\StrSubstitute
(带\\_
、\bs
和\textunderscore
)和数学模式。唯一有点效果的是数学模式,但我希望它显示为文本。使用数学模式时,文件名太长,以至于超出了页面范围。带\textit{}
和不带下划线会分割文件名,就像我想要的那样。
我很茫然。
\documentclass[a4paper,11pt,titlepage]{article}
\usepackage[utf8]{inputenc}
\usepackage{booktabs} % professional tables
\usepackage{gensymb} % \degree and \celsius, try '$ texdoc gensymb'
\usepackage{amsmath, amsfonts, amssymb} % mathematical symbols
\usepackage{float, longtable, graphicx}
% end of preamble, start of document
\begin{document}
-Code irrelevant to problem-
\section{Results}\label{sec:results}
The test results are taken from the file named \textit{${RESFILEname}}
-More irrelevant code-
\end{document}
答案1
对于文件名来说,最可靠的解决方案可能是添加
\usepackage{url}
然后使用包\path{my_file_name}
命令url
处理特殊符号,并允许换行。您可以自定义使用的字体,请参阅文件中的注释。
答案2
您可以使用 David Carlisle 所述的包url
,但如果您希望文件名以斜体打印,我建议使用自定义字体定义自定义命令。
也就是说,将以下几行添加到您的文档中:
\usepackage{url}
\def\UrlFont{\it} % italic shape for the used font
\DeclareUrlCommand\itfile{\urlstyle{it}} % declare new command \itfile
然后替换\textit{${RESFILEname}}
为\itfile{${RESFILEname}}
,这样就有
\documentclass[a4paper,11pt,titlepage]{article}
\usepackage[utf8]{inputenc}
\usepackage{booktabs} % professional tables
\usepackage{gensymb} % \degree and \celsius, try '$ texdoc gensymb'
\usepackage{amsmath, amsfonts, amssymb} % mathematical symbols
\usepackage{float, longtable, graphicx}
\usepackage{url}
\def\UrlFont{\it} % italic shape for the used font
\DeclareUrlCommand\itfile{\urlstyle{it}} % declare new command \itfile
% end of preamble, start of document
\begin{document}
-Code irrelevant to problem-
\section{Results}\label{sec:results}
The test results are taken from the file named \itfile{${RESFILEname}}
-More irrelevant code-
\end{document}