การสร้างเอกสารด้วย latex part...

25
การสร้างเอกสารด้วย LaTeX Part II ผศ.ดร.ชัยพร ใจแก้ว ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ มหาวิทยาลัยเกษตรศาสตร์

Upload: others

Post on 11-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: การสร้างเอกสารด้วย LaTeX Part IIanan/myhomepage/wp-content/...การสร างเอกสารด วย LaTeXPart II ผศ.ดร.ช

การสร้างเอกสารด้วย LaTeX

Part II

ผศ.ดร.ชัยพร ใจแก้ว

ภาควิชาวิศวกรรมคอมพิวเตอร์

คณะวิศวกรรมศาสตร์ มหาวิทยาลัยเกษตรศาสตร์

Page 2: การสร้างเอกสารด้วย LaTeX Part IIanan/myhomepage/wp-content/...การสร างเอกสารด วย LaTeXPart II ผศ.ดร.ช

2

เนื้อหา

• การปรับตั้งค่าขนาดกระดาษและขอบเอกสาร

• การสร้างค าสั่งใหม่

• การใส่ภาพและตารางในเอกสาร

• การเตรียมภาพบิทแมบ็และเวคเตอร์ส าหรับเอกสาร

• การใช้งานภาษาไทยใน LaTeX

• คลาสเอกสารอื่น ๆ ที่น่าสนใจ

Page 3: การสร้างเอกสารด้วย LaTeX Part IIanan/myhomepage/wp-content/...การสร างเอกสารด วย LaTeXPart II ผศ.ดร.ช

3

การตั้งค่ากระดาษและคอลัมน์

• ใช้ตัวเลือกในคลาส article

เลือกกระดาษขนาด A4 คอลัมน์เดยีว

\documentclass[a4paper]{article}

เลือกกระดาษขนาด Letter สองคอลัมน์

\documentclass[letterpaper,twocolumn]

{article}

เลือกกระดาษขนาด A4 คอลัมน์เดียว ใช้ฟอนต์ 12pt เป็นมาตรฐาน

\documentclass[12pt,a4paper]{article}

Page 4: การสร้างเอกสารด้วย LaTeX Part IIanan/myhomepage/wp-content/...การสร างเอกสารด วย LaTeXPart II ผศ.ดร.ช

4

การตั้งค่าขอบกระดาษ (margin)

• ท าได้โดยการตั้งค่าตัวแปรที่เกี่ยวข้อง \setlength{\textwidth}{8in}

• LaTeX ใชต้ าแหน่ง (1in,1in)

เป็นจุดอ้างอิง

• แพ็กเกจ geometry ให้ความ

สะดวกมากกว่าในการตั้งค่า

Page 5: การสร้างเอกสารด้วย LaTeX Part IIanan/myhomepage/wp-content/...การสร างเอกสารด วย LaTeXPart II ผศ.ดร.ช

5

แพ็กเกจ geometry

• เพิ่มความสะดวกในปรับตั้งค่าเลย์เอาท์ของเอกสาร

• ตัวอย่าง

ขนาดเนื้อความ = 7in x 10in จัดต าแหนง่กลางหน้ากระดาษ

\usepackage[text={7in,10in},centering]{geometry}

ขอบเอกสารทุกด้าน = 1.5in

\usepackage[margin=1.5in]{geometry}

ขอบบน,ขอบขวา,ขอบล่าง = 1in ขอบซ้าย = 1.5in

\usepackage[top=1in,bottom=1in,right=1in,left=1.5in]

{geometry}

Page 6: การสร้างเอกสารด้วย LaTeX Part IIanan/myhomepage/wp-content/...การสร างเอกสารด วย LaTeXPart II ผศ.ดร.ช

6

การสรา้งค าสั่งใหม่

• \newcommand สร้างค าสั่งใหม่

• \renewcommand สร้างค าสั่งทับค าสั่งเดิม

Page 7: การสร้างเอกสารด้วย LaTeX Part IIanan/myhomepage/wp-content/...การสร างเอกสารด วย LaTeXPart II ผศ.ดร.ช

7

ตัวอย่างการใช้ \newcommand

• ค าสั่งด้านล่างสร้างค าสั่ง \xvec เพื่อพิมพ์ข้อความ x1,…,x

n

ในต าแหน่งที่เรียกใช้ (ต้องอยู่ในโหมด math)

\newcommand{\xvec}{x_1,\ldots,x_n}

• ค าสั่งด้านล่างรับพารามิเตอร์ 2 ตัว\newcommand{\avec}[2]{#1_1,\ldots,#1_#2}

อ้างอิงในค าสั่งโดยใช้ #1 และ #2 ตามล าดับ

\avec{a}{k} ให้ผลลัพธ์เป็น a1,…,ak

Page 8: การสร้างเอกสารด้วย LaTeX Part IIanan/myhomepage/wp-content/...การสร างเอกสารด วย LaTeXPart II ผศ.ดร.ช

8

ตัวอย่างการใช้ \renewcommand

• ปรับให้ใช้เลขโรมันใหญ่เป็นหมายเลข section

\renewcommand{\thesection}{\Roman{section}}

Page 9: การสร้างเอกสารด้วย LaTeX Part IIanan/myhomepage/wp-content/...การสร างเอกสารด วย LaTeXPart II ผศ.ดร.ช

9

ตาราง

• สร้างตารางโดยใช้ tabular environment

\begin{tabular}{cols} … \end{tabular}

\begin{tabular}{rlc}

Head1 & Head2 & Head3 \\

\hline

A & B & C \\

D & & E

\end{tabular}

\begin{tabular}{r|lc}

Head1 & Head2 & Head3 \\

\hline

A & B & C \\

D & & E

\end{tabular}

Page 10: การสร้างเอกสารด้วย LaTeX Part IIanan/myhomepage/wp-content/...การสร างเอกสารด วย LaTeXPart II ผศ.ดร.ช

10

รูปภาพ

• ใช้ค าสั่ง \includegraphics ในแพ็กเกจ graphicx

• pdfLaTeX รองรับไฟล์ฟอร์แมตดังนี้

PDF (ส าหรับ vector graphics)

PNG (ส าหรับ lossless bitmap graphics)

JPG (ส าหรับ lossy bitmap graphics)

Page 11: การสร้างเอกสารด้วย LaTeX Part IIanan/myhomepage/wp-content/...การสร างเอกสารด วย LaTeXPart II ผศ.ดร.ช

11

ตัวอย่างการใช้ \includegraphics

• ดึงภาพจากไฟล์ pic1.pdf ใส่ไว้ในเอกสาร

\includegraphics{pic1.pdf}

• ก าหนดให้ภาพมีขนาดลดลงครึ่งหนึ่ง

\includegraphics[scale=.5]{pic1.pdf}

• ก าหนดให้ภาพมีความกว้าง 2 นิ้ว

\includegraphics[width=2in]{pic1.pdf}

• ก าหนดให้ภาพมีความกว้าง 50% ของความกว้างเนื้อความ

\includegraphics[width=.5\textwidth]{pic1.pdf}

• หมุนภาพ 45 องศา ทวนเข็มนาฬิกา

\includegraphics[angle=45]{pic1.pdf}

Page 12: การสร้างเอกสารด้วย LaTeX Part IIanan/myhomepage/wp-content/...การสร างเอกสารด วย LaTeXPart II ผศ.ดร.ช

12

Floating Table และ Figure

• โดยปกติตารางหรือรปูภาพจะถูกแทรกในเนื้อความ ณ

ต าแหน่งเดียวกันกับซอร์ส

ตารางหรือภาพที่ใหญ่มากจะถูกตัดขึ้นหน้าใหม่ ท าให้

เหลือพื้นที่ว่างในหน้าเดิมมากเกินไป

แก้ไขได้โดยท าให้ตารางและภาพ "ลอยได้"

• \begin{table}…\end{table} สร้าง floating table

• \begin{figure}…\end{figure} สร้าง floating figure

• \begin{table*}…\end{table*} หรือ \begin{figure*}…\end{figure*} เป็นการระบุให้ภาพหรือตารางถูกวางคร่อมสองคอลัมน์

Page 13: การสร้างเอกสารด้วย LaTeX Part IIanan/myhomepage/wp-content/...การสร างเอกสารด วย LaTeXPart II ผศ.ดร.ช

13

ตัวอย่างการใช้ Floating Table/Figure

• ชุดค าสั่งข้างต้นมีผลดังนี้

สร้าง float ที่บรรจุภาพ pic1.jpg

ภาพถูกจัดไว้กึ่งกลางหน้ากระดาษตามแนวนอน

ค าบรรยายใต้ภาพคือ "A picture"

\begin{figure}

\begin{center}

\includegraphics{pic1.jpg}

\end{center}

\caption{A picture}

\end{figure}

Page 14: การสร้างเอกสารด้วย LaTeX Part IIanan/myhomepage/wp-content/...การสร างเอกสารด วย LaTeXPart II ผศ.ดร.ช

14

การระบุต าแหน่งการวาง Float

• t (top) - พยายามวาง float ไว้ด้านบนของหน้ากระดาษ

• b (bottom) - พยายามวาง float ไว้ด้านล่างของหน้ากระดาษ

• p (page) - พยายามวาง float ไว้ในหน้าพเิศษที่มีแต่ float

• ตัวอย่างเช่น \begin{figure}[btp]… เป็นการระบุให้ LaTeX

พยายามวาง float ไว้ด้านล่างของหน้ากระดาษก่อน

หากไม่ส าเร็จให้พยายามวางไว้ด้านบน

หากไม่ส าเร็จอีกให้จัดรวมไว้ในหน้าพิเศษแยกต่างหาก

• ค่าดีฟอลท์ของการวางคือ tbp

Page 15: การสร้างเอกสารด้วย LaTeX Part IIanan/myhomepage/wp-content/...การสร างเอกสารด วย LaTeXPart II ผศ.ดร.ช

15

การเตรียมภาพแบบเวคเตอร์

• pdfLaTeX รองรับไฟล์ฟอร์แมต PDF

• ใช้โปรแกรมใดก็ได้ที่บันทึกภาพเป็น PDF ได้

Inkscape, XFig, ฯลฯ

• PDF ที่สร้างจาก MS Word หรือ Powerpoint มักมี

ขนาดเต็มหน้ากระดาษ

โหลดและบันทึกผ่าน Inkscape เพื่อปรับขอบภาพใหม่

Page 16: การสร้างเอกสารด้วย LaTeX Part IIanan/myhomepage/wp-content/...การสร างเอกสารด วย LaTeXPart II ผศ.ดร.ช

16

การแก้ไขไฟล์ PDF ด้วย Inkscape

• เปิดเอกสาร PDF ด้วย Inkscape

• เลือกวัตถุภาพ สั่ง Ungroup จนกระทั่งพื้นหลังแยกกลุ่มออกมา

• ลบวัตถุที่เป็นพื้นหลังทิ้ง

• เลือกวัตถุที่เหลือทั้งหมด

• เลือกเมนู File -> Document Properties แล้วกด Fit page to selection

• บันทึกไฟล์

Page 17: การสร้างเอกสารด้วย LaTeX Part IIanan/myhomepage/wp-content/...การสร างเอกสารด วย LaTeXPart II ผศ.ดร.ช

17

การแบ่งซอร์สโค้ดเป็นหลายไฟล์

• ใช้ค าสั่ง \input เพื่อโหลดซอร์สจากไฟล์อื่น

\documentclass{article}

\begin{document}

\section{Introduction}

\input{intro.tex}

\section{Related Work}

\input{related.tex}

\section{Results}

\input{results.tex}

\end{document}

Page 18: การสร้างเอกสารด้วย LaTeX Part IIanan/myhomepage/wp-content/...การสร างเอกสารด วย LaTeXPart II ผศ.ดร.ช

18

ภาษาไทยใน LaTeX

• การรองรับภาษาไทยของ LaTeX/pdfLaTeX ค่อนข้าง

ยุ่งยาก

ต้องติดตั้งฟอนต์ภาษาไทยแยกต่างหาก

ต้องแปลงไฟล์ให้อยูใ่นรหัส สมอ. (TIS620)

ปัจจุบันมแีพ็กเกจ inputenc ที่รองรับรหัสยูนิโค้ด

ต้องใช้โปรแกรมตัดค าแยกต่างหาก

• รวมไว้ในชดุโปรแกรม ThaiLaTeX

Page 19: การสร้างเอกสารด้วย LaTeX Part IIanan/myhomepage/wp-content/...การสร างเอกสารด วย LaTeXPart II ผศ.ดร.ช

19

ตัวอย่างการใช้ ThaiLaTeX

• ตัดค าด้วยโปรแกรม swath

• คอมไพล์ผลลัพธ์ด้วย pdflatex

\documentclass{article}

\usepackage[thai]{babel}

\usepackage[utf8x]{inputenc}

\begin{document}

เอกสารภาษาไทย

\end{document}

ระบุว่าเอกสารเป็นภาษาไทย (ชื่อหัวข้อ รูป ตาราง

วันที่ ฯลฯ จะเป็นภาษาไทยทั้งหมด)

ระบุว่าอินพุทเข้ารหัสเป็นแบบ UTF-8

$ pdflatex testthai.ttx

testthai.tex

$ swath -f latex -u u,u < testthai.tex > testthai.ttx

Page 20: การสร้างเอกสารด้วย LaTeX Part IIanan/myhomepage/wp-content/...การสร างเอกสารด วย LaTeXPart II ผศ.ดร.ช

20

XeTeX/XeLaTeX

• ท างานคล้ายคลึงกับ pdfLaTeX

• ใช้งานฟอนต์ที่ติดตั้งไว้กับระบบปฏิบัติการได้ทันที

• ใช้ระบบตัดค าของระบบปฏิบัติการ

• รองรับซอร์สไฟล์รหัส UTF-8

• รวมไว้ในชุดโปรแกรม MiKTeX ตั้งแต่เวอร์ชัน 2.7

เป็นต้นมา

Page 21: การสร้างเอกสารด้วย LaTeX Part IIanan/myhomepage/wp-content/...การสร างเอกสารด วย LaTeXPart II ผศ.ดร.ช

21

การตั้งค่าให้ XeTeX

• เพิ่มค าสั่งต่อไปนี้ลงใน preamble ของเอกสาร

\usepackage{xltxtra}

\usepackage{xunicode}

\usepackage{fontspec}

\defaultfontfeatures{Scale=MatchLowercase}

\XeTeXlinebreaklocale "th_TH"

\setmainfont[Script=Thai]{Loma}

\setmonofont[Script=Thai]{TlwgTypewriter}

ปรับให้อักขระภาษาไทยมีความสูง

ประมาณอักขระภาษาอังกฤษตัวเล็ก

ใช้ระบบตัดค าภาษาไทย

ใช้ฟอนต์ Loma เป็นฟอนต์หลัก

ใช้ฟอนต์ TlwgTypewriter เป็น

ฟอนต์แบบ Monospace (เช่นที่ใช้

กับค าสั่ง \texttt)

Page 22: การสร้างเอกสารด้วย LaTeX Part IIanan/myhomepage/wp-content/...การสร างเอกสารด วย LaTeXPart II ผศ.ดร.ช

22

แหล่งข้อมูลส าหรับภาษาไทยบน LaTeX

• Thai LaTeX User Group

http://thaitug.daytag.org/wordpress/

• Swath (โปรแกรมตัดค า) ส าหรบัวินโดวส์

http://code.google.com/p/swath/

• เอกสารแนะน าการใช้งาน XeTeX/XeLaTeX ของ

ผศ.ดร.ประมวล สุธีจารุวัฒน์

http://www.ie.eng.chula.ac.th/~pramual/books/XeTeX

Page 23: การสร้างเอกสารด้วย LaTeX Part IIanan/myhomepage/wp-content/...การสร างเอกสารด วย LaTeXPart II ผศ.ดร.ช

23

ตัวอย่างคลาสอื่น ๆ ที่น่าสนใจ

• คลาส IEEEtran - ส าหรับสร้างเอกสารวิชาการใน

รูปแบบของ IEEE (รองรับทั้ง conference และ journal)

ข้อมูลเพิ่มเติม

http://www.ctan.org/tex-archive/macros/latex/contrib/IEEEtran/

• คลาส res - ส าหรับใช้สร้าง Resume

ดูตัวอย่างได้จาก

http://rpi.edu/dept/arc/training/latex/resumes/

Page 24: การสร้างเอกสารด้วย LaTeX Part IIanan/myhomepage/wp-content/...การสร างเอกสารด วย LaTeXPart II ผศ.ดร.ช

24

ตัวอย่างคลาสอื่น ๆ ที่น่าสนใจ (ต่อ)

• คลาส beamer - สร้างสไลด์ส าหรับน าเสนอ

ดูข้อมูลเพิม่เติมจาก

http://tug.ctan.org/tex-archive/macros/latex/contrib/beamer

Page 25: การสร้างเอกสารด้วย LaTeX Part IIanan/myhomepage/wp-content/...การสร างเอกสารด วย LaTeXPart II ผศ.ดร.ช

25

แหล่งข้อมูลเพิ่มเติม

• ดาวน์โหลดแพ็กเกจและคลาส รวมถึงคู่มอืการใช้งาน

http://www.ctan.org/