如果路径包含点但没有扩展名,则 lstinputlisting 在某些 Linux 发行版中无法找到文件,但在其他发行版中则不会

如果路径包含点但没有扩展名,则 lstinputlisting 在某些 Linux 发行版中无法找到文件,但在其他发行版中则不会

我正在准备一份文档,使用 Arch、Manjaro、openSUSE Tumbleweed 和 Kubuntu 进行轮换。在 Manjaro 和 Ubuntu 中,我收到列表包错误,因为无法找到指定的文件。

Kubuntu 日志中的错误:

! Package Listings Error: File `./ord-server-etc/etc-amavis.original/conf(.d/15-
content_filter_mode)' not found.

Type X to quit or <RETURN> to proceed,
or enter new name. (Default extension: d/15-content_filter_mode)

Enter file name: 
! Emergency stop.
<read *> 

l.18 ...vis.original/conf.d/15-content_filter_mode}}

*** (cannot \read from terminal in nonstop modes)

Manjaro 中的日志中的错误:

! Package Listings Error: File `(./ord-server-etc/etc-amavis.original/conf.d/15-
content_filter_mode)' not found.

Type X to quit or <RETURN> to proceed,
or enter new name. (Default extension: /ord-server-etc/etc-amavis.original/conf.
d/15-content_filter_mode)

Enter file name: 
! Emergency stop.
<read *> 

l.18 ...vis.original/conf.d/15-content_filter_mode}}

*** (cannot \read from terminal in nonstop modes)

错误是相同的(文件未找到),但行为不同。在 Kubuntu 中,最后的 .被认为是文件的扩展名,而在 Manjaro 中第一的 .被认为是扩展。

LuaLaTeX 假设文件中最后一个点后面的所有内容都是扩展名。我曾尝试{}在文件路径周围添加第三组,以解决类似的问题,如其他地方所建议的那样includegraphics,但这没有帮助,并导致其他错误。

我在 Arch 和 openSUSE 中没有收到错误。第一个屏幕截图显示了 TexStudio 中编译的 MWE 文档预览,在 Arch 上没有错误。第二个屏幕截图显示相同的 MWE 在 Ubuntu 上的 TeXstudio 中编译失败。我想知道为什么这两个实现中会出现错误以及如何追踪它。

起初我以为问题只出现在lstinputlisting下面单独环境中第二次使用 时。实际上,lstinputlisting在 Manjaro 和 Kubuntu 中均无法使用 。

我想知道差异的根源是什么,但更重要的是:

1) 我想进行调整以避免出现此错误,这样我就可以在 Kubuntu 和 Manjaro 以及 Arch 和 openSUSE 上编译文档。2) 有人可以解释如何设置默认扩展名吗?我在一些使用中看到,当指定的文件没有扩展名时,lstinputlistingLaTeX/LuaLaTeX 会假定一个默认文件扩展名。.tex

回复评论:

1 - Ulrike Fischer) 在 Kubuntu 中:This is LuaTeX, Version 1.10.0 (TeX Live 2019/Debian) 在 Arch 中:This is LuaTeX, Version 1.10.0 (TeX Live 2019/Arch Linux) 2 - Ulrike Fischer) 我已按照您的建议对所有四个发行版进行了操作。两个发行版使用 2018 年的 LaTeX 版本,另外两个发行版使用 2019 年的版本,LuaLaTeX 格式有所不同,但似乎与哪个版本导致错误没有关联。

在 Arch Linux 上的 TexStudio 中编译 MWE(工作)

相同的 MWI 在 Kubuntu 上的 TexStudio 中编译失败

梅威瑟:

\documentclass[a4paper,12pt]{book}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}

\usepackage{listings}
\begin{document}

\author{TeXstudio Team}
\title{Simple Book Example}
\date{January 2013}

\frontmatter
\maketitle
\tableofcontents

\mainmatter

\lstinputlisting[nolol,linerange={13-14},firstnumber=13,numbers=left,title={Enabling virus filtering}]{{./ord-server-etc/etc-amavis.original/conf.d/15-content_filter_mode}}

\begin{lstinputlisting}
    [nolol,linerange={13-14},firstnumber=13,numbers=left,title={Enabling virus filtering}]{{./ord-server-etc/etc-amavis.original/conf.d/15-content_filter_mode}}
    \end{lstinputlisting}
\backmatter
% bibliography, glossary and index would go here.

\end{document}

相关内容