2010-04-06 62 views
6

tôi đã dịch một tài liệu từ tiếng Anh sang tiếng Na Uy trong các định dạng LaTeX, và trong khi sử dụng ký tự đặc biệt norwegian, tôi nhận được một lỗi sử dụngKhông ký tự norwegian trong LaTeX

\usepackage[utf8x]{inputenc} 

để thử và hiển thị norwegian (Scandinavia) ký tự đặc biệt trong định dạng/PDF/DVI PostScript, nói

Package utf8x Error: MalformedUTF-8sequence. 

Vì vậy, trong khi đó không làm việc, tôi đã cố gắng ra một giải pháp khả thi:

\usepackage{ucs} 
\usepackage[norsk]babel 

Và khi tôi đã cố gắng để tiết kiệm trong Emacs tôi nhận được tin nhắn này:

These default coding systems were tried to encode text 
in the buffer `lol.tex': 
(utf-8-unix (905 . 4194277) (916 . 4194245) (945 . 4194278) (950 
. 4194277) (954 . 4194296) (990 . 4194277) (1010 . 4194277) (1013 
. 4194278) (1051 . 4194277) (1078 . 4194296) (1105 . 4194296)) 
However, each of them encountered characters it couldn't encode: 
utf-8-unix cannot encode these: \345 \305 \346 \345 \370 \345 \345 \346 \345 \370 ... 

Nhờ Emacs tôi có khả năng để kiểm tra các tính chất của những nhân vật và là người đầu tiên nói với tôi:

character: \345 (4194277, #o17777745, #x3fffe5) 
preferred charset: eight-bit (Raw bytes 128-255) 
code point: 0xE5 
syntax: w which means: word 
buffer code: #xE5 
file code: not encodable by coding system utf-8-unix 
display: not encodable for terminal 

Điều này không cho tôi biết nhiều. Khi tôi cố gắng để xây dựng này với texi2dvi - dvipdf filename.text tôi nhận được một PDF hoàn toàn tốt, tất cả mà không có các ký tự đặc biệt norwegian.

Khi tôi sắp lưu Emacs, hãy hỏi tôi: "Chọn hệ thống mã hóa (văn bản thô mặc định):" Và tôi nhập utf-8 để chọn hệ thống mã hóa của nó. Tôi cũng đã cố gắng chọn văn bản thô mặc định để xem tôi có nhận được kết quả khác không. Nhưng không có gì.

Cuối cùng tôi đã thử \ lstset {inputencoding = utf8x, extendedchars = \ true} ... mã tôi đã truy cập khi cố gắng giải quyết vấn đề này cho google. Điều này cho tôi lỗi này: Trình tự kiểm soát không xác định.

Vì vậy, về cơ bản, tôi đã thử mọi tùy chọn mã hóa mà tôi có thể tìm và không có tác dụng. Tôi đang cố gắng hết sức để thực hiện công việc này vì bản dịch tiếng Na uy phải được xuất bản trước thời hạn.

Là thông tin bổ sung tôi có thể thêm vào sau này tôi đã phát hiện ra rằng tôi chỉ có en_US.UTF-8 trong ngôn ngữ của mình, vì vậy tôi đã thêm nb_NO.UTF-8 và nb_NO.ISO-8859-15 và miền địa phương đã chạy -gen + khởi động lại mà không có bất kỳ thay đổi nào.

Tôi hy vọng tôi đã cung cấp đủ thông tin để được hỗ trợ, các ký tự được đề cập là æ ø å.

+1

Thực tế là tập tin của bạn được gọi là 'lol.tex' khiến tôi mỉm cười. –

+0

Nó thực sự được gọi là what-is-fs.tex nhưng tôi đã làm một --recode trên đó vì vậy tôi cần một bản sao mới và trí tưởng tượng của tôi đã không phát ra bất kỳ gợi ý tốt khác. – bleakgadfly

Trả lời

4

Dường như các emacs của bạn đang gặp khó khăn khi lưu tệp dưới dạng UTF-8 (điều này không có ý nghĩa nhiều vì nó có thể biểu diễn tất cả các ký tự sử dụng mã hóa đó). Bạn nên thử sử dụng trình chỉnh sửa khác có hỗ trợ mã hóa nhiều để lưu tệp dưới dạng UTF-8.

Mặc dù bạn không thể lưu tệp bằng UTF-8, LaTeX sẽ không thể đọc tệp đó một cách chính xác, trừ khi bạn chỉ định mã hóa tệp hiện tại của mình là tham số gói inputenc. Ví dụ: bạn có thể muốn thử lưu tệp như trong các biểu tượng emac nhưng chỉ định \usepackage[latin1]{inputenc} nên thực hiện thủ thuật nếu emacs đang ghi tệp bằng cách sử dụng thứ gì đó trong * iso-8859 - ** family.

+0

Tuyệt vời! Tôi không thể tin được toàn bộ điều đó là Emacs. Tôi chỉ cần sao chép toàn bộ tập tin vào gedit và nó làm việc kỳ diệu. Tôi tự hỏi vấn đề gì với Emacs là quá tệ. Cảm ơn, dù sao đi nữa! – bleakgadfly

+0

tôi nhận được các lỗi tương tự trong các emacs về char. mã hóa khi dán từ các tài liệu có mã hóa khác nhau. – Mica

4

tôi giải quyết lỗi này bằng cách thiết lập hệ thống mã hóa để lưu tập tin:

C-x C-m f utf-8-unix 
+0

Tôi cũng thế. Tôi đã sử dụng utf-8 làm mã hóa đầu vào của tệp. –

Các vấn đề liên quan