如果我在 Kile(在 Linux 上)中保存文档并在 WinEdt(Windows 上)中打开它,我的文本格式会很糟糕。
例如:
如果我有一个名为 main.tex 的 kile 文档(使用 UTF-8 编码保存),其中包含:
\documentclass[a4paper,12pt,fleqn,oneside,openright]{book}
\usepackage[utf8x]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[portuges,brazil,brazilian]{babel}
\begin{document}
\chapter{Introdução}\label{Chapter:Introduction}
\section{Apresentação}\label{Section:Presentation}
Este é um texto em português, com várias acentuações. % This is a brazilian portuguese text with several accents.
\end{document}
我使用 Kile 的输出是:
但是在 WinEdt 中打开同一个文件时,我得到如下信息:
\documentclass[a4paper,12pt,fleqn,oneside,openright]{book}
\usepackage[utf8x]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[portuges,brazil,brazilian]{babel}
\begin{document}
\chapter{Introdução}\label{Chapter:Introduction}
\section{Apresentação}\label{Section:Presentation}
Este é um texto em português, com várias acentuações. % This is a brazilian portuguese with several accents.
\end{document}
这对我来说是不可读的。
我在 Kile 中写了一篇完整的文章,但不幸的是我也需要它在 WinEdt 中运行,因为我需要使用该工具tex2word
。
如果我尝试使用(复制并粘贴)可读的 kile 文档到 winedt,例如,使用这个
\documentclass[a4paper,12pt,fleqn,oneside,openright]{book}
\usepackage[utf8x]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[portuges,brazil,brazilian]{babel}
\begin{document}
\chapter{Introdução}\label{Chapter:Introduction}
\section{Apresentação}\label{Section:Presentation}
Este é um texto em português, com várias acentuações. % This is a brazilian portuguese with several accents.
\end{document}
我的文档无法编译,并且出现错误。
错误:
程序包 utf8x 错误:MalformedUTF-8sequence
那么,如何才能在 WinEdt 上获得具有相同输出(也可读)的可读文档(由 Kile 创建)?
答案1
从http://www.winedt.com/about.html
...WinEdt 目前处理 UTF-8 文档的能力有限。当 Delphi 过渡到新版本时,计划全面支持 Unicode。
我们计划在未来版本的 WinEdt 中添加新的功能(例如折叠和对 utf-8 的完全支持)...
至少几年前,该声明就出现在该页面上。“处理能力有限”似乎是指只有非常有限的一组 Unicode 点可以管理。
您可以在 Kile 上使用 WinEdt 管理的编码,例如 Latin-1。Kile 能够从主窗口转换文件(并且默认使用不同于 UTF-8 的编码):请参阅配置 Kile 使用其他编码
答案2
在 Linux 中运行:
recode --diacritics --touch --verbose UTF-8..latin1 <file>.tex
它将你的 tex 文档转换为 latin1 解码,然后 WINEdt 就可以毫无问题地读取它。复制一份原始文件,因为错误使用recode
会损坏你的文件
答案3
在这种情况下,最好选择半自动输入选择塞林普特包裹来自奥伯迪克捆绑。它根据源文件的编码通过一些字形选择输入编码。对于您的示例,它可能看起来像这样。
\documentclass[12pt,a4paper,fleqn,oneside,openright]{book}
\usepackage[T1]{fontenc}
\usepackage{selinput}
\SelectInputMappings{%
atilde={ã},
ccedilla={ç},
eacute={é}
}
\usepackage[portuges,brazil,brazilian]{babel}
\begin{document}
\chapter{Introdução}\label{Chapter:Introduction}
\section{Apresentação}\label{Section:Presentation}
Este é um texto em português, com várias acentuações.
\end{document}
现在,您可以将此代码复制并粘贴到任何编辑器中。它应该可以立即使用。至少对我来说是这样。
所需的字形可以在Adobe 字形列表。
答案4
如 egreg 所述,Winedt 仅具有受限的 utf8 功能。但只要您的文档仅使用来自一个代码页(例如 ansinew 代码页)的字符,它就应该可以正常工作。(您还可以在 winedt 中打开和编译使用来自多个代码页(例如希腊语和德语)的字符的文档,但您不应使用 winedt 编辑和保存此类文档)。
在 winedt 菜单中,您可以找到document->samples
有关 winedt 中 utf8 的文档。除了其他信息外,它还包含如何在 winedt 中打开外部 utf8 文件的描述:
... 3. 您以 ANSI 模式打开了一个文档,但您看到的不是国际字符(例如 à、ä、å、æ、ç 等...),而是一连串两个或更多“奇怪”的符号。您的文档可能是 UTF-8 格式。关闭它并使用“
":UTF-8"}
打开”对话框中的模式过滤器正确加载文档。如果您想确保从现在开始正确处理文档,您可以% -*- coding: utf-8 -*-
在文档开头的某个地方添加注释:。
我个人在所有 utf8 文档的开头都有此行,以便 emacs 也能正确打开它:
% -*- mode: TeX -*- -*- coding: UTF-8 -*-