拉丁重音符号在子文件中不起作用

拉丁重音符号在子文件中不起作用

我正在处理一个多文件文档,并且已经在主文档中导入了 [latin]{inputenc} 包,但它在子文件中不起作用。

主文本

\documentclass[10pt,a4paper]{article}
\usepackage[latin1]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}

%\usepackage{titlesec} %Only for book
%\titleformat{\chapter}{\normalfont\huge}{\thechapter.}{20pt}{\huge\it} %Only for book
\usepackage{subfiles}

\author{Yamil Saade}
\title{Caracterización de Laminados}

\begin{document}

    %\frontmatter
    \maketitle

    %\mainmatter

    \section{Introducción}
    \subfile{Sections/Introduction}


\end{document}

子文件.tex

\documentclass[../main.tex]{subfiles}

\begin{document}

    Hoy en día natación

\end{document}

上述代码的结果...

结果

答案1

您的问题与包裹无关subfileslatin1但指定的编码与实际使用的编码不匹配utf8。请考虑以下文件:

% test.tex
\documentclass{article}
\usepackage[latin1]{inputenc} % Sets the expected encoding to Latin1
\begin{document}
Hoy en día natación % Actually uses UTF8
\end{document}

其中重音字母以 UTF-8 编码存储。在 Linux 下,可以使用以下file命令检查实际使用的编码:

$ file test.tex
test.tex: LaTeX 2e document, UTF-8 Unicode text

对于 Windows,请参阅这篇文章关于如何使用检查和更改编码notepad

运行 LaTeXtest.tex会导致三个错误:

! Missing $ inserted.
<inserted text> 
                $
l.4 Hoy en día natació
                        n
? 
! Extra }, or forgotten $.
\maththreesuperior ->{^3}

l.4 Hoy en día natació
                        n
? 
! Missing $ inserted.
<inserted text> 
                $
l.5 \end{document}

如果您(或您的 TeX 系统)跳过这些错误,您将得到以下输出:

在此处输入图片描述

解决方案

确保所有 TeX 文件都使用相同的字符编码。如今 UTF-8 是标准,但 Latin1 也可以。只需确保在任何地方都使用相同的编码即可。根据您的选择,使用

\usepackage[latin1]{inputenc}

或者

\usepackage[utf8]{inputenc}

在文件上运行 LaTeX

% test.tex
\documentclass{article}
\usepackage[utf8]{inputenc} % Sets expected encoding to UTF8
\begin{document}
Hoy en día natación % Actually uses UTF8
\end{document}

没有给出错误并输出结果

在此处输入图片描述

相关内容