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

Giới thiệu

Môi trường hình ảnh (picture environment) tích hợp sẵn trong LaTeX có thể được sử dụng để tạo các sơ đồ/hình vẽ—bạn không cần phải tải bất kỳ gói mở rộng nào để sử dụng nó, nhưng các gói như `pict2e` và `picture` đã được viết để nâng cao hoặc cải thiện các tính năng của nó.

So với các công cụ đồ họa mạnh mẽ và tinh vi như TikZ/PGF, MetaPost, PSTricks hoặc Asymptote, môi trường hình ảnh có thể có vẻ hạn chế hơn nhiều, nhưng đôi khi nó vẫn đủ cho những gì bạn cần làm.

Tạo một bức tranh mới thường bao gồm các bước sau:

  1. Xác định kích thước của các đơn vị vẽ mà bạn muốn sử dụng;
  2. Khai báo môi trường picture, xác định kích thước của bức tranh;
  3. Vẽ các thành phần đồ họa riêng lẻ bằng các lệnh put, multiput hoặc qbezier.

Xác định kích thước của các đơn vị bản vẽ

Để tạo một bức tranh, bạn thường bắt đầu bằng cách thiết lập các đơn vị vẽ thông qua lệnh `unitlength`, lệnh này phải được sử dụng ngoài môi trường picture. Ví dụ, nếu bạn viết:

setlength{unitlength}{1cm}

Các đơn vị vẽ sẽ được hiểu là bội số của 1cm. Đơn vị mặc định là 1pt.

 

Xác định kích thước của bức tranh của bạn

 

Hình thức tổng quát của môi trường picture như sau:

begin{picture}(width, height)(Xoffset, Yoffset)

 …

end{picture}

Trong đó:

  • – width và height là các giá trị, tính bằng đơn vị của unitlength, xác định kích thước của bức tranh. LaTeX sử dụng các giá trị này để tạo ra một hộp có kích thước là:

 – Chiều rộng của hộp (bức tranh) = width × unitlength

 – Chiều cao của hộp (bức tranh) = height × unitlength

  • – Xoffset và Yoffset là tọa độ tùy chọn, thiết lập gốc (góc dưới bên trái) của bức tranh, được biểu thị dưới dạng sự dịch chuyển tương đối so với vị trí mặc định. Xoffset và Yoffset cũng được biểu thị bằng các đơn vị được xác định bởi giá trị hiện tại của unitlength.

Lưu ý rằng Xoffset và Yoffset không ảnh hưởng đến lượng không gian mà LaTeX dự trữ; tức là, kích thước của hộp.

Hiểu về kích thước của hình ảnh

Chúng ta sẽ tạo hai bức tranh, cả hai đều sử dụng setlength{unitlength}{1cm} và mỗi bức tranh có chiều rộng và chiều cao là 3 đơn vị.

Bức tranh đầu tiên sử dụng gốc mặc định là (0,0):

begin{picture}(3,3)

end{picture}

Bức tranh thứ hai dịch (dịch chuyển) gốc bởi (1,1):

begin{picture}(3,3)(1,1)

end{picture}

Hình ảnh được tạo ra bằng cách sử dụng một chuỗi lệnh put, multiput hoặc qbezier, các lệnh này tạo ra các “thành phần” (hoặc “đối tượng”) riêng lẻ từ đó bức tranh hoặc minh họa được xây dựng.

– `put(x, y){component}` vẽ thành phần tại vị trí (x, y).

– `multiput(x, y)(dx, dy){n}{component}` vẽ thành phần n lần: bắt đầu tại vị trí (x, y) và lặp đi lặp lại với độ dịch chuyển (dx, dy) để vẽ lại thành phần.

– `qbezier[n](x1, y1)(x, y)(x2, y2)` vẽ một đường cong Bézier bậc hai, trong đó:

  – `n` là một số nguyên tùy chọn xác định số điểm dùng để vẽ/sản xuất đường cong.

  – `(x1, y1)` là điểm bắt đầu của đường cong.

  – `(x2, y2)` là điểm kết thúc của đường cong.

  – `(x, y)` là điểm điều khiển của đường cong Bézier bậc hai.

Hiểu về độ dịch chuyển và gốc tọa độ

Trong các ví dụ dưới đây, lệnh put được sử dụng để vẽ các điểm màu để chỉ ra các tọa độ (vị trí) chính trong đồ họa. Cả hai ví dụ đều sử dụng lệnh fbox của LaTeX để vẽ một đường viền quanh hộp mà LaTeX tạo ra để chứa bức tranh của chúng ta, cho thấy hộp bao quanh đồ họa.

Ví dụ 1: Sử dụng gốc tọa độ mặc định

documentclass{article}

usepackage[pdftex]{pict2e}

usepackage[dvipsnames]{xcolor}

begin{document}

setlength{unitlength}{1cm}

setlength{fboxsep}{0pt}

This is my picturefbox{%

begin{picture}(3,3)

put(0,0){{color{blue}circle*{0.25}}hbox{kern3pt texttt{(0,0)}}}

put(3,3){{color{red}circle*{0.25}}hbox{kern3pt texttt{(3,3)}}}

end{picture}}

end{document}

Ví dụ này tạo ra kết quả sau:

Lệnh `fbox` vẽ một đường viền quanh hộp bao quanh đồ họa, cho thấy không gian (diện tích) mà LaTeX đã dự trữ:

  • Chiều rộng của bức tranh = width × unitlength = 3 × 1cm = 3cm.
  • Chiều cao của bức tranh = height × unitlength = 3 × 1cm = 3cm.

Ví dụ đầu tiên cho thấy rằng gốc tọa độ (0,0) nằm tại điểm lệnh `begin{picture}` được thực thi, ngay sau văn bản “This is my picture”. Ngoài ra, góc trên bên phải nằm ở vị trí (3,3), là các giá trị (width, height) được cung cấp cho `begin{picture}(3,3)`.

Ví dụ 2: Dịch gốc tọa độ bằng (1,1)

documentclass{article}

usepackage[pdftex]{pict2e}

usepackage[dvipsnames]{xcolor}

begin{document}

setlength{unitlength}{1cm}

setlength{fboxsep}{0pt}

This is my picturefbox{%

begin{picture}(3,3)(1,1)

put(0,0){{color{blue}circle*{0.25}}hbox{kern3pttexttt{(0,0)}}}

put(1,1){{color{orange}circle*{0.25}}hbox{kern3pttexttt{(1,1)}}}

put(3,3){{color{red}circle*{0.25}}hbox{kern3pttexttt{(3,3)}}}

put(4,4){{color{black}circle*{0.25}}hbox{kern3pttexttt{(4,4)}}}

end{picture}}

end{document}

Ví dụ này sẽ tạo ra kết quả sau:

Ví dụ thứ hai cho thấy tác động của việc dịch gốc và làm nổi bật một số điểm chính:

  • Đường viền được tạo bởi fbox cho thấy rằng hộp chứa đồ họa, chiều rộng và chiều cao của hộp do LaTeX tạo ra, không bị ảnh hưởng bởi việc dịch gốc: nó vẫn được xác định bởi các giá trị (width, height) cung cấp cho begin{picture}(3,3)(1,1).
  • Chiều rộng của hình ảnh = width × unitlength = 3 × 1cm = 3cm
  • Chiều cao của hình ảnh = height × unitlength = 3 × 1cm = 3cm
  • Các phần tử đồ họa không bị giới hạn (cắt) trong khu vực (kích thước hộp chứa) được tạo bởi LaTeX. Ví dụ, chấm màu xanh và tọa độ (0,0) được vẽ ngoài đường viền được tạo bởi fbox, chỉ ra hộp chứa.
  • Người dùng phải đảm bảo rằng các phần tử đồ họa nằm trong hộp chứa và không che phủ bất kỳ văn bản xung quanh nào.
  • Gốc, (0,0), không còn nằm ngay sau văn bản “This is my picture”, tại điểm lệnh begin{picture} được thực hiện: gốc hiện đã được dịch 1 đơn vị sang trái và 1 đơn vị xuống dưới.
  • Góc trên bên phải hiện ở vị trí (4,4).

Ví dụ về môi trường hình ảnh

Ví dụ từ tài liệu tham khảo không chính thức của LaTeX2e

Tài liệu tham khảo không chính thức của LaTeX2e chứa nhiều ví dụ về môi trường picture, một số ví dụ được sao chép ở đây cùng với các liên kết mở chúng trong Overleaf, cho phép bạn chỉnh sửa và khám phá mã.

Ví dụ 1: Lệnh vector

documentclass{article}

usepackage[pdftex]{pict2e}

begin{document}

setlength{unitlength}{1cm}

begin{picture}(6,6)      % picture box will be 6cm wide by 6cm tall

  put(0,0){vector(2,1){4}}  % for every 2 over this vector goes 1 up

    put(2,1){makebox(0,0)[l]{ first leg}}

  put(4,2){vector(1,2){2}}

    put(5,4){makebox(0,0)[l]{ second leg}}  

  put(0,0){vector(1,1){6}}

    put(3,3){makebox(0,0)[r]{sum }}  

end{picture}

end{document}

Ví dụ này sẽ tạo ra kết quả sau:

Ví dụ 2: Các lệnh qbezier, line, vector, thinlines và thicklines

Chú ý rằng lệnh `qbezier` không được sử dụng trong `put{…}` trong khi các lệnh nguyên thủy khác, như `line` và `vector`, được sử dụng trong `put{…}`.

documentclass{article}

usepackage[pdftex]{pict2e}

begin{document}

setlength{unitlength}{1cm}

begin{picture}(8,4)

  thinlines % Start with thin lines

  put(0,0){vector(1,0){8}}  % x axis

  put(0,0){vector(0,1){4}}  % y axis

  put(2,0){line(0,1){3}}    % left side

  put(4,0){line(0,1){3.5}}  % right side

  thicklines % Use thicker lines for the qbezier commands

  qbezier(2,3)(2.5,2.9)(3,3.25)

  qbezier(3,3.25)(3.5,3.6)(4,3.5)

  thinlines % Back to using thin lines

  put(2,3){line(4,1){2}}

  put(4.5,2.5){framebox{Trapezoidal Rule}}

end{picture}

end{document}

Ví dụ này sẽ tạo ra kết quả sau:

Ví dụ 3: Các lệnh multiput và linethickness

documentclass{article}

usepackage[pdftex]{pict2e}

begin{document}

setlength{unitlength}{1cm}

thicklines

begin{picture}(10,10)

  linethickness{0.05mm}

  multiput(0,0)(1,0){10}{line(0,1){10}} 

  multiput(0,0)(0,1){10}{line(1,0){10}}

  linethickness{0.5mm}

  multiput(0,0)(5,0){3}{line(0,1){10}}

  multiput(0,0)(0,5){3}{line(1,0){10}}

end{picture}

end{document}

Ví dụ này sẽ tạo ra kết quả sau:

Các ví dụ khác

Một đường cong Bézier cơ bản

Ví dụ sau sử dụng lệnh `qbezier` để vẽ một đường cong Bézier:

qbezier(1,1)(5,5)(9,0.5)

Chú ý các điểm sau:

  • Lệnh `qbezier` không được sử dụng trong lệnh `put`.
  • Điểm bắt đầu của đường cong Bézier là (1,1).
  • Điểm kết thúc của đường cong Bézier là (9,0.5).
  • Điểm điều khiển của đường cong Bézier là (5,5).
  • Chúng ta không sử dụng số nguyên tùy chọn để xác định số điểm dùng để vẽ/hoàn thành đường cong Bézier.

documentclass{article}

usepackage[pdftex]{pict2e}

begin{document}

setlength{unitlength}{0.8cm}

begin{picture}(10,5)

thicklines

qbezier(1,1)(5,5)(9,0.5)

put(2,1){{Bézier curve}}

end{picture}

end{document}

Ví dụ này sẽ tạo ra kết quả sau:

Ellipses, Lines, and Circles

Ví dụ sau đây minh họa các lệnh line, circleoval—chú ý cách tất cả các lệnh này đều được sử dụng trong lệnh put{…}:

documentclass{article}

usepackage[pdftex]{pict2e}

begin{document}

setlength{unitlength}{1cm}

thicklines

begin{picture}(10,6)

put(2,2.2){line(1,0){6}}

put(2,2.2){circle{2}}

put(6,2.2){oval(4,2)[r]}

end{picture}

end{document}

Ví dụ này sẽ tạo ra kết quả sau:

Dưới đây là mô tả các lệnh:

  • `put(2,2.2){line(1,0){6}}`: vẽ một đoạn thẳng dài 6 đơn vị sử dụng “vector hướng” (1,0).
  • `put(6,2.2){oval(4,2)[r]}`: vẽ một hình elip với tâm tại điểm (6,2.2). Tham số `[r]` là tùy chọn, bạn có thể sử dụng `r`, `l`, `t` và `b` để hiển thị phần bên phải, bên trái, phía trên hoặc phía dưới của hình elip.
  • `put(2,2.2){circle{2}}`: vẽ một hình tròn với tâm tại điểm (2,2.2) và đường kính là 2 đơn vị.

Kết hợp các đường thẳng, hình tròn và văn bản

Các yếu tố cơ bản khác nhau có thể được kết hợp để tạo ra những bức tranh phức tạp hơn. Trong ví dụ này, nhiều đường thẳng và hình tròn được kết hợp để tạo ra một bức tranh, cùng với văn bản để gán nhãn các điểm:

documentclass{article}

usepackage[pdftex]{pict2e}

begin{document}

setlength{unitlength}{0.8cm}

begin{picture}(12,4)

thicklines

put(8,3.3){{footnotesize $3$-simplex}}

put(9,3){circle*{0.1}}

put(8.3,2.9){$a_2$}

put(8,1){circle*{0.1}}

put(7.7,0.5){$a_0$}

put(10,1){circle*{0.1}}

put(9.7,0.5){$a_1$}

put(11,1.66){circle*{0.1}}

put(11.1,1.5){$a_3$}

put(9,3){line(3,-2){2}}

put(10,1){line(3,2){1}}

put(8,1){line(1,0){2}}

put(8,1){line(1,2){1}}

put(10,1){line(-1,2){1}}

end{picture}

end{document}

Ví dụ này tạo ra kết quả sau:

Dưới đây là tóm tắt một số lệnh đã sử dụng:

  • `thicklines`: làm tăng độ dày của các đường kẻ. Lệnh `thinlines` có tác dụng ngược lại.
  • `put(8,3.3){{footnotesize $3$-simplex}}`: chèn văn bản “3-simplex” tại điểm (8,3.3), kích thước chữ được đặt là `footnotesize`. Lệnh tương tự được sử dụng để gán nhãn cho từng điểm.
  • `put(9,3){circle*{0.1}}`: vẽ một vòng tròn đặc, trung tâm tại (9,3) với đường kính nhỏ 0.1 (đơn vị vẽ), có thể được sử dụng như một điểm.
  • `put(10,1){line(3,2){1}}`: tạo một đường thẳng bắt đầu từ (10,1) và vẽ theo hướng (3,2) với chiều dài 1 (đơn vị vẽ).

Các mũi tên cũng có thể được sử dụng bên trong môi trường hình ảnh, đây là một ví dụ thứ hai:

documentclass{article}

usepackage[pdftex]{pict2e}

begin{document}

setlength{unitlength}{0.20mm}

begin{picture}(400,250)

put(75,10){line(1,0){130}}

put(75,50){line(1,0){130}}

put(75,200){line(1,0){130}}

put(120,200){vector(0,-1){150}}

put(190,200){vector(0,-1){190}}

put(97,120){$alpha$}

put(170,120){$beta$}

put(220,195){upper state}

put(220,45){lower state 1}

put(220,5){lower state 2}

end{picture}

end{document}

Ví dụ này tạo ra kết quả sau:

Lệnh `vector` sử dụng cú pháp giống như lệnh `line`:

put(120,200){vector(0,-1){150}}

Dòng lệnh trên vẽ một vector có điểm bắt đầu là (120,200), chiều dài là 150 và hướng vẽ là (0,-1).

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)