![Unicode 和科学词汇/工作场所](https://linux22.com/image/460443/Unicode%20%E5%92%8C%E7%A7%91%E5%AD%A6%E8%AF%8D%E6%B1%87%2F%E5%B7%A5%E4%BD%9C%E5%9C%BA%E6%89%80.png)
我所在的小组的组长使用 Scientific Workplace (SWP) 5.5。小组中的其他大多数人都不使用该软件,而且由于 MacKichan(拼写?)破产,因此不再有合法途径获取该软件(版本 6+ 可以免费下载,但该版本的工作方式显然有很大不同)。
问题是,当有人用 UTF8 编码 (\usepackage[utf8]{inputenc}) 编写包含重音字符(如 áéíóúűő 等)的 TeX 文档时,当 SWP 打开这些文档时,文本会显示为乱码。当小组组长在 SWP 中处理文档并将其发回时,文本也会变得无法修复。
例如,该文件
\documentclass[10pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\begin{document}
Ó, ió, áció, ráció ez egy üledékes meghűlt őrületes degeneráció
\end{document}
在 SWP 中打开时(这是在版本 6+ 中,因为我只能访问该版本,但它在 SWP 5.5 中的行为也相同)。
如果我打开 SWP 保存的 TeX 文件(如果原始文件已保存),文档内容如下
\documentclass[10pt,a4paper]{article}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\setcounter{MaxMatrixCols}{10}
%TCIDATA{OutputFilter=LATEX.DLL}
%TCIDATA{Version=5.50.0.2890}
%TCIDATA{<META NAME="SaveForMode" CONTENT="1">}
%TCIDATA{BibliographyScheme=Manual}
%TCIDATA{LastRevised=Thursday, January 26, 2023 15:37:55}
%TCIDATA{<META NAME="GraphicsSave" CONTENT="32">}
\input{tcilatex}
\begin{document}
\~{A}\textquotedblleft , i\~{A}%
%TCIMACRO{\U{b3}}%
%BeginExpansion
${{}^3}$%
%EndExpansion
, \~{A}\textexclamdown ci\~{A}%
%TCIMACRO{\U{b3}}%
%BeginExpansion
${{}^3}$%
%EndExpansion
, r\~{A}\textexclamdown ci\~{A}%
%TCIMACRO{\U{b3} }%
%BeginExpansion
${{}^3}$
%EndExpansion
ez egy \~{A}%
%TCIMACRO{\U{bc}}%
%BeginExpansion
$\frac14$%
%EndExpansion
led\~{A}\copyright kes megh\AA \pm lt \AA `r\~{A}%
%TCIMACRO{\U{bc}}%
%BeginExpansion
$\frac14$%
%EndExpansion
letes degener\~{A}\textexclamdown ci\~{A}%
%TCIMACRO{\U{b3}}%
%BeginExpansion
${{}^3}$%
%EndExpansion
\end{document}
我们还检查过,如果小组组长使用 SWP 创建包含重音字符的 tex 文件,这些字符将以“TeX 样式”保存在 .tex 文件中,例如 é 为\'e
。
这使得合作变得相当困难,因为当涉及到口音时,我们基本上必须重做大量工作。
我完全不知道该如何解决这个问题。我认为可以让 SWP 使用 UTF8 编码,并且用户手册指出 SWP 将在序言中解释 inputenc。然而,情况似乎并非如此,因为上面的示例 tex 文件作为 inputenc 使用 utf8 参数调用,而 SWP 仍然无法很好地处理它。
一些间接的解决方案也可以,例如如果我可以保存用 unicode 字符编写的 tex 文件,将重音字母转换为 TeX 重音。
答案1
假设您的项目负责人从 SWP55 保存的文档包含重音字符。如果您将其导入 SWP 6,则带重音的字符将具有正确的格式,例如 É 或 Á。如果您从 SWP 6 导出它,则您将获得一个 utf8 文件,前提是前言由命令 \usepackage{t1enc} \usepackage[utf8]{inputenc} 补充。