TeXShop 不记得文件编码

TeXShop 不记得文件编码

我知道这可能不是理想的地方,如果是这样,请移动/关闭它。

因此从昨天开始我遇到了以下问题:

我在序言中使用\usepackage[T1]{fontenc}和,\usepackage[utf8]{inputenc}并将文档在 TeXShop 中保存为 UTF-8 编码文件。

当我关闭文档并重新打开时,文档类型现在为 applemac,显然所有特殊字符都不同。现在这似乎只发生在新文档中,因为我用相同的序言写了我的论文,当我打开它时,它仍然是一个 UTF-8 编码的文档。

我真的不知道发生了什么。有人遇到过类似的事情吗?

答案1

保存文件时(我猜是另存为)选择 utf8 是不够的,因为打开新文件时,使用的是首选项的编码。您需要在 TexShop“文档”的首选项中选择 utf-8。

现在您需要知道初始文件的编码。然后您需要知道实际文档的状态。有一些有用的工具可以更改编码,例如

  iconv -f ISO-8859-1 -t UTF-8 myfilename.xxx > myfilename-utf8.xxx

对于 TeXShop 来说,有一个非常方便的方法:如果你把该行放在文件的开头(它实际上可以在文件的前二十行中)

% !TEX encoding = UTF-8 Unicode

那么无论 TeXShop 的全局首选项设置如何,文件都将以 UTF-8 格式打开和保存。“宏”菜单中的“编码”条目允许在选择几种编码后写入此行。

请注意,TeXworks 也能识别该行。我称此类行为“魔法行”。使用类似的方法,还可以设置根文件或排版引擎(查看文档)。

答案2

许多编辑,包括TexShop,都提供了模式行,“魔术注释”,其中可以指定各种编辑器设置。这提供了编辑器的每个文档配置。以下代码片段将 TexShop、Emacs 和 Vim 的编码设置为 utf-8:

% !TEX encoding = UTF-8 Unicode
% -*- coding: UTF-8; -*-
% vim: set fenc=utf-8

在每个文档的开头添加类似的内容是一种很好的做法,特别是当您与他人合作或在不同的编辑器之间切换时。

对于大多数编辑器来说,这样的模式行必须出现在文档的前 10 行,有些编辑器(Vim、Emacs)也支持它们出现在文档的末尾(最后 10 行内)。

支持模式行的编辑器还有很多,每个都有自己的特色。但是,至少对于简单的设置(例如文件编码),Vim 格式已成为事实上的标准,大多数编辑器都能理解。

相关内容