编码从 Mac 到 Linux 以及反之亦然的转换

编码从 Mac 到 Linux 以及反之亦然的转换

如何在 Linux(utf-8)上使用之前在 Mac 上创建的文件,例如使用 MacRoman 作为编码,反之亦然?

答案1

你应该使用图标(iconv-将给定文件的编码从一种编码转换为另一种编码)

从终端写入:

iconv -f MACINTOSH -t UTF-8 source_mac.tex > destination_utf.tex

在哪里麦金塔电脑是 mac 编码。

还要注意 inpuntec。假设您在 Mac 下使用:

\usepackage[applemac]{inputenc}

您必须将其删除并添加,例如:

\usepackage[T1]{fontec}
\usepackage[utf8x]{inputenc}

如果您想要反之亦然,您应该从终端使用此命令:

iconv -f UTF-8 -t MACINTOSH source_utf8.tex > destination_mac.tex

比:

添加:

\usepackage[T1]{fontec}
\usepackage[utf8x]{inputenc}

并删除:

 \usepackage[applemac]{inputenc}

答案2

有一些工具可以重新编码文件(iconv,,recode...),请参阅回答的 teoreda。

但是这些工具不会改变 package 的选项inputenc。这里 packageselinput有帮助。

例子:

\documentclass{article}

\usepackage{selinput}
\SelectInputMappings{
  adieresis={ä},
  germandbls={ß},
  copyright={©},
}

\begin{document}
  Umlauts: ÄÖÜäöüß, Copyright: ©
\end{document}

UTF-8 编码的\SelectInputMapping选择utf8

Package selinput Info: Encoding `utf8' selected on input line 8.

当文件采用 mac-roman 编码时,结果为:

Package selinput Info: Encoding `x-mac-roman' selected on input line 8.

编码x-mac-roman来自项目inputenx,它优先选择文本符号编码。当applemac是首选时,用于选择的编码列表\SelectInputMapping可以在之前明确给出:

\SelectInputEncodingList{utf8,applemac}

相关内容