khóa học overleaf latex cho người bắt đầu
Hướng dẫn Overleaf
Tạo một tài liệu trong Overleaf
Tải lên một project
Sao chép một dự án
Tạo một project từ một mẫu có sẵn
Sử dụng menu dự án Overleaf
Thêm hình ảnh trong Overleaf
Xuất file từ Overleaf
Làm việc ngoại tuyến trong Overleaf
Sử dụng Track Changes trong Overleaf
Sử dụng tài liệu tham khảo trong Overleaf
Chia sẻ project của bạn với người khác
Sử dụng tính năng Lịch sử
Gỡ lỗi lỗi thời gian chờ biên dịch
Hướng dẫn về các tính năng cao cấp của Overleaf
Cơ bản về LaTeX
Tạo file LaTeX đầu tiên
Chọn trình biên dịch LaTeX
Đoạn văn và dòng mới
In đậm, in nghiêng và gạch chân
Danh sách
Toán học trong latex
Biểu thức toán học
Chỉ số dưới và chỉ số trên
Dấu ngoặc vuông và dấu ngoặc tròn
Ma trận
Phân số và Nhị thức
Căn chỉnh các công thức
Các toán tử
Khoảng cách trong toán học
Tích phân, tổng và giới hạn
Hiển thị kiểu trong toán học
Danh sách các chữ cái Hy Lạp và ký hiệu toán học
Phông chữ toán học
Sử dụng Bảng ký hiệu trong Overleaf
hình ảnh và bảng biểu
Bảng biểu và hình ảnh
Chèn hình ảnh
Chèn Bảng
Chỉnh vị trí hình ảnh và bảng
Danh sách các bảng và hình
Vẽ Diagram trực tiếp trong LaTeX
Gói TikZ
Tài liệu tham khảo và trích dẫn
Quản lý thư mục với bibtex
Quản lý thư mục với natbib
Quản lý thư mục với biblatex
Thư mục Bibtex
Thư mục Natbib
Trích dẫn Natbib
Thư mục Biblatex
Trích dẫn Biblatex
Cấu trúc tài liệu
Các phần và chương
Mục lục
Tham chiếu chéo các phần, phương trình và số thực
Chỉ số
Thuật ngữ
Danh pháp
Quản lý trong một dự án lớn
Các project LaTeX nhiều tệp
Siêu liên kết
Định dạng trong latex
Độ dài trong LaTeX
Tiêu đề và chân trang
Đánh số trang
Định dạng đoạn văn
Ngắt dòng và khoảng trắng
Căn chỉnh văn bản
Kích thước trang và lề
Tài liệu một mặt và hai mặt
Nhiều cột
Bộ đếm
Mã danh sách
Làm nổi bật mã với minted
Sử dụng màu sắc trong LaTeX
Chú thích
Ghi chú bên lề
Phông chữ
Kích thước phông chữ, họ phông chữ và kiểu chữ
Kiểu chữ
Hỗ trợ phông chữ hiện đại với LaTeX
Bài thuyết trình
Máy chiếu
Powerdot
Áp phích
Lệnh trong latex
Lệnh
Môi trường
Lĩnh vực cụ thể
Định lý và chứng minh
Công thức hóa học
Biểu đồ Feynman
Biểu đồ quỹ đạo phân tử
Ký hiệu cờ vua
Mẫu đan
Gói CircuiTikz
Gói Pgfplots
Bài kiểm tra sắp chữ trong LaTeX
Đan
Ma trận giá trị thuộc tính
Tập tin class
Hiểu về các gói và tệp lớp
Danh sách các gói và tệp lớp
Viết gói của riêng bạn
Viết lớp học của riêng bạn
TeX/LaTeX nâng cao
Các bài viết chuyên sâu về TeX/LaTeX
NỘI DUNG HỌC OVERLEAF LATEX
Hướng dẫn giới thiệu này không yêu cầu bạn có kinh nghiệm trước với LaTeX, nhưng hy vọng rằng khi hoàn thành, bạn sẽ không chỉ viết được tài liệu LaTeX đầu tiên của mình mà còn có đủ kiến thức và sự tự tin để tiến bước tiếp theo trên con đường thành thạo LaTeX.
LaTeX là gì?
LaTeX (phát âm là “LAY-tek” hoặc “LAH-tek”) là một công cụ để soạn thảo các tài liệu có vẻ ngoài chuyên nghiệp. Tuy nhiên, cách hoạt động của LaTeX khá khác biệt so với nhiều ứng dụng tạo tài liệu khác mà bạn có thể đã sử dụng, chẳng hạn như Microsoft Word hoặc LibreOffice Writer: những công cụ “WYSIWYG” (What You See Is What You Get) cung cấp cho người dùng một trang tương tác để nhập và chỉnh sửa văn bản cũng như áp dụng các kiểu định dạng khác nhau. LaTeX hoạt động rất khác: thay vào đó, tài liệu của bạn là một tập tin văn bản thuần túy được chèn các lệnh LaTeX để thể hiện các kết quả (được định dạng) mong muốn. Để tạo ra tài liệu định dạng hiển thị, tập tin LaTeX của bạn được xử lý bởi một phần mềm gọi là máy TeX, sử dụng các lệnh nhúng trong tập tin văn bản của bạn để hướng dẫn và điều khiển quá trình định dạng, chuyển các lệnh LaTeX và văn bản tài liệu thành một tập tin PDF được định dạng chuyên nghiệp. Điều này có nghĩa là bạn chỉ cần tập trung vào nội dung của tài liệu và máy tính, thông qua các lệnh LaTeX và máy TeX, sẽ lo liệu về ngoại hình (định dạng).
Tại sao nên học LaTeX?
Có nhiều lý do có thể được đưa ra để ủng hộ hoặc phản đối việc học LaTeX thay vì các ứng dụng tạo tài liệu khác; nhưng cuối cùng, đó là sự lựa chọn cá nhân dựa trên sở thích, ưu tiên và yêu cầu tài liệu.
Các lý do ủng hộ LaTeX bao gồm:
- Hỗ trợ định dạng các toán học, bảng biểu và nội dung kỹ thuật cực kỳ phức tạp cho các ngành khoa học vật lý.
- Cung cấp các tính năng cho chú thích, tham chiếu chéo và quản lý thư mục tài liệu.
- Dễ dàng tạo ra các phần tài liệu phức tạp hoặc tẻ nhạt như mục lục, từ điển, danh sách nội dung, danh sách hình ảnh.
- Có khả năng tùy chỉnh cao để sản xuất tài liệu theo yêu cầu đặc biệt nhờ tính lập trình và khả năng mở rộng thông qua hàng ngàn gói mở rộng miễn phí.
Tổng quan về LaTeX
LaTeX cung cấp cho người dùng nhiều quyền kiểm soát trong việc sản xuất các tài liệu được định dạng đạt tiêu chuẩn cao. Tuy nhiên, cũng có những loại tài liệu hoặc ấn phẩm mà LaTeX không thể phát huy thế mạnh, chẳng hạn như nhiều thiết kế trang “tự do” thường thấy trong các ấn phẩm dạng tạp chí.
Một lợi ích quan trọng của LaTeX là khả năng tách biệt nội dung tài liệu khỏi kiểu dáng tài liệu: sau khi bạn đã viết nội dung tài liệu, bạn có thể dễ dàng thay đổi cách trình bày của nó. Tương tự, bạn có thể tạo một tệp LaTeX định nghĩa kiểu dáng/bố cục của một loại tài liệu cụ thể và tệp này có thể được sử dụng như một mẫu để chuẩn hóa việc viết/ sản xuất các tài liệu bổ sung cùng loại; ví dụ, điều này cho phép các nhà xuất bản khoa học tạo ra các mẫu bài báo bằng LaTeX mà các tác giả sử dụng để viết các bài báo nộp cho các tạp chí. Overleaf có một thư viện chứa hàng ngàn mẫu, bao phủ một phạm vi tài liệu rộng lớn—từ các bài báo khoa học, báo cáo và sách đến sơ yếu lý lịch và bài thuyết trình. Bởi vì những mẫu này định nghĩa kiểu dáng và bố cục của tài liệu, các tác giả chỉ cần mở chúng trong Overleaf—tạo một dự án mới—và bắt đầu viết để thêm nội dung của họ.
Viết tài liệu LaTeX đầu tiên của bạn
Bước đầu tiên là tạo một dự án LaTeX mới. Bạn có thể làm điều này trên máy tính của mình bằng cách tạo một tệp .tex mới; hoặc, bạn có thể bắt đầu một dự án mới trên Overleaf.
Hãy bắt đầu với ví dụ đơn giản nhất, mà bạn có thể mở trực tiếp trên Overleaf:
documentclass{article}
begin{document}
First document. This is a simple example, with no
extra parameters or packages included.
end{document}
Ví dụ này tạo ra kết quả sau:
Bạn có thể thấy rằng LaTeX đã tự động thụt lề dòng đầu tiên của đoạn văn, xử lý việc định dạng đó cho bạn. Hãy xem kỹ hơn từng phần của mã của chúng ta.
Dòng mã đầu tiên, `documentclass{article}`, khai báo loại tài liệu được gọi là lớp tài liệu, điều khiển toàn bộ vẻ ngoài của tài liệu. Các loại tài liệu khác nhau yêu cầu các lớp khác nhau; ví dụ, một CV/sơ yếu lý lịch sẽ yêu cầu một lớp khác so với một bài báo khoa học, có thể sử dụng lớp bài báo tiêu chuẩn của LaTeX. Các loại tài liệu khác mà bạn có thể đang làm việc có thể yêu cầu các lớp khác như sách hoặc báo cáo.
Sau khi đã thiết lập lớp tài liệu, nội dung của chúng ta, được gọi là phần thân của tài liệu, được viết giữa các thẻ `begin{document}` và `end{document}`. Sau khi mở ví dụ trên, bạn có thể thay đổi văn bản và, khi hoàn tất, xem PDF đã được định dạng kết quả bằng cách biên dịch lại tài liệu. Để thực hiện điều này trong Overleaf, chỉ cần nhấn vào nút “Recompile”, như được minh họa trong đoạn video ngắn sau đây:
Bất kỳ dự án Overleaf nào cũng có thể được cấu hình để tự động biên dịch lại mỗi khi nó được chỉnh sửa: nhấp vào mũi tên nhỏ bên cạnh nút Recompile và đặt Auto Compile thành Bật, như được hiển thị trong ảnh chụp màn hình sau đây:
Sau khi đã thấy cách thêm nội dung vào tài liệu của chúng ta, bước tiếp theo là đặt tiêu đề cho nó. Để làm điều này, chúng ta cần nói qua về phần tiền đề (preamble).
Phần tiền đề của tài liệu
Ảnh chụp màn hình ở trên cho thấy Overleaf lưu tài liệu LaTeX dưới dạng tệp có tên là `main.tex`: phần mở rộng `.tex` được sử dụng theo quy ước khi đặt tên các tệp chứa mã LaTeX của tài liệu.
Ví dụ trước đó đã chỉ ra cách nội dung tài liệu được nhập sau lệnh `begin{document}`; tuy nhiên, mọi thứ trong tệp `.tex` của bạn xuất hiện trước điểm đó được gọi là phần tiền đề (preamble), đóng vai trò là phần “cài đặt” của tài liệu. Trong phần tiền đề, bạn định nghĩa lớp tài liệu (loại) cùng với các chi tiết cụ thể như ngôn ngữ sẽ được sử dụng khi viết tài liệu; tải các gói mà bạn muốn sử dụng (sẽ được giải thích thêm sau), và đây là nơi bạn áp dụng các cấu hình khác.
Một phần tiền đề tối thiểu có thể trông như sau:
documentclass[12pt, letterpaper]{article}
usepackage{graphicx}
Phần tiền đề của tài liệu
Trong LaTeX, lệnh `documentclass[12pt, letterpaper]{article}` định nghĩa lớp (loại) tổng thể của tài liệu. Các tham số bổ sung, phải được phân cách bằng dấu phẩy và được đặt trong dấu ngoặc vuông (`[…]`), được sử dụng để cấu hình phiên bản của lớp `article` này; tức là các thiết lập mà chúng ta muốn sử dụng cho tài liệu dựa trên lớp `article` cụ thể này.
Trong ví dụ này, hai tham số thực hiện các chức năng sau:
– `12pt` xác định kích thước phông chữ.
– `letterpaper` xác định kích thước giấy.
Tất nhiên, các kích thước phông chữ khác như 9pt, 11pt, 12pt có thể được sử dụng, nhưng nếu không chỉ định, kích thước mặc định là 10pt. Đối với kích thước giấy, các giá trị khác có thể là `a4paper` và `legalpaper`.
Dòng tiền đề này
usepackage{graphicx}
Dòng lệnh này là một ví dụ về việc tải một gói ngoài (ở đây là `graphicx`) để mở rộng khả năng của LaTeX, cho phép nó nhập các tệp đồ họa bên ngoài.
Tiêu đề, tên tác giả và thông tin ngày tháng
Để thêm tiêu đề, tác giả và ngày tháng vào tài liệu của bạn, cần thêm ba dòng nữa vào phần tiền tố (preamble) của tài liệu (không phải phần thân của tài liệu). Các dòng đó là:
– `title{My first LaTeX document}`: tiêu đề của tài liệu
– `author{Hubert Farnsworth}`: tại đây bạn viết tên của tác giả(s) và, nếu cần, có thể thêm lệnh `thanks` trong dấu ngoặc nhọn:
– `thanks{Funded by the Overleaf team.}`: có thể thêm sau tên tác giả, bên trong dấu ngoặc nhọn của lệnh tác giả. Nó sẽ thêm một chỉ số phụ và một chú thích với văn bản bên trong dấu ngoặc. Hữu ích nếu bạn cần cảm ơn một tổ chức trong bài viết của mình.
– `date{August 2022}`: bạn có thể nhập ngày tháng thủ công hoặc sử dụng lệnh `today` để in ngày hiện tại mỗi khi tài liệu được biên dịch.
Với các dòng này được thêm vào, phần tiền tố của bạn sẽ trông giống như thế này:
documentclass[12pt, letterpaper]{article}
title{My first LaTeX document}
author{Hubert Farnsworththanks{Funded by the Overleaf team.}}
date{August 2022}
Để in tiêu đề, tác giả và ngày tháng, hãy sử dụng lệnh maketitle trong phần thân của tài liệu:
begin{document}
maketitle
We have now added a title, author and date to our first LaTeX{} document!
end{document}
Phần tiền tố và phần thân tài liệu giờ đây có thể được kết hợp để tạo ra một tài liệu hoàn chỉnh, có thể được mở trong Overleaf:
documentclass[12pt, letterpaper]{article}
title{My first LaTeX document}
author{Hubert Farnsworththanks{Funded by the Overleaf team.}}
date{August 2022}
begin{document}
maketitle
We have now added a title, author and date to our first LaTeX{} document!
end{document}
Ví dụ này tạo ra kết quả sau:
Bạn có thể thấy rằng LaTeX đã tự động thụt lề dòng đầu tiên của đoạn văn, tự lo phần định dạng đó cho bạn. Hãy cùng xem kỹ hơn từng phần của mã lệnh này hoạt động như thế nào.
Dòng mã đầu tiên, documentclass{article}, khai báo loại tài liệu được gọi là lớp của nó, lớp này kiểm soát hình thức tổng thể của tài liệu. Các loại tài liệu khác nhau yêu cầu các lớp khác nhau; ví dụ, một CV/hồ sơ sẽ yêu cầu một lớp khác so với một bài báo khoa học, có thể sử dụng lớp bài viết chuẩn của LaTeX. Các loại tài liệu khác mà bạn có thể đang làm việc có thể yêu cầu các lớp khác như sách hoặc báo cáo. Sau khi đã đặt lớp tài liệu, nội dung của chúng ta, được gọi là phần thân của tài liệu, sẽ được viết giữa các thẻ begin{document} và end{document}.
Sau khi mở ví dụ ở trên, bạn có thể thực hiện các thay đổi đối với văn bản và, khi hoàn tất, xem tệp PDF đã được định dạng bằng cách biên dịch lại tài liệu. Để làm điều này trên Overleaf, chỉ cần nhấn Recompile, như được minh họa trong đoạn video ngắn này:
Bất kỳ dự án Overleaf nào cũng có thể được cấu hình để tự động biên dịch lại mỗi khi chỉnh sửa: nhấp vào mũi tên nhỏ bên cạnh nút Recompile và bật Auto Compile như trong ảnh chụp màn hình sau:
Sau khi đã thấy cách thêm nội dung vào tài liệu của mình, bước tiếp theo là đặt tiêu đề cho nó. Để làm điều này, chúng ta cần nói ngắn gọn về phần mở đầu (preamble).
Phần mở đầu (Preamble) của tài liệu
Ảnh chụp màn hình trên cho thấy Overleaf lưu trữ một tài liệu LaTeX dưới dạng tệp có tên là main.tex: phần mở rộng tệp .tex theo quy ước được sử dụng khi đặt tên cho các tệp chứa mã LaTeX của tài liệu của bạn.
Ví dụ trước đã chỉ ra cách nội dung tài liệu được nhập sau lệnh begin{document}; tuy nhiên, mọi thứ trong tệp .tex của bạn xuất hiện trước điểm đó được gọi là phần mở đầu (preamble), phần này đóng vai trò như phần ‘cài đặt’ của tài liệu. Trong phần mở đầu, bạn xác định lớp tài liệu (loại) cùng với các thông số cụ thể như ngôn ngữ sẽ được sử dụng khi viết tài liệu; tải các gói mà bạn muốn sử dụng (sẽ được giải thích sau), và đây cũng là nơi bạn áp dụng các loại cấu hình khác.
Một phần mở đầu (preamble) tối thiểu của tài liệu có thể trông như thế này:
documentclass[12pt, letterpaper]{article}
usepackage{graphicx}
Trong đó, documentclass[12pt, letterpaper]{article} xác định lớp (loại) tổng thể của tài liệu. Các tham số bổ sung, phải được tách bằng dấu phẩy, được đặt trong dấu ngoặc vuông ([…]) và được sử dụng để cấu hình cho phiên bản cụ thể này của lớp article; tức là, các cài đặt mà chúng ta muốn sử dụng cho tài liệu dựa trên lớp article này.
Trong ví dụ này, hai tham số thực hiện các chức năng sau:
– `12pt` thiết lập kích thước chữ
– `letterpaper` thiết lập kích thước giấy
Tất nhiên, các kích thước chữ khác như 9pt, 11pt, 12pt cũng có thể được sử dụng, nhưng nếu không chỉ định, kích thước mặc định là 10pt. Đối với kích thước giấy, các giá trị khác có thể là a4paper và legalpaper. Để biết thêm thông tin, xem bài viết về kích thước trang và lề.
Dòng tiền đề
usepackage{graphicx}
là một ví dụ về việc tải gói bên ngoài (ở đây là `graphicx`) để mở rộng khả năng của LaTeX, cho phép nó nhập các tập tin đồ họa bên ngoài.
tiêu đề, tên tác giả và thông tin ngày tháng.
Để thêm tiêu đề, tác giả và ngày tháng vào tài liệu của chúng ta, cần thêm ba dòng vào phần tiền đề (không phải phần nội dung chính của tài liệu). Các dòng đó là:
– `title{My first LaTeX document}`: tiêu đề của tài liệu
– `author{Hubert Farnsworth}`: tên của tác giả (hoặc các tác giả), và tùy chọn thêm lệnh `thanks` trong dấu ngoặc nhọn:
– `thanks{Funded by the Overleaf team.}`: có thể được thêm sau tên tác giả, trong dấu ngoặc nhọn của lệnh `author`. Nó sẽ thêm một chỉ số trên và một chú thích với văn bản bên trong dấu ngoặc nhọn. Hữu ích nếu bạn cần cảm ơn một tổ chức trong bài viết của mình.
– `date{August 2022}`: bạn có thể nhập ngày tháng thủ công hoặc sử dụng lệnh `today` để in ngày hiện tại mỗi khi tài liệu được biên dịch.
Với các dòng này được thêm vào, phần tiền đề của bạn nên trông giống như sau:
documentclass[12pt, letterpaper]{article}
title{My first LaTeX document}
author{Hubert Farnsworththanks{Funded by the Overleaf team.}}
date{August 2022}
Để in tiêu đề, tác giả và ngày tháng, hãy sử dụng lệnh `maketitle` trong phần nội dung chính của tài liệu:
begin{document}
maketitle
We have now added a title, author and date to our first LaTeX{} document!
end{document}
Phần tiền đề và nội dung bây giờ có thể được kết hợp để tạo ra một tài liệu hoàn chỉnh có thể được mở trong Overleaf:
documentclass[12pt, letterpaper]{article}
title{My first LaTeX document}
author{Hubert Farnsworththanks{Funded by the Overleaf team.}}
date{August 2022}
begin{document}
maketitle
We have now added a title, author and date to our first LaTeX{} document!
end{document}
Ví dụ này tạo ra kết quả sau:
Thêm nhận xét
LaTeX là một dạng “mã chương trình”, nhưng chuyên về dàn trang tài liệu; do đó, giống như mã được viết trong bất kỳ ngôn ngữ lập trình nào khác, việc bao gồm các nhận xét trong tài liệu của bạn có thể rất hữu ích. Một nhận xét trong LaTeX là một đoạn văn bản sẽ không được dàn trang hoặc ảnh hưởng đến tài liệu theo bất kỳ cách nào — thường được sử dụng để thêm các ghi chú “cần làm”; bao gồm các ghi chú giải thích; cung cấp giải thích nội tuyến cho các macro phức tạp hoặc nhận xét về các dòng/đoạn mã LaTeX khi gỡ lỗi.
Để thêm nhận xét trong LaTeX, chỉ cần viết ký hiệu % ở đầu dòng, như được minh họa trong đoạn mã sau đây sử dụng ví dụ ở trên:
documentclass[12pt, letterpaper]{article}
title{My first LaTeX document}
author{Hubert Farnsworththanks{Funded by the Overleaf team.}}
date{August 2022}
begin{document}
maketitle
We have now added a title, author and date to our first LaTeX{} document!
% This line here is a comment. It will not be typeset in the document.
end{document}
Ví dụ này tạo ra kết quả giống hệt với mã LaTeX trước đó, mã không chứa phần nhận xét.
In đậm, in nghiêng và gạch chân
Tiếp theo, chúng ta sẽ xem xét một số lệnh định dạng văn bản:
- In đậm: văn bản in đậm trong LaTeX được định dạng bằng lệnh `textbf{…}`.
- In nghiêng: văn bản in nghiêng được tạo ra bằng lệnh `textit{…}`.
- Gạch chân: để gạch chân văn bản, sử dụng lệnh `underline{…}`.
Ví dụ tiếp theo minh họa các lệnh này:
Some of the textbf{greatest}
discoveries in underline{science}
were made by textbf{textit{accident}}.
Ví dụ này tạo ra kết quả sau:
Một lệnh rất hữu ích khác là `emph{argument}`, tác động của nó lên đối số phụ thuộc vào ngữ cảnh. Trong văn bản thông thường, văn bản được nhấn mạnh sẽ được in nghiêng, nhưng hành vi này sẽ đảo ngược nếu được sử dụng bên trong văn bản đã được in nghiêng — xem ví dụ tiếp theo:
Some of the greatest emph{discoveries} in science
were made by accident.
textit{Some of the greatest emph{discoveries}
in science were made by accident.}
textbf{Some of the greatest emph{discoveries}
in science were made by accident.}
Ví dụ này tạo ra kết quả sau:
Lưu ý: một số gói, chẳng hạn như Beamer, thay đổi hành vi của lệnh `emph`.
Thêm hình ảnh
Trong phần này, chúng ta sẽ xem cách thêm hình ảnh vào tài liệu LaTeX. Overleaf hỗ trợ ba cách để chèn hình ảnh:
– Sử dụng nút Insert Figure (Nút Insert Figure trên thanh công cụ trình soạn thảo), nằm trên thanh công cụ trình soạn thảo, để chèn hình ảnh vào Visual Editor hoặc Code Editor.
– Sao chép và dán hình ảnh vào Visual Editor hoặc Code Editor.
– Sử dụng Code Editor để viết mã LaTeX chèn một đồ họa.
Các tùy chọn 1 và 2 tự động tạo mã LaTeX cần thiết để chèn hình ảnh, nhưng ở đây chúng ta giới thiệu tùy chọn 3 — lưu ý rằng bạn sẽ cần tải các hình ảnh đó lên dự án Overleaf của bạn. Ví dụ sau đây minh họa cách bao gồm một bức tranh:
documentclass{article}
usepackage{graphicx} %LaTeX package to import graphics
graphicspath{{images/}} %configuring the graphicx package
begin{document}
The universe is immense and it seems to be homogeneous,
on a large scale, everywhere we look.
% The includegraphcs command is
% provided (implemented) by the
% graphicx package
includegraphics{universe}
There’s a picture of a galaxy above.
end{document}
Ví dụ này tạo ra kết quả sau:
Việc nhập đồ họa vào tài liệu LaTeX cần một gói bổ sung cung cấp các lệnh và tính năng cần thiết để bao gồm các tập tin đồ họa bên ngoài. Ví dụ trên tải gói `graphicx`, gói này, cùng với nhiều lệnh khác, cung cấp lệnh `includegraphics{…}` để nhập đồ họa và `graphicspath{…}` để chỉ định cho LaTeX nơi các đồ họa được đặt.
Để sử dụng gói `graphicx`, hãy bao gồm dòng sau trong phần mở đầu của tài liệu Overleaf của bạn:
usepackage{graphicx}
Trong ví dụ của chúng ta, lệnh `graphicspath{{images/}}` thông báo cho LaTeX rằng các hình ảnh được lưu trong một thư mục có tên là `images`, nằm trong thư mục hiện tại.
Lưu ý:
Mặc dù tên tệp đầy đủ, bao gồm phần mở rộng, là hợp lệ trong lệnh `includegraphics`, nhưng việc bỏ phần mở rộng được coi là thực tiễn tốt nhất vì nó sẽ yêu cầu LaTeX tìm kiếm tất cả các định dạng hỗ trợ.
Thông thường, tên tệp đồ họa không nên chứa khoảng trắng hoặc nhiều dấu chấm; cũng nên sử dụng chữ cái thường cho phần mở rộng tệp khi tải lên hình ảnh vào Overleaf.
Chú thích, nhãn và tham chiếu
Hình ảnh có thể được chú thích, gán nhãn và tham chiếu bằng cách sử dụng môi trường `figure`, như được trình bày dưới đây:
documentclass{article}
usepackage{graphicx}
graphicspath{{images/}}
begin{document}
begin{figure}[h]
centering
includegraphics[width=0.75textwidth]{mesh}
caption{A nice plot.}
label{fig:mesh1}
end{figure}
As you can see in figure ref{fig:mesh1}, the function grows near the origin. This example is on page pageref{fig:mesh1}.
end{document}
Ví dụ này tạo ra kết quả sau:
Có một số lệnh đáng chú ý trong ví dụ:
- `includegraphics[width=0.75textwidth]{mesh}`: Dạng lệnh `includegraphics` này chỉ định cho LaTeX thiết lập chiều rộng của hình ảnh bằng 75% của chiều rộng văn bản — giá trị này được lưu trữ trong lệnh `textwidth`.
- `caption{A nice plot.}`: Như tên của nó gợi ý, lệnh này thiết lập chú thích cho hình ảnh, có thể đặt ở trên hoặc dưới hình ảnh. Nếu bạn tạo danh sách hình ảnh, chú thích này sẽ được sử dụng trong danh sách đó.
- `label{fig:mesh1}`: Để tham chiếu hình ảnh này trong tài liệu của bạn, bạn gán cho nó một nhãn bằng lệnh `label`. Nhãn này được sử dụng để tạo số cho hình ảnh và, kết hợp với lệnh sau, sẽ cho phép bạn tham chiếu đến nó.
- `ref{fig:mesh1}`: Mã này sẽ được thay thế bằng số tương ứng với hình ảnh được tham chiếu.
Hình ảnh được chèn vào tài liệu LaTeX nên được đặt trong môi trường `figure` hoặc tương tự, để LaTeX có thể tự động đặt hình ảnh ở vị trí phù hợp trong tài liệu của bạn.
Hướng dẫn thêm có thể được tìm thấy trong các bài viết hỗ trợ Overleaf sau:
– Vị trí của Hình ảnh (Positioning of Figures)
– Chèn Hình ảnh (Inserting Images)
Tạo danh sách trong LaTeX
Bạn có thể tạo các loại danh sách khác nhau bằng cách sử dụng các môi trường, được sử dụng để bao bọc mã LaTeX cần thiết để thực hiện một tính năng dàn trang cụ thể. Một môi trường bắt đầu với `begin{environment-name}` và kết thúc với `end{environment-name}`, trong đó `environment-name` có thể là `figure`, `tabular` hoặc một trong các loại danh sách: `itemize` cho danh sách không thứ tự hoặc `enumerate` cho danh sách có thứ tự.
Danh sách không thứ tự
Danh sách không thứ tự được tạo ra bằng môi trường `itemize`. Mỗi mục trong danh sách phải được bắt đầu bằng lệnh `item`, như được trình bày dưới đây:
documentclass{article}
begin{document}
begin{itemize}
item The individual entries are indicated with a black dot, a so-called bullet.
item The text in the entries may be of any length.
end{itemize}
end{document}
Ví dụ này tạo ra kết quả sau:
Danh sách có thứ tự
Danh sách có thứ tự sử dụng cú pháp giống như danh sách không thứ tự nhưng được tạo ra bằng môi trường `enumerate`:
documentclass{article}
begin{document}
begin{enumerate}
item This is the first entry in our list.
item The list numbers increase with each entry we add.
end{enumerate}
end{document}
Ví dụ này tạo ra kết quả sau:
Giống như danh sách không thứ tự, mỗi mục trong danh sách có thứ tự phải được bắt đầu bằng lệnh `item`, lệnh này tự động tạo giá trị nhãn danh sách theo thứ tự số, bắt đầu từ 1.
Thêm toán học vào LaTeX
Một trong những lợi ích chính của LaTeX là sự dễ dàng khi viết các biểu thức toán học. LaTeX cung cấp hai chế độ viết để dàn trang toán học:
- Chế độ toán học trong dòng (inline math mode): được sử dụng để viết các công thức là một phần của đoạn văn.
- Chế độ toán học hiển thị (display math mode): được sử dụng để viết các biểu thức không phải là một phần của văn bản hoặc đoạn văn và được dàn trang trên các dòng riêng biệt.
Chế độ toán học trong dòng
Hãy xem một ví dụ về chế độ toán học trong dòng:
documentclass[12pt, letterpaper]{article}
begin{document}
In physics, the mass-energy equivalence is stated
by the equation $E=mc^2$, discovered in 1905 by Albert Einstein.
end{document}
Ví dụ này tạo ra kết quả sau:
Để dàn trang toán học trong chế độ dòng, bạn có thể sử dụng một trong các cặp ký tự phân cách sau: ( … ), $ … $ hoặc begin{math} … end{math}, như được minh họa trong ví dụ sau:
documentclass[12pt, letterpaper]{article}
begin{document}
begin{math}
E=mc^2
end{math} is typeset in a paragraph using inline math mode—as is $E=mc^2$, and so too is (E=mc^2).
end{document}
Ví dụ này tạo ra kết quả sau:
Chế độ toán học hiển thị
Các phương trình dàn trang ở chế độ hiển thị có thể được đánh số hoặc không đánh số, như trong ví dụ sau:
documentclass[12pt, letterpaper]{article}
begin{document}
The mass-energy equivalence is described by the famous equation
[ E=mc^2 ] discovered in 1905 by Albert Einstein.
In natural units ($c = 1$), the formula expresses the identity
begin{equation}
E=m
end{equation}
end{document}
Ví dụ này tạo ra kết quả sau:
Để dàn trang toán học ở chế độ hiển thị, bạn có thể sử dụng một trong các cặp ký tự phân cách sau: `[ … ]`, `begin{displaymath} … end{displaymath}` hoặc `begin{equation} … end{equation}`. Lịch sử cho thấy việc dàn trang toán học ở chế độ hiển thị yêu cầu sử dụng các ký tự phân cách `$$`, như trong `$$ … display math here … $$`, nhưng phương pháp này không còn được khuyến nghị: hãy sử dụng các ký tự phân cách của LaTeX `[ … ]` thay vào đó.
Các ví dụ đầy đủ hơn
Các ví dụ sau đây minh họa một loạt các loại nội dung toán học được dàn trang bằng LaTeX.
documentclass{article}
begin{document}
Subscripts in math mode are written as $a_b$ and superscripts are written as $a^b$. These can be combined and nested to write expressions such as
[ T^{i_1 i_2 dots i_p}_{j_1 j_2 dots j_q} = T(x^{i_1},dots,x^{i_p},e_{j_1},dots,e_{j_q}) ]
We write integrals using $int$ and fractions using $frac{a}{b}$. Limits are placed on integrals using superscripts and subscripts:
[ int_0^1 frac{dx}{e^x} = frac{e-1}{e} ]
Lower case Greek letters are written as $omega$ $delta$ etc. while upper case Greek letters are written as $Omega$ $Delta$.
Mathematical operators are prefixed with a backslash as $sin(beta)$, $cos(alpha)$, $log(x)$ etc.
end{document}
Ví dụ này tạo ra kết quả sau:
Ví dụ tiếp theo sử dụng môi trường `equation*`, được cung cấp bởi gói `amsmath`, vì vậy chúng ta cần thêm dòng sau vào phần mở đầu của tài liệu:
usepackage{amsmath}% For the equation* environment
documentclass{article}
usepackage{amsmath}% For the equation* environment
begin{document}
section{First example}
The well-known Pythagorean theorem (x^2 + y^2 = z^2) was proved to be invalid for other exponents, meaning the next equation has no integer solutions for (n>2):
[ x^n + y^n = z^n ]
section{Second example}
This is a simple math expression (sqrt{x^2+1}) inside text.
And this is also the same:
begin{math}
sqrt{x^2+1}
end{math}
but by using another command.
This is a simple math expression without numbering
[sqrt{x^2+1}]
separated from text.
This is also the same:
begin{displaymath}
sqrt{x^2+1}
end{displaymath}
ldots and this:
begin{equation*}
sqrt{x^2+1}
end{equation*}
end{document}
Ví dụ này tạo ra kết quả sau:
Cấu trúc tài liệu cơ bản
Tiếp theo, chúng ta sẽ khám phá các bản tóm tắt và cách phân chia một tài liệu LaTeX thành các chương, mục và đoạn khác nhau.
Bản tóm tắt
Các bài báo khoa học thường cung cấp một bản tóm tắt, là một cái nhìn tổng quan/ngắn gọn về các chủ đề chính hoặc lập luận của chúng. Ví dụ tiếp theo minh họa cách dàn trang một bản tóm tắt bằng môi trường `abstract` của LaTeX:
documentclass{article}
begin{document}
begin{abstract}
This is a simple paragraph at the beginning of the
document. A brief introduction about the main subject.
end{abstract}
end{document}
Ví dụ này tạo ra kết quả sau:
Đoạn văn và dòng mới
Với bản tóm tắt đã được đặt, chúng ta có thể bắt đầu viết đoạn văn đầu tiên của mình. Ví dụ tiếp theo minh họa:
- Cách tạo một đoạn văn mới bằng cách nhấn phím “enter” hai lần, kết thúc dòng hiện tại và chèn một dòng trống tiếp theo.
- Cách bắt đầu một dòng mới mà không tạo đoạn văn mới bằng cách chèn một ngắt dòng thủ công sử dụng lệnh “ (dấu gạch chéo đôi); thay vào đó, bạn cũng có thể sử dụng lệnh `newline`.
Đoạn văn thứ ba trong ví dụ này minh họa việc sử dụng các lệnh “ và `newline`:
documentclass{article}
begin{document}
begin{abstract}
This is a simple paragraph at the beginning of the
document. A brief introduction about the main subject.
end{abstract}
After our abstract we can begin the first paragraph, then press “enter” twice to start the second one.
This line will start a second paragraph.
I will start the third paragraph and then add a manual line break which causes this text to start on a new line but remains part of the same paragraph. Alternatively, I can use the verb|newline|newline command to start a new line, which is also part of the same paragraph.
end{document}
Ví dụ này tạo ra kết quả sau:
Lưu ý rằng LaTeX tự động thụt lề các đoạn văn — ngoại trừ ngay sau các tiêu đề tài liệu như chương và mục, như chúng ta sẽ thấy.
Người dùng mới được khuyến cáo rằng không nên sử dụng nhiều “ hoặc `newline` để “giả lập” các đoạn văn với khoảng cách lớn hơn giữa chúng vì điều này có thể gây cản trở cho các thuật toán dàn trang của LaTeX. Phương pháp được khuyến nghị là tiếp tục sử dụng các dòng trống để tạo các đoạn văn mới, không sử dụng “, và tải gói `parskip` bằng cách thêm `usepackage{parskip}` vào phần mở đầu.
Chương và mục
Các tài liệu dài, bất kể phần mềm soạn thảo nào, thường được phân chia thành các phần, chương, mục, tiểu mục, và các phần khác. LaTeX cũng cung cấp các lệnh cấu trúc tài liệu, nhưng các lệnh có sẵn và cách thực hiện của chúng (những gì chúng làm) có thể phụ thuộc vào lớp tài liệu đang sử dụng. Ví dụ, các tài liệu được tạo bằng lớp `book` có thể được chia thành các phần, chương, mục, tiểu mục và các phần khác, nhưng lớp `letter` không cung cấp (hỗ trợ) các lệnh để thực hiện điều đó.
Ví dụ tiếp theo minh họa các lệnh được sử dụng để cấu trúc một tài liệu dựa trên lớp `book`:
documentclass{book}
begin{document}
chapter{First Chapter}
section{Introduction}
This is the first section.
Lorem ipsum dolor sit amet, consectetuer adipiscing
elit. Etiam lobortisfacilisis sem. Nullam nec mi et
neque pharetra sollicitudin. Praesent imperdietmi nec ante.
Donec ullamcorper, felis non sodales…
section{Second Section}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Etiam lobortis facilisissem. Nullam nec mi et neque pharetra
sollicitudin. Praesent imperdiet mi necante…
subsection{First Subsection}
Praesent imperdietmi nec ante. Donec ullamcorper, felis non sodales…
section*{Unnumbered Section}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Etiam lobortis facilisissem…
end{document}
Ví dụ này tạo ra kết quả sau:
Chào bạn đọc! Đây là khóa học Latext Overleaf. Mục đích chỉ là chia khóa học bằng tiếng việt cho bạn nào ngại đọc bằng Tiếng anh. Khóa này được dịch nguyên bản từ tài liệu của overleaf.
(Để học Latex, các bạn click vào mục menu bên tay trái)
Các tên của các lệnh phân đoạn thường tự giải thích; ví dụ, `chapter{First Chapter}` tạo một chương mới với tiêu đề “First Chapter”, `section{Introduction}` tạo một mục với tiêu đề “Introduction”, và tương tự. Các mục có thể được chia nhỏ hơn nữa thành `subsection{…}` và thậm chí `subsubsection{…}`. Số hiệu của các mục, tiểu mục, v.v. là tự động nhưng có thể được tắt bằng cách sử dụng phiên bản có dấu sao của lệnh thích hợp, có dấu hoa thị (*) ở cuối, chẳng hạn như `section*{…}` và `subsection*{…}`.
Tổng hợp, các lớp tài liệu LaTeX cung cấp các lệnh phân đoạn sau, với từng lớp cụ thể hỗ trợ một tập con liên quan:
- `part{part}`
- `chapter{chapter}`
- `section{section}`
- `subsection{subsection}`
- `subsubsection{subsubsection}`
- `paragraph{paragraph}`
- `subparagraph{subparagraph}`
Cụ thể, các lệnh `part` và `chapter` chỉ có sẵn trong các lớp tài liệu `report` và `book`.
Tạo bảng
Các ví dụ sau đây cho thấy cách tạo bảng trong LaTeX, bao gồm việc thêm các đường kẻ (quy tắc) và tiêu đề bảng.
Tạo một bảng cơ bản trong LaTeX
Chúng ta bắt đầu với một ví dụ cho thấy cách dàn trang một bảng cơ bản:
begin{center}
begin{tabular}{c c c}
cell1 & cell2 & cell3
cell4 & cell5 & cell6
cell7 & cell8 & cell9
end{tabular}
end{center}
Ví dụ này tạo ra kết quả sau:
Môi trường `tabular` là phương pháp mặc định của LaTeX để tạo bảng. Bạn phải chỉ định một tham số cho môi trường này, trong trường hợp này là `{c c c}`, điều này cho LaTeX biết rằng sẽ có ba cột và văn bản trong mỗi cột phải được căn giữa. Bạn cũng có thể sử dụng `r` để căn phải văn bản và `l` để căn trái. Ký hiệu căn chỉnh `&` được sử dụng để phân cách các ô bảng trong một hàng bảng. Để kết thúc một hàng bảng, sử dụng lệnh ngắt dòng “. Bảng của chúng tôi được chứa trong môi trường `center` để làm cho nó được căn giữa trong chiều rộng văn bản của trang.
Thêm đường viền
Môi trường `tabular` hỗ trợ các đường kẻ ngang và dọc (quy tắc) như một phần của bảng:
- Để thêm các đường kẻ ngang, ở trên và dưới các hàng, sử dụng lệnh `hline`.
- Để thêm các đường kẻ dọc, giữa các cột, sử dụng tham số đường thẳng đứng `|`.
Trong ví dụ này, tham số là `{|c|c|c|}`, điều này khai báo ba cột (được căn giữa) mỗi cột được phân cách bởi một đường kẻ dọc (quy tắc); thêm vào đó, chúng tôi sử dụng `hline` để đặt một đường kẻ ngang ở trên hàng đầu tiên và dưới hàng cuối cùng.
begin{center}
begin{tabular}{|c|c|c|}
hline
cell1 & cell2 & cell3
cell4 & cell5 & cell6
cell7 & cell8 & cell9
hline
end{tabular}
end{center}
Ví dụ này tạo ra kết quả sau:
Dưới đây là một ví dụ khác:
begin{center}
begin{tabular}{||c c c c||}
hline
Col1 & Col2 & Col2 & Col3 [0.5ex]
hlinehline
1 & 6 & 87837 & 787
hline
2 & 7 & 78 & 5415
hline
3 & 545 & 778 & 7507
hline
4 & 545 & 18744 & 7560
hline
5 & 88 & 788 & 6344 [1ex]
hline
end{tabular}
end{center}
Ví dụ này tạo ra kết quả sau:
Tiêu đề, nhãn và tham chiếu
Bạn có thể đặt tiêu đề và tham chiếu các bảng theo cách tương tự như hình ảnh. Sự khác biệt duy nhất là thay vì sử dụng môi trường `figure`, bạn sử dụng môi trường `table`.
Table ref{table:data} shows how to add a table caption and reference a table.
begin{table}[h!]
centering
begin{tabular}{||c c c c||}
hline
Col1 & Col2 & Col2 & Col3 [0.5ex]
hlinehline
1 & 6 & 87837 & 787
2 & 7 & 78 & 5415
3 & 545 & 778 & 7507
4 & 545 & 18744 & 7560
5 & 88 & 788 & 6344 [1ex]
hline
end{tabular}
caption{Table to test captions and labels.}
label{table:data}
end{table}
Ví dụ này tạo ra kết quả sau:
Thêm Mục Lục
Việc tạo mục lục là rất đơn giản vì lệnh `tableofcontents` thực hiện hầu hết các công việc cho bạn:
documentclass{article}
title{Sections and Chapters}
author{Gubert Farnsworth}
date{August 2022}
begin{document}
maketitle
tableofcontents
section{Introduction}
This is the first section.
Lorem ipsum dolor sit amet, consectetuer adipiscing
elit. Etiam lobortisfacilisis sem. Nullam nec mi et
neque pharetra sollicitudin. Praesent imperdietmi nec ante.
Donec ullamcorper, felis non sodales…
section*{Unnumbered Section}
addcontentsline{toc}{section}{Unnumbered Section}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Etiam lobortis facilisissem. Nullam nec mi et neque pharetra
sollicitudin. Praesent imperdiet mi necante…
section{Second Section}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Etiam lobortis facilisissem. Nullam nec mi et neque pharetra
sollicitudin. Praesent imperdiet mi necante…
end{document}
Ví dụ này tạo ra kết quả sau:
Các mục, tiểu mục và chương được tự động đưa vào mục lục. Để thêm các mục thủ công, chẳng hạn như một phần không đánh số, hãy sử dụng lệnh `addcontentsline` như trong ví dụ sau.
Tải xuống tài liệu đã hoàn thành của bạn
Đoạn video ngắn sau đây cho thấy cách tải xuống mã nguồn của dự án hoặc tệp PDF đã được định dạng:
Tìm kiếm và sử dụng các gói LaTeX
LaTeX không chỉ cung cấp khả năng định dạng văn bản đáng kể mà còn cung cấp một khung mở rộng thông qua việc sử dụng các gói bổ sung. Thay vì cố gắng cung cấp các lệnh và tính năng “cố gắng làm mọi thứ”, LaTeX được thiết kế để có thể mở rộng, cho phép người dùng tải các mã nguồn bên ngoài (các gói) cung cấp khả năng định dạng chuyên biệt hơn hoặc mở rộng các tính năng tích hợp của LaTeX—chẳng hạn như định dạng bảng. Như đã quan sát trong phần Thêm hình ảnh, gói graphicx mở rộng LaTeX bằng cách cung cấp các lệnh để nhập các tệp đồ họa và đã được tải (trong phần mở đầu) bằng cách viết:
usepackage{graphicx}
Tải các gói
Như đã đề cập ở trên, các gói được tải trong phần mở đầu của tài liệu thông qua lệnh `usepackage`. Tuy nhiên, vì (nhiều) gói LaTeX cung cấp một tập hợp các tùy chọn có thể được sử dụng để cấu hình hành vi của chúng, nên lệnh `usepackage` thường có dạng như sau:
usepackage[options]{somepackage}
Các dấu ngoặc vuông “[…]” cho LaTeX biết tập hợp các tùy chọn nào sẽ được áp dụng khi tải gói `somepackage`. Trong tập hợp các tùy chọn do người dùng yêu cầu, các tùy chọn hoặc cài đặt riêng lẻ thường được phân tách bằng dấu phẩy; ví dụ, gói `geometry` cung cấp nhiều tùy chọn để cấu hình bố cục trang trong LaTeX, vì vậy một cách sử dụng điển hình của gói `geometry` có thể trông như sau:
usepackage[total={6.5in,8.75in},
top=1.2in, left=0.9in, includefoot]{geometry}
Gói `geometry` là một ví dụ về một gói được viết và đóng góp bởi các thành viên của cộng đồng LaTeX toàn cầu và được cung cấp miễn phí cho bất kỳ ai muốn sử dụng nó.
Nếu một gói LaTeX không cung cấp bất kỳ tùy chọn nào, hoặc người dùng muốn sử dụng các giá trị mặc định của các tùy chọn của gói, thì gói đó sẽ được tải như sau:
usepackage{somepackage}
Khi bạn viết `usepackage[…]{somepackage}`, LaTeX tìm kiếm một tệp tương ứng có tên `somepackage.sty`, tệp này cần được tải và xử lý—để làm cho các lệnh của gói có sẵn và thực thi bất kỳ mã nào khác được cung cấp bởi gói đó. Nếu LaTeX không thể tìm thấy `somepackage.sty`, nó sẽ kết thúc với một lỗi, như được minh họa trong ví dụ Overleaf sau đây:
documentclass[12pt, letterpaper]{article}
usepackage{somepackage}% a NON-EXISTENT package
begin{document}
This will fail!
end{document}
Ví dụ này tạo ra kết quả sau:
Tìm thông tin về các gói: CTAN
Các gói được phân phối qua Mạng Lưu trữ TeX Toàn diện, thường được gọi là CTAN, hiện đang lưu trữ 6287 gói từ 2881 nhà đóng góp. CTAN tự mô tả mình là
“… a set of Internet sites around the world that offer TEX-related material for download” (một tập hợp các trang web Internet trên toàn thế giới cung cấp tài liệu liên quan đến TEX để tải xuống).
Bạn có thể duyệt CTAN để tìm các gói hữu ích; ví dụ:
- Theo chủ đề
- Theo thứ tự bảng chữ cái (hữu ích nếu bạn biết tên gói)