VieTeX

Chương trình soạn thảo TeX

Hoàn thành tự động trong VieTeX 2.7 (Autocomplete)

Posted by nhdien on 18/04/2009

I. Giới thiệu

Khi soạn thảo văn bản gõ các từ mới, gõ tới ký tự nào chương trình tự động liệt kê các từ tương tự trong từ điển có sẵn hoặc lọc các từ có sẵn trong tập được gọi là tự động hoàn thành. Công việc này liên quan tới chương trình soạn thảo mã nguồn của chương trình cho người lập trình. Mấy năm gần đây chức năng này đều có hầu hết ở mọi chương trình soạn thảo. Nếu bạn sử dụng VieTeX 2.7 có 2 mục hướng dẫn sử dụng chức năng này, cụ thể là từ Menu

Help–>Practical Help sau đó chọn 1. Hoàn thành tự động và 2. Tự động hoàn thành nâng cao có hướng dẫn chi tiết. Ở đây tôi chỉ điểm qua nét cơ bản chức năng này.

II. Các phương pháp hoàn thành tự động

Nếu bạn đã lập trình trong môi trường Windows, nhất là dùng bộ công cụ phát triển Microsoft Visual Studio thì khi gõ mã lệnh với các từ khóa hoặc các lệnh quen thuộc sẽ có một danh sách các lệnh có chung các kí tự hiện ra và ta chọn lấy lệnh đúng nhất. Trong soạn thảo tài liệu về LaTeX cũng có rất nhiều lệnh và ta ứng dụng công nghệ tự động hoàn thành rất thích hợp. Sau này người ta mở rộng không phải cho các lệnh đã biết trong danh sách tự động hoàn thành mà chọn bất kì danh sách nào. Có những phương pháp khác nhau tạo ra tự động hoàn thành một từ đang gõ vào văn bản:

 

1. Thông dụng nhất là lập danh sách các từ thông dụng nhất và lưu vào tệp. Khi soạn thảo gõ vào đến kí tự nào chương trình tự động hoàn thành sẽ lọc và liệt kê các từ tương tự để ta chọn, khi gõ từ gần đúng thì bộ lọc chỉ còn rất ít từ hoặc là ta chọn lấy hoặc chương trình tự động điền đầy đủ từ đó vào văn bản. Nghĩa là trước khi gõ ta không cần nhớ đầy đủ từ đó.

2. Các thứ hai cũng lập danh sách các từ, nhưng trên văn bản đang gõ vào. Nghĩa là chương trình tự động lập danh sách các từ đã có trong tệp đang soạn thảo và tự động hoàn thành cũng như phần trên.

 

Mỗi phương pháp đều có thế mạnh riêng, phương pháp thứ nhất làm ta chủ động lập danh sách các từ, nhưng bổ sung các từ mới không phải dễ, nhất là những người không chuyên về tin học. Mặt khác danh sách nhiều khi quá dài và có nhiều từ thừa không bao giờ dùng tới. Phương pháp thứ hai phải gõ từ đó ít nhất một lần vào văn bản, điều này phương pháp thứ nhất cũng không khá hơn vì lần đầu tiên dùng lệnh hoặc dùng từ đó đều phải tra cứu như nhau. Nhưng phương pháp này có lợi là mềm dẻo hơn, trong một văn bản LaTeX thì rất nhiều lệnh hoặc từ đều lặp đi lặp lại chứ không dùng tất cả dữ liệu từ điển và danh sách các lệnh LaTeX.

 

VieTeX các phiên bản cũ chỉ dùng một khả năng 1, từ phiên bản 2.7 đã tích hợp cả hai khả năng trên và dùng đồng thời một lúc, tạo ra việc sử dụng đa dạng khi ta hiểu cách sử dụng.

 

III. Cấu hình sử dụng Hoàn thành tự động

 

1. Có thể sử dụng chức năng này hoặc không, để thuận tiện trên Menu

Option–>Autocomplation
nếu được chọn nghĩa là sử dụng chức năng này nếu không thì bạn nhấn con trot vào đó sẽ mất lựa trọn và ngược lại.

2. Nếu dùng chức năng này thì ta có thể hiểu sâu hơn một chút, vào phần cấu hình lựa chon từ menu

Option–>configuration chọn Autocomplete

 

complete1

Ta chú ý có hai cách lựa chọn:
  + Autocomplete TeX commands only: lập danh sách các từ của lệnh TeX, không có các từ khác.
  + Autocomplete references: lập danh sách các từ khác nhau có trong tệp văn bản đang gõ vào.
Khi chọn lập danh sách các lệnh TeX thì chỉ có các lệnh TeX có $\backslash $ mới được lập. Chức năng này rất hay vì một văn bản
chỉ có một số hữu hạn lệnh lặp đi lặp lại. Đã chọn chức năng này thì chức năng thứ hai không có tác dụng.
Khi lập danh sách theo lựa chọn thứ hai thì các từ có trong văn bản kể cả các từ ở đầu có lệnh TeX. Như vậy lựa chọn này bao trùn lựa
chọn thứ nhất, tuy vậy danh sách sẽ dài và lựa chọn từ lâu hơn. Gõ văn bản bằng tiếng Anh lựa chọn này là tối ưu, do nhiều khi không
nhớ chính xác từ tiếng Anh.

Một cấu hình khác khi tự động hoàn thành không liệt kê danh sách mà trên dòng nhập từ, các từ nhập vào được tự động thay đổi trên dòng đó. Bạn có thể cài cấu hình này bằng chọn vào [Show word end] thì chỉ hiện ra một dòng từ để hoàn thành. Đây là hai kiểu tự động hoàn thành trong VieTeX.

 

3. Còn một số chức năng khác đơn giản tôi không hướng dẫn ở đây, chỉ chú ý là có 2 tệp lệnh TeX, một là dùng để tô màu những lệnh đã biết, trong chương trình tôi đã đặt là mầu tím, tệp này sẽ nói đến trong bài tô màu của VieTeX. Còn một tệp mặc định lập danh sách hoàn thành, nội dung là các lệnh cần liệt kê, các bạn có thể sửa đổi và làm cho ngắn đi thì càng tốt, hiện tại là trên 2000 lệnh (tôi đã để rất nhiều lệnh gói lệnh trong đó) còn LaTeX chỉ khoảng 700 đến 800 lệnh thôi.

 

Nếu các bạn soạn tệp riêng có thể thay tệp này bằng cách vào

Macro–>Change Autocomplete dic. và mở tệp từ điển của bạn là xong.

 

IV. Sử dụng Hoàn thành t ự động

Macro -> AutoComplete by Dictionary

Có phím tắt Alt+C để chuyển đổi từ dùng từ điển hay không, nếu có dấu dùng từ điển thì danh sách sẽ chuyển chỉ lấy trong danh sách từ điển mà thôi.

Thực hiện cách dùng:

1. Nếu ta chỉ dùng danh sách thì chọn mục này đánh dấu và không lợi dụng được tìm kiếm trên tệp đang gõ vào. Khi gõ đến đâu thì danh sách lọc trong từ điển đến đó cho bạn chọn.

2. Không lựa chọn mục này thì ta thực hiện gõ đến đâu danh sách được lập trong tệp đang gõ vào và không quan tâm tới danh sách có sẵn.

3. Không lựa chọn mục này khi gõ vào lập danh sách trên tệp không có từ ta muốn, lại muốn tham khảo danh sách từ điển thì chọn

Macro -> Get Auto from Dictionary

có phím tắt là Alt+Spacebar và danh sách được lọc trong từ điển đến những từ đang gõ được thay vào danh sách cũ, chọn từ xong ta vẫn ở chế độ hiện hành AutoComplete cả hai như vậy. Tôi hay dùng cách này thực hiện.

Chú ý phím tắt Alt+Spacebar khi con trỏ không đứng cạnh hoặc giữa từ nào thì nó lặng im, vì không có từ để lọc.

 autocomplete2

Có thể đổi danh sách Autocomplete, khi ta soạn Script, Pstrick, MetaPost

Macro -> Change AutoComplete Dictionary

 

Macro -> AutoComplete TeX Only

Đây là chức năng chỉ lọc các lệnh TeX còn môi trường và các từ khác không được đưa vào danh sách, chức năng này chỉ dùng cho người mới dùng TeX.

 

V. Một số hoàn thành tự động đặc biệt

 

1. Vẫn theo quan điểm danh sách được lập ngay trong tệp đang soạn thảo, VieTeX thiết kế một số danh sách tự động hoàn thành riêng.
+ Danh sách các nhãn: Trong bài đánh số bằng nhãn trong LaTeX với VieTeX đã nói rất kĩ đến chức năng này. Để quản lí các số đánh
bằng nhãn, VieTeX thiết lập danh sách tất cả các nhãn trong lệnh \label{}. Khi con trỏ ở giữa hai ngoặc nhọn của các lệnh \eqref{}, \ref{}, \pageref{}, \label{} thì danh sách được hiện lên như hình

 

 autocomplete3

 

+ Tự hoàn thành môi trường trong \begin{}, để lấy vào dễ dàng có các phím tắt sau:

Alt+[ ra \begin{}

Alt+] ra \end{}

Trong chế độ AutoClose bạn gõ vào \[ tự động ra ngay \begin{}

Theo mặc định danh sách các môi trường trong văn bản đang soạn được liệt kê ra ngay như các phiên bản cũ. Nhưng nếu không thấy môi trường thì có thể lại tham khảo danh sách có sẵn thay vào đó bằng cách phím tắt Ctrl+Spacebar hoặc

Macro -> Get Full Environment

Đặc biệt lần này không phai qua phím tắt nữa khi chọn tên môi trường xong là đầy đủ môi trường được lấy vào, tôi đang thiết kế để các bạn có thể thêm vào danh sách này tự động môi trường đầy đủ.

 

+ Môi trường tương tự là \cites{} và các nhãn trong \bibitem{} trong phần trích dẫn, khi ta đã có tài liệu theo trích dẫn ở trong tệp đang soạn thảo thì với lệnh tự động sẽ liệt kê ra để ta chọn

 

VI. Kết luận

Bằng công cụ trợ giúp đơn giản và sự thông minh của người dùng thì việc soạn thảo các lệnh và môi trường cùng các từ lặp đi lặp lại rất đơn giản và giống như trò chơi điện tử ta được tự thiết lập cuộc chơi và tự hoặc định chiến lược soạn thảo của mình.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: