This page is READ-ONLY. It is generated from the old site.
All timestamps are relative to 2013 (when this page is generated).
If you are looking for TeX support, please go to VietTUG.org

Problem #123

Khắc phục lỗi Tiếng Việt khi dùng \MiKTeX version 2.7.3224.

Added by nqt over 4 years ago. Updated over 4 years ago.

Status: Closed Start Date: 02-11-2008
Priority: Normal Due date:
Assigned to: - % Done:

100%

Category: hệ thống: miktex
Target version: 2008_help
Resolution: Fixed
Votes: 0/0

Description

Lại là “cách cài Tiếng Việt cho \MiKTeX” nữa à?. Không hẳn vậy, mình nghĩ rằng: bài viết này mới và rất đáng theo dõi đây!
Trước hết, chúng ta xem dãy số 3224 trong file basic-miktex-2.7.3224.exe được download từ trang chủ http://www.miktex.org (mới nhất) nhé.

Dãy số xxxx này trong file basic-miktex-2.7.xxxx.exe thường là kí hiệu của phiên bản “update” của \MiKTeX. Hiển nhiên, số xxxx càng lớn thì phiên bản miktex càng mới.
Vấn đề là: tại sao lại không thể biên dịch Tiếng Việt với phiên bản basic-miktex-2.7.3224.exe
này?

Các bạn chú ý rằng: chúng ta thường cài Tiếng Việt cho \MiKTeX như sau
  1. Download file vntex_3.1.7.zip trên trang chủ
  2. Giải nén vào 1 thư mục nào đó, chẳng hạn: C:\Program Files\MiKTeX_Thi\vntex_3.1.7.
  3. Chạy start->run->mo. Chọn tab Roots, chọn Add C:\Program Files\MiKTeX_Thi\vntex_3.1.7. Làm thế này để nạp Tiếng Việt cho \MiKTeX đây.

Các bạn có thể chạy texhash và updmap từ cmd nữa (cảm ơn garcon nhiều). Thật sự mình không hiểu 2 lệnh này có tác dụng gì (tuy nhiên nó khắc phục được lỗi Tiếng Việt cho gói powerdot! :))

  • Như vậy là hoàn thành.
  • Điều này chỉ đúng khi cài đặt \MiKTeX 2.7 version (nhỏ hơn) <.3224. b th m ki r download c>
  • Lỗi bắt đầu từ đây: Khi biên dịch một file *.tex (bằng pdflatex) có nạp gói \usepackage[utf8]{vietnam} chẳng hạn
\documentclass{article}
\usepackage[utf8]{vietnam}
\begin{document}
Tại sao lại như thế?
\end{document}

thì nó báo lỗi như sau, mình liệt kê “chỗ” báo lỗi của nó ở file *.log nhé.
! Undefined control sequence.
<argument> \PreloadUnicodePage{0}\PreloadUnicodePage {1}\PreloadUnicodePage...
l.3 \begin{document}

The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.

! Undefined control sequence.
<argument> ...dUnicodePage {0}\PreloadUnicodePage 
                                                  {1}\PreloadUnicodePage {30...
l.3 \begin{document}

The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.

! Undefined control sequence.
<argument> ...dUnicodePage {1}\PreloadUnicodePage 
                                                  {30}\ifx \UnicodeCharFilte...
l.3 \begin{document}

The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.

! Undefined control sequence.
<argument> ...ilter \@undefined \UCSProtectionIeC 
                                                  \else \UnicodeCharFilter \...
l.3 \begin{document}

The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.

Tuy nhiên, báo lỗi như thế chỉ ảnh hưởng đến file *.pdf vừa mới được tạo ra. Bạn chú ý: ngoài việc xuất ra file bình thường nó còn khuyến mãi thêm số 0130 tại trang đầu tiên của văn bản đấy!

Mệt rồi! Thật sự, với “trình độ” của mình thì việc sửa lỗi này là “quá sức” tưởng tượng.

Tại sao lại như thế?, Tại sao việc biên dịch Tiếng Việt gặp lỗi đối với version basic-miktex-2.7.3224.exe, còn các version xxxx nhỏ hơn chẳng hạn: 2904, 3164, 3107 thì OK (không bị), như vậy?

Việc này có phải là: Đối với version mới của \MiKTeX thì: trong đó, có một số gói được “update” và hiển nhiên họ sẽ “xóa” hoặc “định nghĩa” lại một số “lệnh” đã có (xin lỗi là mình chỉ hiểu như thế mà thôi, còn họ “xóa” hoặc “định nghĩa” cái gì thì mình không biết).
Như vậy, việc cài Tiếng Việt cho \MiKTeX gặp “thất bại” chăng!

Thật bất ngờ, mình có thể khắc phục được lỗi này nhờ file vntex-nonfree-3.1.7.zip trên trang chủ của vntex. TS. Hàn Thế Thành chu đáo thật! Nhưng sao không nạp cả 2 file vntex-3.1.7.zip và vntex-nonfree-3.1.7.zip hoặc là hướng dẫn cái file vntex-nonfree-3.17.zip chi tiết cho tụi mình nhờ ?!

Cách khắc phục là:
  1. Giải nén file vntex-nonfree-3.1.7.zip thành thư mục vntex-3.1.7.
  2. Chép thư mục vntex-3.1.7 này vào thư mục C:\Program Files\MiKTeX_Thi (với mục đích là đè vntex-nonfree-3.1.7 vào vntex-3.17). Nó báo gì thì bạn cứ OK đi nhé.

Như vậy là xong, bạn có thể chạy texhash và updmap để có thể dùng được cho gói powerdot. Híc mình vẫn không hiểu texhash, updmap dùng làm gì? Tại sao lại chỉ dùng cho powerdot thôi?

PS:
  1. Bài viết này rất dài, xin lỗi các bạn, nhưng rất cần thiết để các bạn thấy được “đường đi” của mình và hiển nhiên các bạn cảm thấy “sảng khoái”. Hic! nếu mình nói là: chép đè thư mục vntex-nonfree-3.17 vào thư mục vntex-3.1.7 là xong cái lỗi này thì “khỏe lắm rồi” :).
  2. Hy vọng khi gặp một vấn đề gì, các bạn cứ trình bày càng cụ thể càng tốt (như mình chắc dễ hiểu lắm :)).
  3. Mong các bạn có ý kiến gì cụ thể (tài liệu tiếng Việt của TS. Hàn Thế Thành và Thái Phú Khánh Hòa không thật sự chi tiết hoặc là mình “còn yếu” để hiểu được nó!) cho việc cài Tiếng Việt cho \TeX cả cho hệ thống Windows và Linux.

Thật sự là với cách cài tiếng Việt như trên thì (hình như) không thật đầy đủ lắm.

Mình thường biên dịch và thấy rằng: nó xuất hiện rất nhiều cảnh báo font “kiểu” như:

LaTeX Font Warning: Font shape `T5/cmss/m/sc' in size <12> not available
LaTeX Font Warning: Font shape `T5/cmss/m/sc' in size <14.4> not available

Đau cái điền thật!

Hy vọng việc này sẽ giúp ích cho các bạn nhiều!

History

Updated by over 4 years ago

  • Category set to hệ thống: miktex
  • Assigned to set to 3
  • Target version set to 2008_help

Cảm ơn nqt về bài viết rất chi tiết. Mình sẽ giúp nqt chuyển bài này vào trang Wiki nhé!

Mình có vài thắc mắc nhỏ:
  1. Các bộ cài MikTeX và VnTeX có fresh không? Tức là cài mới toanh, đã gỡ bỏ những hệ thống trước
  2. Tài liệu được soạn trong Editor nào? (câu hỏi này liên quan tới việc phát sinh ra ký tự 0130)

Updated by nqt over 4 years ago

    1. Mình cài mới hoàn toàn từ Windows XP.
    2. và editor của mình là Winshell 3.2.1 mà.

    Updated by over 4 years ago

    • Status changed from New to Rejected

    nqt wrote:

    1. Mình cài mới hoàn toàn từ Windows XP. 2. và editor của mình là Winshell 3.2.1 mà.

    Mình đã cài VnTeX (bản chính thức, không kèm bản non-free) cùng với MiKTeX-2.7 (3224) để có VnMiK 4.0.1. Mọi chuyện rất bình thường. Vấn đề mà nqt gặp phải có thể là do Editor mà ra.

    nqt vất vả thế, sao không xài vnmik đi :)

    Updated by nqt over 4 years ago

      kyanh wrote:

      nqt wrote:

      1. Mình cài mới hoàn toàn từ Windows XP. 2. và editor của mình là Winshell 3.2.1 mà.

      Mình đã cài VnTeX (bản chính thức, không kèm bản non-free) cùng với MiKTeX-2.7 (3224) để có VnMiK 4.0.1. Mọi chuyện rất bình thường. Vấn đề mà nqt gặp phải có thể là do Editor mà ra.

      nqt vất vả thế, sao không xài vnmik đi :)

      Trước lúc thử \VnMiK, mình thường cài và nghiên cứu phần mềm mà! Mình có ý kiến thế này: Mình đang dùng \MiKTeX. Câu hỏi:
      1. Nếu sử dụng \VnMiK thì mình nên bắt đầu từ đâu?
      2. Khi cài \VnMiK thì có cần remove \MiKTeX đang dùng không?
      3. Nếu muốn cài đặt và cập nhật một gói nào đó (chưa có trong \VnMiK) thì mình sẽ làm thế nào?
      Việc này trong \MiKTeX, mình làm được rồi.
      4. Việc biên dịch file *.tex có gặp trở ngại gì không?
      Mình mong các bạn \VnMiK hướng dẫn kĩ nhé!

      Updated by over 4 years ago

        nqt wrote:

        Mình mong các bạn VnMiK hướng dẫn kĩ nhé!
        Bản VnTeX hiện nay là 4.0.1, chưa ổn định. Đầu tuần sau mình sẽ release VnTeX bản 4.1.0 phần lõi, stable hơn.

        Người dùng TeX thường hay học lộn ngược: thay vì nghiên cứu TeX lại nghiên cứu editor và hệ thống. {{file(42/whois.pdf:Trong bản hệ thống)}} sẽ cho thấy mình nên nghiên cứu cái gì trước. Hãy nghiên cứu các gói LaTeX, sẽ thú vị hơn nhiều:)

        Về VnMiK thì nqt nên xem VnMiK, {{file(40/ReadMe.jpg:ReadMe.jpg)}} và {{file(37/project_map.jpeg:project_map)}}. VnMiK cũng là hệ thống MiKTeX nên để dùng thì phải tạm gỡ bỏ đi hệ thống TeX trước đó.

        Updated by nqt over 4 years ago

          kyanh wrote:

          Mình đã cài VnTeX (bản chính thức, không kèm bản non-free) cùng với MiKTeX-2.7 (3224) để có VnMiK 4.0.1. Mọi chuyện rất bình thường. Vấn đề mà nqt gặp phải có thể là do Editor mà ra.

          Nếu là do Editor (mình dang dùng WinShell 3.2.1) thì mình sao nó không bị lỗi đối với các version trước bản \MiKTeX 2.7 3224 này. Mình có thể khắc phục lỗi (0130) này bằng cách editor nào (ngoài WinShell) không?
          Cảm ơn bạn kyanh

          Updated by over 4 years ago

            nqt wrote:

            kyanh wrote: Nếu là do Editor (mình dang dùng WinShell 3.2.1) thì mình sao nó không bị lỗi đối với các version trước bản MiKTeX 2.7 3224 này. Mình có thể khắc phục lỗi (0130) này bằng cách editor nào (ngoài WinShell) không?

            Editor và bộ gõ tiếng Việt không khớp nhau. Điều đó làm sai lệch về encoding. Mình để ý là nqt gõ một tài liệu mới và gặp lỗi. Liệu mở tài liệu cũ lên có gặp như vậy không? Để ý rằng, việc cài gói VnTeX không đơn giản, mà phải thêm một bước là bổ sung thêm các ánh xạ font. Mình xin khẳng định một điều là mình cài MiKTeX 2.7 3224 basic + VnTeX và mọi chuyện rất bình thường.

            Have fun!

            Updated by over 4 years ago

            • Status changed from Rejected to Closed
            • % Done changed from 0 to 100
            • Resolution set to Fixed

            Lỗi phát sinh do hệ thống MiKTeX cũ chưa được hoàn toàn gỡ bỏ khỏi hệ thống trước khi cài bộ mới.

            Updated by nqt over 4 years ago

              kyanh wrote:

              Lỗi phát sinh do hệ thống MiKTeX cũ chưa được hoàn toàn gỡ bỏ khỏi hệ thống trước khi cài bộ mới.

              Cảm ơn kyanh! Vừa rồi, nhận được đĩa \MiKTeX 2.7 của bạn gởi. Mình chép vào ổ cứng. Và khi cài từ đây thì sẽ không báo lỗi gì nữa (rõ ràng do bộ \MiKTeX của mình bị lỗi rồi!). Hay thật! Đây là lần đầu tiên mình cài \MiKTeX từ đĩa CD (trước đó mình thường cài từ file .exe 82 M lấy từ trang chủ), hiển nhiên khi biên dịch, nếu thiếu gói nào thì nó tự nạp vào hệ thống luôn.