Bài thực hành LaTeX bài 5

1. Điền vào một mẫu đơn có sẵn.

Đôi khi ta có một mẫu đơn, ví dụ Đơn xin việc, và ta muốn điền các thông tin cần thiết vào vị trí bỏ trống của mẫu đơn đó.

\LaTeX thực hiện công việc này như sau:

  1. Download và cài đặt Ghostscript và Ghostview (dùng để xem file PDF và định vị tọa độ của từng  ký tự trên file pdf).
  2. Soạn một file \TeX, đoạn đầu (trước \begin{document}) theo mẫu
  3. Biên dịch  thành một file pdf, dùng ghostview để xem tọa độ của các vị trí cần điền vào khoảng trống. Lấy tọa độ này điền vào file \TeX. Biên dịch lại lần nữa.
  4. Muốn thực hiện công việc này nhẹ nhàng, cần có hai amfn hình, một màn hình mở file mẫu đơn (để lấy tọa độ), một màn hình chứa file \TeX để soạn thảo và biên dịch.
  5. Đây là công việc rất hay, các bạn thực hành, có gì thắc mắc post lên Phản hồi. Font chữ có thể thay đổi, các bạn tự tìm hiểu tên các font và thay đổi phù hợp. Có gì thắc mắc post lên Phản hồi.

code:

\documentclass{minimal}
\usepackage[utf8]{vietnam}
\usepackage[pdftex]{graphicx}
\usepackage[
a4paper,
left=0cm,
right=0cm,
top=0cm,
bottom=0cm,
nohead,
nofoot
]{geometry}
\pagestyle{empty}
\def\nullrule{\hrule height 0pt\relax}
\newdimen\dimenA
\newdimen\dimenB
\newdimen\lineheight
\newdimen\lineheight
\lineheight=10bp

\def\fontA{%
\fontfamily{ucr}%
\fontseries{b}%
\fontshape{n}%
\fontsize{12pt}{12pt}%
\selectfont
}

\def\fontB{%
\fontfamily{ucr}%
\fontseries{b}%
\fontshape{n}%
\fontsize{8pt}{8pt}%
\selectfont
}

\long\def\puttext#1#2#3{%
\vbox to 0pt{
\nullrule
\dimenA=\paperheight
\advance\dimenA by -\lineheight
\advance\dimenA by -#2bp\relax
\vskip\dimenA
\nullrule
\hbox to 0pt{%
\hskip#1bp\relax
\fontA
\vrule width 0pt height \lineheight #3%
\hss}%
\vss
}
\nullrule
}

\long\def\puttextb#1#2#3{%
\vbox to 0pt{
\puttext{1
\nullrule
\dimenA=\paperheight
\advance\dimenA by -\lineheight
\advance\dimenA by -#2bp\relax
\vskip\dimenA
\nullrule
\hbox to 0pt{%
\hskip#1bp\relax
\fontB
\vrule width 0pt height \lineheight #3%
\hss}%
\vss
}
\nullrule
}

\def\putpage#1{
\vbox to 0pt{
\nullrule
\hbox{\includegraphics[page=#1]{uyquyen.pdf}}% nhập tên file mẫu đơn
\vss
}
\nullrule
}

\def\putpar#1#2#3{%
\puttext{#1}{#2}{\vbox{%
\hsize=.85\textwidth
\raggedright
\fontA
\baselineskip=16bp
#3
\par
}}}

\begin{document}
\putpage{1}
% dòng 1
\puttext{92}{610}{TP HCM}
\puttext{181}{610}{04}
\puttext{248}{610}{12}
\puttext{301}{610}{2011}
% dòng 2
\puttext{192}{577}{Lê Hà Thị Thanh Trà}
\puttext{144}{561}{35 Lê Thánh Tôn, Quận 1, TP Hồ Chí Minh}
\puttext{205}{544}{1234}
\puttext{279}{544}{TP Hồ Chí Minh}
\puttext{448}{544}{24/07/2003}

\puttext{231}{513}{Quách Thu Phương}
\puttext{141}{496}{70/2 Lê Ngô Cát, Quận 3, TP Hồ Chí Minh}
\puttext{206}{480}{4321}
\puttext{323}{480}{10/12/2007}
\puttext{459}{480}{TP Hồ Chí Minh}
\puttext{149}{461}{0908237817}
\puttext{343}{461}{0835089506}
\puttext{154}{448}{Việt Nam}width=”960″
\puttext{124}{399}{Bên được ủy quyền thay mặt bên ủy quyền xúc tiến}
\puttext{124}{384}{giao dịch thương mại bán căn nhà đang ở.}
\end{document}

Kết quả là ta có file pdf sau đây:

2. Viết bảng biến thiên như thế nào? Cách dễ nhất không dùng đại số máy tính

Trước hết các bạn phải download các file sau đây về máy tính.

http://www.tug.org/applications/pdftex/supp-pdf.tex (File này không cần nữa, vì có thể dùng \usepackage{graphicx})

http://ubuntuone.com/tableauVariation.mp  (đã được điều chỉnh phù hợp với thực tiễn Việt Nam)

Soạn một file metapost ex.mp như sau:

Code dưới đây chỉ để tham khảo (vì copy bị mất/sai một số ký tự), các bạn download file sau đây về sử dụng:

http://ubuntuone.com/ex.mp

input tableauVariation;
beginTableau(1)
newLigneVariables(btex $x$ etex);
val(btex $-\infty$ etex);
val(“2”);
val(“5”);
val(“8”);
val(btex $+\infty$ etex);

newLigneSignes(btex $y’$ etex);
plus;
valBarre(“0”);
moins;
nonDefBarre;
moins;
valBarre(“0”);
plus;

newLigneVariations(btex $y$ etex);
valPos(“0”,0);
valPos(“6”,2/3);
limGauche(btex $-\infty$ etex, 0);
nonDefBarre;
limDroite(btex $+\infty$ etex,1);
valPos(“0”,0);
valPos(btex $+\infty$ etex,1);
endTableau;

end

Có ba newline:

  1. newline thứ nhất viết biến x và các giá trị của x.
  2. newline thứ hai viết y’, ghi dấu của đạo hàm: plus (+), moins (-), valBarre(“0”): vẽ một đoạn thẳng chẻ dọc giá tri 0, nonDefBarre vẽ ký hiệu không xác định.
  3. newline thứ ba viết y và ghi các giá trị tương ứng của hàm số.

Các lệnh trong ex.mp được giải thích như sau:

  • val(“2”); ghi số 2 vào vị trí thích hợp
  • valPos(“0”,0); ghi số 0 vào vị trí thích hợp và tại vị trí đó ứng với chiều cao là 0
  • valPos(“6”,2/3); ghi số 6 vào vị trí thích hợp và tại vị trí đó ứng với chiều cao là 2/3
  • limGauche(btex $-\infty$ etex, 0); ghi dấu trừ vô cực vào giới hạn bên trái tại vị trí thích hợp và tại vị trí đó ứng với chiều cao là 0
  • limDroite(btex $+\infty$ etex,1); ghi dấu cộng vô cực vào giới hạn bên phải tại vị trí thích hợp và tại vị trí đó ứng với chiều cao là 1

Các dấu mũi tên sẽ được thực hiện tự động, theo nguyên tắc “ngọn cao hơn gốc thì mũi tên tăng” và ngược lại. Bảng biến thiêniên sẽ tự động viết các giá trị vào vị trí thích hợp bằng cách chia đều chiều dài của dòng cho số các cột thành các vị trí.

Dịch file ex.mp bằng lệnh

metapost ex

sinh ra một file có tên là ex.1

Soạn một file \TeX ví dụ là mp2pdf.tex với nội dung như sau:

\documentclass[12pt]{article}
\usepackage[utf8]{vietnam}
\usepackage{graphicx}
\begin{document}

Ta lập bảng biến thiên của hàm số như sau:

\begin{center}
\parbox{10cm}{\convertMPtoPDF{ex.1}{1}{1}}
\end{center}

\end{document}

dịch file này bằng pdflatex là coi như xong. Ta có bảng biến thiên như sau:

Dựa vào hướng dẫn này, mời các bạn viết bảng biến thiên của 5 hàm số ở lớp 12.

code mp:

input tableauVariation;
beginTableau(3)
newLigneVariables(btex $x$ etex);
val(“0”);
val(“2”);
val(“5”);
val(“8”);
val(btex $+\infty$ etex);

newLigneSignes(btex $y’$ etex);
plus;
valBarre(“0”);
moins;
debutNonDef;
finNonDef;
plus;

newLigneVariations(btex $y$ etex);
valPos(“0”,0);
valPos(“6”,2/3);
limGauche(“0”,0);
debutNonDef;
finNonDef;
limDroite(“0”,0);
valPos(btex $+\infty$ etex,1);
endTableau;
end

Download:

http://ubuntuone.com/ex2.mp

code \LaTeX:

\documentclass[12pt,a4paper]{book}
\usepackage[utf8]{vietnam}
\usepackage{utopia}
\usepackage{graphicx}
\begin{document}

\begin{figure}[hb]
\centering
\parbox{10cm}{\convertMPtoPDF{ex2.3}{1}{1}}
\end{figure}

\end{document}

 

 

 

Đọc thêm:

http://www.labri.fr/perso/mazoit/index.php/Fr/TabVar

http://melusine.eu.org/syracuse/metapost/vrac/connan/TabVar/vue?src=mathematorTabVar.mp

Advertisements

4 responses to “Bài thực hành LaTeX bài 5

  1. Nguyễn Duy Uân

    Em chào Thầy ạ.
    Em là Nguyễn Duy Uân,khoa Toán-Tin, Đại học Khoa học Tự Nhiên, ĐHQG Hà Nội ạ.
    Em đang làm khóa luận bằng LaTeX ạ. Em thấy trang của Thầy rất bổ ích ạ.
    Em cũng đang nghiên cứu về cách vẽ bảng biến thiên bằng LaTeX ạ. Phía trên Thầy có hướng dẫn
    “Dịch file ex.mp bằng lệnh

    metapost ex

    sinh ra một file có tên là ex.1”, em chưa hiểu là dịch bằng cái gì ạ. Có phải bằng cửa sổ Command Prompt không ạ?
    Em có đọc trên trang http://viettug.tuxfamily.org/thread.4901.html thì em biên dịch kết quả thành công(sinh được file *.1), nhưng mà làm trên WinEdt chứ không phải làm trên VietTeX ạ. Thực hiện trên VieTeX thì em không xuất ra được file ex.1 như Thầy chỉ dẫn ạ.
    Mong Thầy giúp đỡ ạ. Em cảm ơn Thầy nhiều ạ.

    • Nếu em thực hiện trên MS Windows, em nên mở một màn hình DOS Prompt, chuyển ổ đĩa và sau đó chuyển thư mục đến thư mục chứa file ex.mp. Tại đây em gõ một lệnh như sau:

      mpost ex

      chương trình metapost sẽ vận hành (vài giây), sau đó biên dịch ra các file ex. * tùy theo file ex.mp của em có bao nhiêu hình. Khi đã có các file hình, ví dụ ex.1, ex.2 v.v… em sẽ sử dụng trong file tex như các hướng dẫn.

      Em có thể hỏi thêm để rõ hơn.
      Thân

    • Thầy không sử dụng VieTex nên không biết khi cài đặt VieTeX thì metapost đã cài đặt chưa. Nếu đã cài đặ rồi thì mọi việc dễ dàng, nếu chưa cài đăt thì em phải cài đặt thủ công, nôm na và copy file metapost.exe vào thư mục chứa các file *.mp

  2. Nguyễn Duy Uân

    Cảm ơn Thầy ạ. Trong VieTeX không xuất được ra file *.1. Tuy nhiên copy file *.1 sinh ra bằng WinEdt, import vào VieTeX thì thành công. Có lẽ phải làm thủ công Thầy ạ.
    Trên diễn đàn em có thấy Thầy hướng dẫn vẽ hình bằng GeoGebra. Em cũng đang tập vẽ các hình không gian. Trong không gian 3 chiều thì em không vẽ được nét đứt Thầy ạ. Với lại nhiều khi các đường thẳng em vẽ nó cứ chèn lên điểm(tên của điểm đó ạ) làm mất thẩm mĩ của hình. Trong sách giáo khoa hình học của Bộ, em không biết tác giả dùng GeoGebra hay phần mềm gì để vẽ hình mà em thấy hình ảnh rất đẹp ạ. Thầy tư vấn giúp em nhé. Em cảm ơn Thầy rất nhiều ạ.

Trả lời

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Đăng xuất / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Đăng xuất / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Đăng xuất / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Đăng xuất / Thay đổi )

Connecting to %s