Tùy chỉnh cách đánh số chapter, section, subsection trong LaTeX

Mặc định LaTeX sẽ đánh số các section, subsection theo dạng 1.1, 1.1.1, 2.1 hay đại loại thế. Bây giờ bạn muốn tùy chỉnh cách đánh số này như chuyển về số La Mã, chỉ đánh 1, 2, 3 thôi thì phải làm sao? Bài viết này sẽ cố gắng giúp bạn làm điều này. Ý tưởng đến từ một câu hỏi của bạn Trần Văn Hoàng trên trang facebook của Math2IT.

 Xem thêm : Hiện chữ “Chương” và “Phần” ở Mục Lục trong bài viết LaTeX.

Để cho dễ hiểu, ta có một đoạn code rất bình thường như sau

Theo mặc định, nó sẽ cho ra kết quả giống như vầy (tôi chỉ chú trọng vào mục lục để dễ thấy cách nó đánh số thôi)

Mặc định

Ví dụ bạn muốn đổi giống như hình dưới đây

Bạn muốn

Cách làm rất đơn giản, cụ thể để ra được cái như ở trên, bạn chỉ cần thêm 2 dòng code sau vào trước \begin{document}  là được

Nếu bạn nào “lười”, có thể copy toàn bộ đoạn code (đã chứa hai dòng code trên) ở dưới

Đoạn code đầy đủ

Bây giờ chúng ta sẽ “chơi” với các tùy chỉnh khác, xuất phát từ ý tưởng của hai dòng code này. 

Bạn có thể định nghĩa lại các section, subsection, chapter, part,… bằng cách dùng \renewcommand\thesection , khi ấy thay \thesection  (section) bởi các cái khác mà bạn muốn. Lưu ý là “Phần” và “Chương” chỉ khả dụng với loại văn bản “book” và “report” thôi nha.

  • Phần (part) :  \thepart 
  • Chương (chapter) :  \thechapter 
  • Mục (section) :  \thesection 
  • Phụ mục (subsection) :  \thesubsection 
  • v.v…

Bây giờ tới lượt cách mà bạn muốn nó hiển thị, ở trên là chữ số La Mã, vậy còn cái gì khác?

  • \arabic (1, 2, 3, …)
  • \alph (a, b, c, …)
  • \Alph (A, B, C, …)
  • \roman  (i, ii, iii, …)
  • \Roman  (I, II, III, …)
  • \fnsymbol  (∗, †, ‡, §, ¶, …)

Đừng quên đối chiếu với hai dòng code ở phía trên để biết cách sử dụng nhé. Dưới đây là một ví dụ cho bạn dễ hiểu

Nếu có thắc mắc gì thì đừng ngại comment bên dưới bài viết nhé. Chúc bạn thành công.

Math2IT

Math2IT

Đây là tác giả chung cho các bài viết không do trực tiếp tác giả cụ thể nào của Math2IT viết. Có thể đó là các bài dịch từ các bài viết nước ngoài hoặc các bài viết thiên về kỹ thuật và thông báo.

  • Phúc Hoà Trần

    Mình muốn tạo một số ngẫu nhiên từ 2 đến 10 thì làm thế nào?

    • Ý bạn hỏi là làm trong đâu? Lập trình? Bấm máy tính bỏ túi? Hay là làm trong latex? Mục đích để làm gì bạn?

      • Phúc Hoà Trần

        Ý của mình là làm trong Latex.

        • Bạn dùng các dòng lệnh sau, đặt trước begin{document}

          usepackage[first=2, last=10]{lcg}
          newcommand{random}{randarabic{rand}}

          Sau đó thì dùng nó trong văn bản, chỗ nào bạn muốn hiện số bất kỳ đó thì cứ dùng

          random

          Các thứ có thể tùy chỉnh được trong đoạn code ở trên là “2”, “10”, “random”. Để có thể làm thêm nhiều thứ khác, bạn vui lòng xem document của gói lệnh “lcg”

        • Tran Phuc Hoa

          Cám ơn bạn Đinh Anh Thi nhiều.

  • Trinh

    Mình muốn tạo section 1.1.1.1 thì làm sao bạn ơi. Thanks.

    • Thi Minh Nhựt

      Chào ban, câu này tôi biết, tôi xin trả lời dùm được không bạn!

      Để đánh số 1.1.1.1 như bạn miêu tả, chúng ta làm như sau:
      * Với lớp article:
      + Khai báo trước begin{document} các lệnh sau:
      setcounter{tocdepth}{4}
      setcounter{secnumdepth}{4}
      newcommand{subsubsubsection}[1]{paragraph{#1}mbox{}medskip\}
      + Sử dụng lệnh subsubsubsection{Nội dung} —> tạo ra cách đánh số như bạn mô tả.
      + File code ví dụ: https://goo.gl/4hAnOl
      + File kết quả (file pdf): https://goo.gl/18eT6U

      * Với lớp report:
      + Khai báo trước begin{document} các lệnh sau:
      setcounter{tocdepth}{3}
      setcounter{secnumdepth}{3}
      + Sử dụng lệnh subsubsection{Nội dung} —> tạo ra cách đánh số như bạn mô tả.
      + File code ví dụ: https://goo.gl/p0X9A2
      + File kết quả (file pdf): https://goo.gl/pb1dux

      * File code của hai phần trên: https://goo.gl/jBm8Vn

      Hy vọng, vọng ít được cho bạn!

  • Chung

    mình muốn tạo head and foot cho các trang văn bản, đã sử dụng:
    \usepackage{fancyhdr}
    \lhead[trang chan]{trang le}
    mà không thực hiện được?
    PS: máy báo là không tìm được file trên.
    Nhờ bạn giúp đỡ. Thanks

    • Cái này liên quan đến latex chứ không phải tại gói lệnh hay thủ thuật này bạn ơi. Bạn xem lại latex trê máy có hoạt động bình thường không?