Làm cách nào để biên dịch LaTeX trong UTF8? [đóng cửa]


81

Tôi đã làm tài liệu của mình theo tiêu chuẩn ISO. Nó không hỗ trợ bảng chữ cái có âm sắc, chẳng hạn như ä và ö. Tôi cần chúng. Tài liệu được biên dịch mà không có UTF8, nhưng không phải với UTF8. Chính xác hơn, tài liệu không được biên dịch với dòng ở đầu main.tex của tôi:

\usepackage[utf8]{inputenc}

Làm cách nào để biên dịch tài liệu LaTeX của tôi trong UTF8?

Câu trả lời:


103

Tôi không chắc liệu tôi có gặp sự cố của bạn hay không nhưng có thể hữu ích nếu bạn lưu trữ nguồn bằng cách sử dụng mã hóa UTF-8.

Tôi cũng đang sử dụng \usepackage[utf8]{inputenc}trong các nguồn LaTeX của mình và bằng cách lưu trữ các tệp dưới dạng tệp UTF-8, mọi thứ đều hoạt động bình thường.


Bạn có thể đưa ra lệnh để thay đổi cài đặt của tệp thành UTF-8 không? Làm cách nào tôi có thể xem cài đặt hiện tại của mình?
Léo Léopold Hertz 준영

2
Điều này phụ thuộc vào trình soạn thảo của bạn, nó sẽ có thể lưu trữ các tệp trong UTF-8. Vui lòng kiểm tra cài đặt ưu tiên áp dụng. Trên máy Mac của tôi, cung cấp cho tôi một hộp tổ hợp cho phép tôi giải quyết mã hóa trong hộp thoại tệp.
Uwe Honekamp

20

Lưu tệp của bạn ở định dạng UTF8.

Xác minh định dạng tệp bằng lệnh (UNIX) sau:

file -bi filename.tex 

Bạn nên thấy:

text/x-tex; charset=utf-8

Chuyển đổi tệp bằng cách sử dụng iconvnếu nó không phải là UTF8:

iconv --from-code=ISO-8859-1 --to-code=UTF-8 filename.txt > filename-utf.txt

1
Đây là một giải pháp ngắn hạn: Giải pháp của Uwe Honekamp giúp cuộc sống dễ dàng hơn, vì nó cho phép người ta gõ trực tiếp các chữ cái có dấu thay vì sử dụng các lệnh LaTeX kém dễ đọc.
Eric O Lebigot

3
file -ICó vẻ như nó đang ở trên el capitan
nicolas

file filename.texđã làm việc cho tôi (mojave)
Oskar Limka

14

\usepackage[utf8]{inputenc} sẽ không hoạt động đối với mục nhập thư mục như sau:

@ARTICLE{Hardy2007,
author = {Ibn Taymiyyah, Aḥmad ibn ʿAbd al{-}Halīm},
title = {Naqḍ al{-}manṭiq},
shorttitle = {Naqḍ al-manṭiq},
editor = {Ḥamzah, Aḥmad},
publisher = {Maktabat a{l-}Sunnah},
address = {Cairo},
year = {1970},
sortname = {IbnTaymiyyaNaqdalmantiq},
keywords = { Logic, Medieval}} 

Đối với mục nhập này, sử dụng \usepackage[utf8x]{inputenc}


Điều này giải quyết các vấn đề với các ký tự từ các ngôn ngữ khác (ví dụ: Trung Quốc, Nhật Bản, Hàn Quốc, Việt Nam), như trong ví dụ của bạn. Đọc thêm: tex.stackexchange.com/questions/13067/utf8x-vs-utf8-inputenc
caw

Tôi tình cờ gặp câu trả lời này và nó đã giải quyết cho tôi một vấn đề lâu dài với dấu gạch ngang và các chữ cái có dấu trong mục lục thanh bên của PDF.
Oskar Limka

5

Chuyển đổi tài liệu của bạn thành utf8. LaTeX chỉ đọc văn bản của bạn như nó vốn có. Nếu bạn muốn sử dụng mã hóa đầu vào utf8, tài liệu của bạn phải được mã hóa bằng utf8. Điều này thường có thể được thiết lập bởi trình chỉnh sửa. Ngoài ra còn có chương trình iconvhữu ích để chuyển đổi các tệp từ mã hóa iso sang utf.

Cuối cùng, bạn sẽ phải sử dụng một trình soạn thảo có khả năng hỗ trợ utf. (Tôi không có ý kiến ​​về tình trạng hỗ trợ utf trên windows, nhưng bất kỳ trình soạn thảo hợp lý nào trên linux sẽ ổn).


4
iconv --from-code = ISO-8859-1 --Để-code = UTF-8 iso.txt> utf.txt
Johan

0

Bạn cần phải biểu tượng hóa nguồn của mình.

Điều đó nói rằng, trình biên dịch dựa trên T E X được gọi bởi latexkhông thực sự hỗ trợ các mã hóa có độ dài thay đổi; nó cần các thư viện lớn cho nó biết rằng các byte nhất định đi cùng nhau. Xelatex nhận biết được Unicode và hoạt động tốt hơn nhiều.


0

Tôi sử dụng LEd Editor với tính năng "Bộ lọc" đặc biệt. Nó thay thế \ "{o} bằng ö và ngược lại trong trình soạn thảo của chính nó, đồng thời duy trì \" {o} nguyên bản trong tệp tex. Điều này làm cho văn bản có thể dễ dàng đọc được khi xem trong LEd Editor và không cần các gói đặc biệt. Nó cũng hoạt động với các tệp thư mục.


0

Tôi đã thành công khi sử dụng addon Chrome "Sharelatex". Trình chỉnh sửa trực tuyến này có khả năng tương thích tuyệt vời với hầu hết các tệp latex, nhưng nó hơi thiếu khả năng cấu hình. www.sharelatex.com

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.