![编码从 Mac 到 Linux 以及反之亦然的转换](https://linux22.com/image/314248/%E7%BC%96%E7%A0%81%E4%BB%8E%20Mac%20%E5%88%B0%20Linux%20%E4%BB%A5%E5%8F%8A%E5%8F%8D%E4%B9%8B%E4%BA%A6%E7%84%B6%E7%9A%84%E8%BD%AC%E6%8D%A2%20.png)
如何在 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}