Có cái gì TeX làm được mà Word làm không được không?

Đó là câu hỏi mà thầy Lân hỏi tôi mười năm trước. Nguyên nhân là vì thầy Lân khá vững vàng trong việc soạn thảo văn bản bằng MS Word và lúc đó \TeX khá là khó sử dụng.

Tất nhiên khi thầy Lân gửi bài báo sang Tây Ban Nha và tòa soạn bên đó chỉ nhận file \TeX thì thầy bắt buộc phải chuyển văn bản Word đã soạn thảo sang \LaTeX. Trong hoàn cảnh đó thầy Lân đã nhờ tôi giúp  chuyển bài báo từ Word sang \TeX. Tôi mất cả mấy tiếng đồng hồ thực hiện trước mắt thầy. Hú hồn, những công thức toán học chằng chịt như nhà lầu và đầy dẫy khắp 14 trang của bài báo. Cho đến bây giờ việc chuyển đổi như thế nào vẫn là chuyện tuyệt mật và sau này chỉ có Nguyễn Thanh Vinh là thực hiện được mà thôi.

Tôi sẽ không đưa ra đáp số là: “Có cái gì \LaTeX làm được mà Word không làm được?”. Vì câu  trả lời sẽ là quá thừa. Trong bài viết này, tôi lần lượt trình bày những thành tựu mà \LaTeX đạt được trong mấy năm qua, trong khi đó dù thay đổi diện mạo thế nào, MS Word 2012 cũng chẳng khá hơn MS Word XP ngày nào là mấy.

 

Vào ngày 11 tháng 6 năm 2012 Robert Fuster đã giới thiệu gói calculator và calculus để thực hiện việc tính toán (Đơn giản và phức tạp).

file doc calculator.doc về đổi tên thành calculator.sty đặt tại thư mục có chứa file \TeX.

Ví dụ 1: (của Robert Fuster) Soạn một file \TeX như sau:

\documentclass[12pt,a4paper]{book}
\usepackage[utf8]{inputenc}
\usepackage[vietnam]{babel}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{calculator}
\usepackage[left=2cm,right=2cm,top=2cm,bottom=2cm]{geometry}
\begin{document}

%  \tempA=2,5^2
  \SQUARE{2.5}{\tempA}
%  \tempB=sqrt(12)
  \SQUAREROOT{12}{\tempB}
% \tempC=exp(3,4)
  \EXP{3.4}{\tempC}
%  \divisio=\tempA/tempB
  \DIVIDE{\tempA}{\tempB}{\divisio}
% \sol=\divisio+\tempC
  \ADD{\divisio}{\tempC}{\sol}
\begin{align*}
\frac{2.5^2}{\sqrt{12}}+\mathrm{e}^{3.4}
      &= \frac{\tempA}{\tempB}+\tempC \\
      &= \divisio+\tempC \\
      &=\sol
\end{align*}

\end{document}

Biên dịch bằng PdfLaTeX, ta có kết quả tính toán như sau:

\displaystyle\frac{2.5^2}{\sqrt{12}}+\mathrm{e}^{3.4} = \displaystyle\frac{6.25}{3.4641}+29.96432
= 1.80421+29.96432
= 31.76854

Thay vì lấy máy tính ra bấm rồi ghi kết quả vào file \TeX (tam sao thất bổn) thì gói này kiêm luôn việc tính toán đó.

Ví dụ 47: (của Robert Fuster) Tích của hai ma trận.
Soạn một file \TeX như sau:

\documentclass[12pt,a4paper]{book}
\usepackage[utf8]{inputenc}
\usepackage[vietnam]{babel}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{calculator}
\usepackage[left=2cm,right=2cm,top=2cm,bottom=2cm]{geometry}
\begin{document}
\MATRIXPRODUCT(1,-1,2;3,0,5;-1,1,4)%
              (3,5,-1;-3,2,-5;1,-2,3)%
                (\sola,\solb,\solc;
                 \sold,\sole,\solf;
                 \solg,\solh,\soli)

$\begin{bmatrix}
       1 & -1 & 2 \\ 3 & 0 & 5 \\ -1 & 1 & 4
     \end{bmatrix}
\begin{bmatrix}
       3 & 5 & -1 \\ -3 & 2 & -5 \\ 1 & -2 & 3
     \end{bmatrix}
=\begin{bmatrix}
       \sola & \solb & \solc \\
       \sold & \sole & \solf \\
       \solg & \solh & \soli
\end{bmatrix}
$

\end{document}

Biên dịch bằng PdfLaTeX ta có kết quả tính tích của hai ma trận như sau:

\left[\begin{array}{cccc}  1 & -1 & 2 \\  3 & 0 & 5 \\  -1 & 1 & 4  \end{array}\right]  \left[\begin{array}{cccc}  3 &5 &-1 \\  -3 & 2 & -5 \\  1 & -2 & 3  \end{array}\right] =\left[\begin{array}{cccc}  8 & -1 & 10 \\  14 & 5 & 12 \\  -2 & -11 & 8  \end{array}\right]

Ví dụ 49: (của Robert Fuster) Định thức của ma trận dễ như “\LaTeX” vì chỉ tính định thức trong “nháy mắt” (xem dòng 11).

Soạn một file \TeX như sau:

\documentclass[12pt,a4paper]{book}
\usepackage[utf8]{inputenc}
\usepackage[vietnam]{babel}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{calculator}
\usepackage[left=2cm,right=2cm,top=2cm,bottom=2cm]{geometry}
\begin{document}
\DETERMINANT(1,-1,2;3,0,5;-1,1,4){\sol}
$\begin{vmatrix}
       1 & -1 & 2 \\ 3 & 0 & 5 \\ -1 & 1 & 4
     \end{vmatrix}=\sol$

\end{document}

Biên dịch bằng pdfLaTeX ta được kết quả tính định thức là:

\left|\begin{array}{cccc}  1 & -1 & 2 \\  3 & 0 & 5 \\  -1 & 1 & 4  \end{array}\right| =18

Ví dụ 50: (của Robert Fuster) Còn ma trận nghịch đảo thì sao? Cũng dễ như “\LaTeX” vì chỉ tính ma trận nghịch đảo trong “nháy mắt” (xem các dòng 11,12,13,14).

Soạn một file \TeX như sau:

\documentclass[12pt,a4paper]{book}
\usepackage[utf8]{inputenc}
\usepackage[vietnam]{babel}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{calculator}
\usepackage[left=2cm,right=2cm,top=2cm,bottom=2cm]{geometry}
\begin{document}
\INVERSEMATRIX(1,-1,1;3,5,1;2,1,3)(%
            \sola,\solb,\solc;
            \sold,\sole,\solf;
            \solg,\solh,\soli)
$\begin{bmatrix}
       1 & -1 &1\\
       3 & 5 &1\\
       2&1&3
 \end{bmatrix}^{-1}=
 \begin{bmatrix}
\sola &\solb &\solc\\
            \sold & \sole &\solf\\
            \solg &\solh &\soli
 \end{bmatrix}
\end{document}

Tuy nhiên ta không thích đáp số dưới dạng số thập phân, vì caculator chia ma trận (chuyển vị của các phần bù đại số) cho định thức của ma trận đã cho nên kết quả là các số gần đúng. Để khắc phục, ta thực hiện việc tính định thức của ma trận đã cho ghi vào biến \sol, lấy ma trận nghịch (gồm các số gần đúng nói trên) nhân cho định thức \sol. Kết quả vẫn là số gần đúng nên ta bắt buộc phải làm tròn (may mà kết quả của việc làm tròn là các số đúng với các giá trị của ma trân nghịch đảo khi là tròn nhiều khi ta gặp sai số)

\documentclass[12pt,a4paper]{book}
\usepackage[utf8]{inputenc}
\usepackage[vietnam]{babel}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{calculator}
\usepackage[left=2cm,right=2cm,top=2cm,bottom=2cm]{geometry}
\begin{document}
\INVERSEMATRIX(1,-1,1;3,5,1;2,1,3)(%
            \sola,\solb,\solc;
            \sold,\sole,\solf;
            \solg,\solh,\soli)
\DETERMINANT(1,-1,1;3,5,1;2,1,3){\sol}
\SCALARMATRIXPRODUCT{\sol}(%
            \sola,\solb,\solc;
            \sold,\sole,\solf;
            \solg,\solh,\soli)(%
            \solA,\solB,\solC;
\solD,\solE,\solF;
\solG,\solH,\solI)

\ROUND[0]{\solA}{\losa}
\ROUND[0]{\solB}{\losb}
\ROUND[0]{\solC}{\losc}
\ROUND[0]{\solD}{\losd}
\ROUND[0]{\solE}{\lose}
\ROUND[0]{\solF}{\losf}
\ROUND[0]{\solG}{\losg}
\ROUND[0]{\solH}{\losh}
\ROUND[0]{\solI}{\losi}

$\begin{bmatrix}
       1 & -1 &1\\
       3 & 5 &1\\
       2&1&3
 \end{bmatrix}^{-1}=
 \begin{bmatrix}
\sola &\solb &\solc\\
            \sold & \sole &\solf\\
            \solg &\solh &\soli
 \end{bmatrix}=
 \dfrac{1}{\sol} \begin{bmatrix}
\losa &\losb &\losc\\
            \losd & \lose &\losf\\
            \losg &\losh &\losi
\end{bmatrix}$

\end{document}

Kết quả như sau:

Muốn tìm hiểu thêm về caculator, download file pdf sau về đọc
calculator.pdf

Còn tiếp

Bình luận về bài viết này