Latex - 在同一文档中改变编码的行为

Latex - 在同一文档中改变编码的行为

目前,我试图实现德语输入编码(inputenc为我的论文。我的解决方案运行良好,但有一个小例外:每当我的变音符号在普通文本中正确输入编码时,它们就会在我的输入/方程式标签中被误解,反之亦然。

我的 tex-document-header 如下所示:

\documentclass[bibtotoc,liststotoc,BCOR0mm,DIV12]{scrbook}
\usepackage{geometry}
\usepackage{longtable}

\usepackage[nodisplayskipstretch]{setspace}
\setstretch{1.5}

%choose font_________________________________________________
\usepackage[T1]{fontenc}

% GERMAN language configs
\usepackage[latin1]{inputenc}
\usepackage{ngerman} % deutsche Verzeichnisse

\fontfamily{phv}

%____________________________________________________________
\usepackage{graphicx}
\usepackage{url}
\usepackage{hyperref}
\usepackage[square]{natbib}

\graphicspath{{./img/}}

\input{hyphenation}

\usepackage{amsmath}
\numberwithin{equation}{subsection}

\newcommand{\rl}{\raggedleft}
\newcommand{\rr}{\raggedright}
\newcommand{\tn}{\tabularnewline}

当我使用时,\usepackage[latin1]{inputenc}输入对于普通文本是正确的。将其替换\usepackage[utf8]{inputenc}为输入/方程式即可。以下是通过插入的示例\input{...}

\begin{equation}
C = \frac{T \cdot W}{L} = \frac{K \cdot A}{L}
\label{eq:Conductance}
\end{equation}
\begin{spacing}{1}\begin{flushleft}
$C$: Leitfähigkeit (hydraulic conductance) [$\frac{m^{2}}{s}$] \\
$T$: Transmissivität [$\frac{m^{2}}{s}$] \\
$W$: durchflossene Breite [$m$] \\
$L$: durchflossene Länge [$m$] \\
$K$: hydraulische Leitfähigkeit [$\frac{m}{s}$] \\
$A$: durchflossene Fläche [$m^{2}$] \\
\end{flushleft}\end{spacing}

我想知道如何对输入进行编码,以便以正确的方式解释普通文本和方程标签。如果不可能:那有什么解决办法吗?我当然希望找到一种尽可能少做改动的解决办法。

先感谢您!

答案1

最好确保所有文件具有相同的编码,但原则上您可以在文档中间切换编码。

要将 utf-8 编码的文件输入到 ISO-8859-1 编码的文档中:

\inputencoding{utf8}
\input{..}
\inputencoding{latin1}

答案2

正是不同的文件编码导致了inputenc配置中的问题。我不得不手动重置文件编码,并使用适当的选项再次保存它们。编码不同的原因是 Notepad++。在我的系统上,它对文本文件使用不同的标准编码,我使用编辑器快速创建了 tex 脚本。

如果有人不想更改输入/包含文件的原始编码,@DavidCarlisle 的答案提供了一种解决方法:

\inputencoding{utf8}    % temporary file encoding
\input{..}
\inputencoding{latin1}  % orignal file encoding

相关内容