为了说明我的问题,假设您有一个主文件和一个位于名为的子文件夹中的main.tex
章节。 两个文件都使用 UTF8 编码。 然后,以下最小代码示例可以顺利编译:chapter.tex
folder
% main.tex
\documentclass[12pt]{book}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{import}
\usepackage{lipsum}
\begin{document}
\includefrom{folder/}{chapter}
\end{document}
% chapter.tex
\lipsum[1]
如果子文件夹名称中包含重音符号(例如,fólder
而不是folder
),我该如何更改上述代码?将 更改\includefrom
为
\includefrom{fólder/}{chapter}
或者
\includefrom{f\'older/}{chapter}
没有帮助。
谢谢,
亚当
答案1
问题在于非 ASCII 字符会被扩展。使用 ; 可抑制它们的扩展\detokenize
,这在任何操作系统上都有效。
% main.tex
\documentclass[12pt]{book}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{import}
\usepackage{lipsum}
\begin{document}
\includefrom{\detokenize{fólder/}}{chapter}
\end{document}
答案2
如果你删除了inputenc
它,它将与 xelatex 一起工作,因为它自然是 utf-8。使用 inputenc utf-8 字符被激活并给出宏定义排版适当的字符,但是这些排版指令不适用于文件名,但是这个可以
\documentclass[12pt]{book}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{import}
\usepackage{lipsum}
\begin{document}
\includefrom{f\stringólder/}{chapter}
\end{document}