Home / Công cụ / LaTeX / Tham chiếu tự động và thông minh với cleveref

Tham chiếu tự động và thông minh với cleveref

Print Friendly, PDF & Email

Tính năng này rất quan trọng vì: trong khi tạo các tham chiếu đến Table, Figure, Equation… bạn không nhớ đã ghi Table hay table hay TABLE etc. Và đó là lí do chúng ta muốn tự động hóa việc thêm các prefix phù hợp cho các đối tượng tham chiếu.

Using Cref for citation of references

Using Cref for citation of references

Trong hình minh họa, tôi cho ba trường hợp: tham chiếu tới (1) một hình (fig:MNHPC-model), (2) bảng biểu (tab:chap5-sub-enzymes) và (3) một chương (chap:graph). Cách làm sử dụng \Cref{nhãn tham chiếu} cho cả ba trường hợp này mà chúng ta không cần quan tâm đến đó là Figure, Table hay Chapter. Khi muốn capitialize figure, table hoặc chapter, bạn dùng \Cref còn không chúng ta dùng chữ thường \cref.

Gần đây tôi tìm ra được một gói đã giúp tôi tiết kiệm khá nhiều thời gian trong việc soạn thảo luận án: gói cleveref. Gói này rất dễ sử dụng, vì vậy tôi sẽ đi ngay vào giới thiệu nó cho các bạn. Nhưng trước hết, cần lưu ý rằng gói hyperref cung cấp một số tính năng tương tự với lệnh autoref, nhưng theo quan sát của tôi thì gói cleveref phức tạp hơn nhiều.

Cài đặt

Như thường lệ, gói cleveref được gọi trong phần đầu của tài liệu bằng lệnh \usepackage{cleveref}. Khi đó, trong tài liệu những nơi nào bạn cần tham chiếu đến các đối tượng nói trên đều phải dùng \cref{…} thay cho cách sử dụng figure~\ref{…} hay table~\ref{…}. Gói cleveref sẽ tự động nhận ra đâu là tham chiếu đến bảng, đâu là tham chiếu hình ảnh v.v… và nó sẽ in phần prefix tương ứng (nghĩa là: figure khi bạn muốn tham chiếu đến một đối tượng hình ảnh).

Đơn giản chỉ thế thôi. Và bây giờ tôi sẽ giới thiệu thêm một số điều khéo léo khác mà gói cleveref cung cấp.

Capitalized tham chiếu

Như những gì tôi biết được thì ngoài việc viết hoa kí tự đầu câu, khi tham chiếu đến các đối tượng như đã nêu ở trên đều phải viết hoa các kí tự đầu tiên (nghĩa là: Table, Figure, Chapter, Section v.v… thay cho table, figure, chapter, section etc.). Điều này thì rõ ràng vì Table, Figure, Chapter… đều là những từ đầu tiên của một caption. Và khi tham chiếu, chúng ta cần ghi chính xác tên đối tượng đó. Và do đó, không bao giờ dùng mạo từ “the” trước chúng.

Nói tóm lại, để capitialize các tham chiếu, chúng ta dùng \Cref{…} thay cho \cref{…}. Lưu ý kí tự “C” và “c”.

Nhiều tham chiếu cùng một lúc

Một tính năng thuận tiện nữa mà cleveref cung cấp đó là cho phép tham chiếu nhiều đối tượng bằng một lệnh. Ví dụ, \cref{eq1,eq2} sẽ in ra ‘eqs. (1) and (2)‘. Nhưng điều đó chưa hết. Khi tham chiếu đến các loại đối tượng khác nhau (tức là figures, equations và tables as in \cref{fig1,eq3,tb1}), gói này tự động in ra những tên và tham chiếu phù hợp.

Chỉnh sửa tên các tham chiếu

Trong trường hợp bạn muốn in đầy đủ các prefix name của các tham chiếu nhưng gói cleveref chỉ in ra ví dụ ‘eq. …‘ thay vì phải in là ‘equation …‘. Và lần này, điều đó được thay đổi dễ dàng bằng lệnh sau:

Ở đó, tham số đầu tiên của \crefname{}{}{} là kiểu tham chiếu (equation, figure, table, section, etc.). Tham số thứ hai chứa từ cần in ra nếu chỉ một tham chiếu được nhắc đến và tham số thứ ba chưa dạng số nhiều trong trường hợp bạn sử dụng nhiều tham chiếu cùng lúc mà chỉ có một lệnh \Cref{…}.

Tham khảo thêm

Dĩ nhiên tôi không thể nào trình hết công năng của gói cleveref trong một bài viết duy nhất này. Bạn có thể thử các tính năng khác mà gói cung cấp. Để biết thêm thông tin hay ghé thăm tài liệu hướng dẫn sử dụng gói cleveref tại the package documentation.

 

 

comments

About Admin

programming all time and taking a bread for the lunch hahaha... When you are engaging your work, nobody can attract you doing another thing. Otherwise, should should move to other jobs or are not interested in your job enough.