LaTeX
Thứ Ba, 20/01/2015, 00:01
Không biên dịch ra tiếng Việt được với kiểu văn bản amsart

Không biên dịch ra tiếng Việt được với kiểu văn bản amsart

[mks_dropcap style="rounded" size="35" bg_color="#1e73be" txt_color="#ffffff"]B[/mks_dropcap]Bạn Loan có hỏi Math2IT là tại sao bạn dùng kiểu văn bản amsart để soạn thảo một bài báo khoa học về Toán nhưng khi biên dịch thì tiếng Việt hiển thị không đúng. Do tính chất riêng tư của tài liệu nên Math2IT không có đăng lên đây để bạn đọc theo dõi. Math2IT chỉ muốn nói vài ý về file .tex mà bạn ấy gởi như sau
  1. amsart là một gói lệnh định dạng văn bản cũng tương tự như article  dùng trong \documentclass , tuy nhiên gói này tập trung chủ yếu cho việc gõ các tài liệu toán học.
  1. Có thể tóm tắt sơ qua nội dung chính của file tex mà bạn ấy gởi như sau \documentclass[reqno]{amsart} \usepackage[notref,notcite]{showkeys} \usepackage{hyperref} \usepackage{amssymb}
    1. \begin{document} \title [Tựa rút gọn]{Tựa đầy đủ} \author{Tác giả A\& Tác giả B} \begin{abstract} Tóm tắt nội dung.... \end{abstract} \newtheorem{definition}{Định nghĩa}[section] \maketitle \section{Giới thiệu} Nội dung đoạn giới thiệu.... \section{Phần chính} Nội dung phần chính \section*{Cảm ơn} Nội dung mục cảm ơn.... \begin{thebibliography}{name} \bibitem{abc1} .... \bibitem{abc2} .... \end{thebibliography} \end{document}
Bạn thấy rằng trong đoạn code trên, đã thiếu một dòng lệnh rất rất cơ bản để có thể biên dịch được tiếng Việt trong LaTeX, đó chính là dòng lệnh
\usepackage[utf8]{vietnam}
Sau một hồi "thử và thay", tôi phát hiện vấn đề nằm ở nội dung của \title{...} . Nếu như trong \title{...}  bạn chỉ dùng tiếng Anh thì sẽ biên dịch hoàn toàn bình thường. Nhưng khi bạn dùng tiếng Việt thì sẽ xuất hiện lỗi như trên, tại sao vậy? Lý do là vì gói lệnh amsart dùng một phương thức đặc biệt để viết in hoa trong cái tựa đề mà cách thức này lại không hỗ trợ utf8 . Thành ra khi biên dịch sẽ gặp lỗi ngay chỗ cái tựa đề nếu ta dùng tiếng Việt (hoặc các thứ tiếng khác ngoài tiếng Anh, ví dụ như tiếng Pháp). Để giải quyết vấn đề trên, rất đơn giản, bạn thêm vào gói lệnh sau
\usepackage{textcase}
Gói lện này cũng hoạt động tốt với utf8x. Tổng kết lại, chỉ cần thêm vào đoạn code gốc 2 câu lệnh sau là có thể biên dịch ra tiếng Việt một cách bình thường
\usepackage{textcase} \usepackage[utf8]{vietnam}
Cùng chủ đề