Latex là gì? Ưu và nhược điểm của Latex

Latex là gì? Ưu và nhược điểm của Latex

Latex là gì?

  • Là 1 ngôn ngữ định dạng (document markup language) giống như Word, Powerpoint ở chỗ là đều cho ra những văn bản được định dạng theo mong muốn của người sử dụng nhưng có sự khác biệt lớn. Word thì gõ chữ cái và sử dụng công cụ đồ hoạ để thực hiện việc định dạng văn bản, còn LaTex là “lập trình” ra văn bản.
  • Tiền thân là TeX, một ngôn ngữ định dạng do Donald Knuth phát minh, rất khó sử dụng.
  • LaTeX được phát minh bởi Leslie Lamport, dựa trên TeX nhưng dễ sử dụng hơn rất nhiều. Cho ra chất lượng bản in cực cao cùng cấu trúc văn bản rất logic và đồng bộ.
  • Tự động hóa rất nhiều so với làm bằng tay của Word.

Ưu điểm

  • Văn bản thống nhất: khoảng cách dòng, kích cỡ chữ, màu sắc, cách trình bày,… cho dù qua văn bản khác nó cũng như vậy.
  • Hoàn toàn tự động: đánh số chương, tiêu đề mẹ, tiêu đề con, đánh số phương trình, bảng, hình ảnh, tham chiếu,… hoàn toàn tự động.
  • Trích dẫn tài liệu tham khảo: tự động và nhất quán, style đẹp.
  • Tự động sắp xếp hình ảnh, table sao cho phù hợp nhất với văn bản.
  • Làm việc với một dự án lớn: cả trăm, cả ngàn trang trong một file .tex dung lượng rất nhỏ, dễ quản lý và điều khiển.
  • Tích hợp công thức toán học: công thức toán học tích hợp rất hài hòa với văn bản, đẹp và rõ nét.
  • Vẽ hình đẹp: hình vẽ và chữ chú thích trên hình vẽ rất hài hòa với văn bản (cỡ chữ, ko bị vỡ nét khi zoom,…).

Nhược điểm

  • Biên soạn các tài liệu không theo cấu trúc chung rất khó.
  • Làm việc chỉ nhờ vào dòng lệnh, giống như lập trình nên thường xảy ra lỗi nhỏ nhặt và tốn thời gian sửa.
  • Cách học và tiếp cận tốn nhiều thời gian hơn.
  • Sẽ rất vất vả nếu muốn kết hợp nhiều kiểu định dạng phức tạp vào trong cùng tập tin LaTex.

Editor

Có thể sử dụng 1 trong các trình soạn thảo phổ biến như:

  • MiKTeX (Bundle) (Windows)
  • Texniccenter (Editor) (Windows)
  • Mactex (Bundle) (Mac)
  • Texlive (Bundle) (Linux)
  • Lyx (Bundle & Editor) (Windows, Mac, Linux)
  • Texmaker (Windows, Mac, Linux)
  • Overleaf (Collaborative Online Editor)

Làm quen với Latex cơ bản

%Latex tutorial
\documentclass{article}
\title{Bắt đầu với LaTex}
\author{Thạo}
\date{September 2015}
\begin{document}
   \maketitle
   Hello world!
\end{document}
Code language: JavaScript (javascript)
  • %Latex tutorial: Chú thích trong văn bản, nội dung nằm sau % không được in ra.
  • \documentclass{article}: cho ta biết đang soạn thảo văn bản loại nào, ở đây là báo cáo khoa học. Một số loại văn bản được hỗ trợ bởi Latex:
69f3d18f933399295ac928c6ea85e19e.png

Ngoài ra, trong phần documentclass ta còn có thể thiết lập một số định dạng chung cho toàn văn bản bằng đoạn code \documentclass[10pt]{article} như sau:

9c691b08dac280a67b314e555efd5d20.png
  • \title{Bắt đầu với LaTex}: tiêu đề văn bản
  • \author{Tác giả}: tác giả
  • \date{September 2015}: ngày viết
  • \begin{document} \end{document}: bắt đầu và kết thúc nội dung văn bản
  • \maketitle Hello world!: trong nội dung văn bản là 1 tiêu đề theo sau đó là đoạn text Hello world!

Ví dụ

Dưới đây là 1 ví dụ về sử dụng LaTex để tạo 1 trang lịch.


\documentclass[landscape,a4paper]{article}

\usepackage{calendar} % Use the calendar.sty style

\usepackage[landscape,margin=0.5in]{geometry}

\begin{document}

\pagestyle{empty} % Removes the page number from the bottom of the page

\noindent

\StartingDayNumber=1 % Calendar starting day, default of 1 means Sunday, 2 for Monday, etc

%----------------------------------------------------------------------------------------
%   MONTH AND YEAR SECTION
%----------------------------------------------------------------------------------------

\begin{center}
\textsc{\LARGE Month}\\ % Month
\textsc{\large Year} % Year
\end{center}

%----------------------------------------------------------------------------------------

\begin{calendar}{\hsize}
\BlankDay
\BlankDay

%----------------------------------------------------------------------------------------
%   NUMBERED DAYS AND CALENDAR CONTENT
%----------------------------------------------------------------------------------------

% These are 31 days in month

\setcounter{calendardate}{1} % Start the date counter at 1

\day{Work}{8am Team meeting \\[6pt] 12pm Have lunch} % to do in day 1
\day{}{\vspace{2.5cm}} % 2
\day{}{\vspace{2.5cm}} % 3
\day{}{\vspace{2.5cm}} % 4
\day{}{\vspace{2.5cm}} % 5
\day{}{\vspace{2.5cm}} % 6
\day{}{\vspace{2.5cm}} % 7
\day{}{\vspace{2.5cm}} % 8
\day{}{\vspace{2.5cm}} % 9
\day{}{\vspace{2.5cm}} % 10
\day{}{\vspace{2.5cm}} % 11
\day{}{\vspace{2.5cm}} % 12
\day{}{\vspace{2.5cm}} % 13
\day{}{\vspace{2.5cm}} % 14
\day{}{\vspace{2.5cm}} % 15
\day{}{\vspace{2.5cm}} % 16
\day{}{\vspace{2.5cm}} % 17
\day{}{\vspace{2.5cm}} % 18
\day{}{\vspace{2.5cm}} % 19
\day{}{\vspace{2.5cm}} % 20
\day{}{\vspace{2.5cm}} % 21
\day{}{\vspace{2.5cm}} % 22
\day{}{\vspace{2.5cm}} % 23
\day{}{\vspace{2.5cm}} % 24
\day{}{\vspace{2.5cm}} % 25
\day{}{\vspace{2.5cm}} % 26
\day{}{\vspace{2.5cm}} % 27
\day{}{\vspace{2.5cm}} % 28
\day{}{\vspace{2.5cm}} % 29
\day{}{\vspace{2.5cm}} % 30
\day{}{\vspace{2.5cm}} % 31

%----------------------------------------------------------------------------------------

\finishCalendar
\end{calendar}
\end{document}

Code language: JavaScript (javascript)

Sau khi compile thì sẽ được như thế này:

calender.png

Latex nâng cao

Bạn có thể đọc tiếp hướng dẫn sử dụng Latex ở đây.

Các bạn có thể tham khảo các bài viết hay về JavaScript tại đây.


Hãy tham gia nhóm Học lập trình để thảo luận thêm về các vấn đề cùng quan tâm.

Leave a Reply

Your email address will not be published. Required fields are marked *