A waiting for package “tcolorbox”

เวลาทำงานเอกสาร สิ่งที่อยากทำมาก ๆ คือการสร้างกรอบให้กับส่วนที่เราต้องการแบบนี้

การทำเช่นนี้ใน LaTeX นั้นยากพอสมควร คือต้องไปสร้างชุดคำสั่งของ TikZ (หรืออื่น ๆ)  ซึ่งมันก็ยากอยู่ดี  ปกติแล้วผมจะใช้แพ็กเกจ listings ในการจัดการเรื่องพวกนี้ ซึ่งมันก็ไม่ได้ดูดีแบบรูปที่เห็น

อยู่ดี ๆ ฟ้าก็ส่งท่าน  Prof. Dr.rer.nat. Dr.-Ing. Thomas F. Sturm (ไม่ต้องตกใจนะครับ คนชาติตะวันตกการเรียน Dr. หลาย ๆ ใบนั้น ไม่ใช่เรื่องแปลก แต่คนเยอรมันนั้น จบอะไรก็ต้องใส่สาขาด้วย แสดงให้เห็นกันไปเลยว่าเชี่ยวชาญด้านไหน ไม่ใช่ว่ามีดีกรีด็อกเตอร์แล้วจะเก่งไปซะทุกเรื่อง และจริง ๆ มีดีอะไรก็บอกให้โลกรู้ไปซะ ไม่ต้องมาปกปิดทำลับ ๆ ล่อ ๆ ) ท่านโปรเฟสเซอร์ได้สละเวลาที่ไม่ค่อยจะมีนั้น สร้างแพ็กเกจ tcolorbox ไว้ให้ผมได้เอาไว้ใช้ (ฮา)  น่าเสียดายที่คู่มือเป็นภาษาเยอรมัน แต่ถ้าชำนาญคำสั่งต่าง ๆ ของ LaTeX พอสมควรก็ไม่าน่าจะยากครับ

สำหรับการสร้างผลลัพธ์ให้ได้อย่างรูปที่เห็นนั้น สามารถทำได้ดังรหัสต้นต่อไปนี้ครับ

\documentclass[xcolor=dvipsnames,xcolor=svgnames]{report}
\usepackage[svgnames,dvipsname]{xcolor}
\usepackage[listings,theorems]{tcolorbox}
\usepackage{listings}
\tcbuselibrary{listings}

% กำหนดค่าตัวเลือกให้ listings 
\lstset{%
    language=MATLAB,
    basicstyle=\ttfamily,
    keywordstyle=\color{Black},
    identifierstyle=,
    commentstyle=\color{Green},
    stringstyle=\ttfamily\color{DarkViolet},
    showstringspaces=false,
    numbers=left,
    xleftmargin=.3in,
    xrightmargin=.3in,
    framexleftmargin=0.2cm,
    framexrightmargin=0.2cm,
    float=h,
    aboveskip=1cm,
    belowskip=1cm
}%

\begin{document}

% การเรียกใช้คำสั่งของ tcolorbox เพื่อพิมพ์ listings
\begin{tcblisting}{colback=yellow!5,colframe=yellow!50!black,listing only,
    title= This is a MATLAB example}
    clc; clear all;
    s = tf('s');
    sys = 1/(s+5);
    bode(sys); 
\end{tcblisting}

\end{document}

โดยส่วนต่าง ๆ ที่จำเป็นคือ ไฟล์ tcolorbox.sty, tcblistings.code.tex  ไฟล์เหล่านี้ยังไม่ได้อยู่บน MikTeX (ตอนนี้) ดังนั้นจะต้องโหลดเอามาไว้ในโฟลเดอร์ที่ต้องการเอง  การเรียกใช้เบื้องต้นก็ต้องปรับแต่งตัว listing ให้ได้ตามชอบใจก่อน แล้วก็เรียกพิมพ์ listing โดยใช้สิ่งแวดล้อม tcblisting  จุดสำคัญที่ต้องคำนึงถึงคือตัวเลือก listing only ตัวนี้ถ้าไม่ใส่ รหัสต่าง ๆ ที่เราพิมพ์ลงไปนั้นก็จะไปปรากฏบนเอกสารด้วย (เยี่ยมมาก)

เอาไปลองใช้ดูนะครับ ได้ผลดีอย่างไรก็บอกกล่าวมาด้วยแล้วกัน

ก้าวแรกสู่สังเวียน BibLaTeX ตอนที่ 1 Jabref

ตามที่ได้กล่าวไปแล้วว่าจะมีการพูดถึงการใช้ BibLaTeX ทั้งนี้เพื่อให้เราสามารถปรับปรุงรูปแบบการอ้างอิงเอกสารได้โดยไม่ต้องพึ่งพาไฟล์ bst (ที่อาจจะปรับปรุงแก้ไขได้ยาก) ซึ่งไม่คล่องตัวนัก ซึ่งการใช้ BibLaTeX จะทำให้มีความคล่องตัวมากกว่า และผู้ใช้สามารถเปลี่ยนแปลงแก้ไขได้อย่างสะดวกและบ่อยครั้ง ตัวอย่างเช่นรูปแบบการแสดงเอกสารอ้างอิงในวิทยานิพนธ์ของมหาวิทยาลัยไทยแห่งหนึ่งกำหนดดังในรูปข้างล่าง

 ซึ่งถ้าใครใช้รูปแบบของ IEEE อยู่ก็จะรู้ว่ามันไม่เหมือนกัน  เนื้อหาในตอนนี้จะเป็นการเตรียมความพร้อมของผู้ใช้ให้พร้อมใช้ BibLaTeX ก่อน ในตอนที่ 1 นี้จะเป็นการปรับแต่ง Jabref ให้รอบรับภาษาไทยครับ

เนื่องจากการใช้ Jabref เพื่อเก็บรายละเอียดของเอกสารอ้างอิงของเรานั้นเป็นเรื่องที่สะดวกที่สุดในสายตาผม วิธีการทำให้ Jabref รู้จักภาษาไทยก็สามารถทำได้ง่าย คือติดตั้งฟอนต์ภาษาไทยที่ต้องการจะใช้เข้าไปยังโฟลเดอร์ที่ติดตั้ง Java เอาไว้  สำหรับกรณีของผมก็คือที่ C:\Program Files\Java\jre6\lib\fonts  ซึ่งฟอนต์ที่ดีที่แนะนำก็คือฟอนต์ Garuda ครับ  เมื่อคัดลอกไฟล์ฟอนต์ไปวางไว้ในโฟลเดอร์ดังกล่าว ก็เป็นอันเสร็จพิธี  Jabref ของเราสามารถใช้ภาษาไทยได้อย่างราบรื่นครับ

คราวต่อไปจะแนะนำวิธีการตั้งค่าของ BibLaTeX เพื่อให้ได้ผลตามรูปข้างบนครับ

แต่งเติมสีสันให้กับ environment

วันนี้เอาแพ็กเกจดี ๆ มาฝากเช่นเคยครับ (?) เรื่องมีอยู่ว่าเวลาเราเขียนหนังสือเรามักจะชอบทำให้ส่วนต่าง ๆ ของหนังสือให้มีความแตกต่างกัน ตัวอย่างเช่น เวลาที่เราต้องการให้มีเส้นกรอบปิดหัวท้ายของส่วนที่เป็นตัวอย่างดังในรูป

ในการสร้างตัวสิ่งแวดล้อม (environment) ตัวอย่าง ดังในรูปนั้น โดยทั่วไปแล้วเราก็จะใช้รูปแบบมาตรฐานที่มีให้กับ LaTeX  และ amsmath ดังนี้

\newtheorem{theorem}{ตัวอย่างที่}[chapter]

ซึ่งแน่นอนครับ การใช้คำสั่งมาตรฐานย่อมได้สิ่งที่เป็นมาตรฐาน (แน่นอนสวยงามในแบบมาตรฐาน) ซึ่งย่อมไม่ถูกใจคนนอกกรอบแน่นอน

ถ้าเราไปเปิดหนังสือมีการออกแบบรูปแบบของหนังสือเป็นอย่างดีนั้น ในส่วนของทฤษฎีบท, ตัวอย่าง ฯลฯ ย่อมจะต้องมีรูปแบบที่ตายตัว มีการตกแต่งที่สวยงาม เปิดไปเจอก็จะรู้ว่าตรงนี้เป็นส่วนของตัวอย่าง  ตอนที่ผมเขียนวิทยานิพนธ์ก็ได้พยายามทำเช่นเดียวกัน โดยใช้แบบจากหนังสือของ Stephen Boyd หนึ่งในบุคคลแม่แบบของใครหลาย ๆ คน (ลอกกันทุกอณู (ถ้าทำได้)) แน่นอนผมไม่ได้ลอก Boyd เพราะผมต้องทำเองให้เหมือนหรือดีกว่า (ฮา) ตอนที่ผมทำนั้นผมใช้วิธีดังนี้ครับ

\newcounter{Examplecount}[chapter]
\setcounter{Examplecount}{0}
\renewcommand\theExamplecount{\arabic{chapter}.\arabic{Examplecount}}
\makeatletter%
\newenvironment{examplex}
{% This is the begin code
    \vspace{-.5em}
    \@tempdima0.0cm
    \def\endbit{}
    \advance\rightskip\@tempdima
    \hangindent\@tempdima
    \ignorespaces
    {\vspace{0.5cm} \begin{flushright}\rule{1\textwidth}{0.5pt}\end{flushright}}
     \vspace{-0.0cm}
         \refstepcounter{Examplecount}
         {  \noindent  \small\textbf{ตัวอย่างที่}
        \thechapter.\arabic{Examplecount}}
        \small
}
{% This is the end code
    \nolinebreak\hspace*{\stretch2}
    \parfillskip-\@tempdima
    \makebox[\@tempdima][r]{\endbit}\par
    \raggedleft$\Box$ \\[-0.5em]
    \hfill\hspace{0.03\textwidth}\rule{1\textwidth}{0.5pt}
}

ขออนุญาตไม่อธิบายนะครับ เพราะนอกจากจะยุ่งยากแล้วเรายังจะไม่ใช้มันอีกด้วย (ผู้สนใจสามารถดูรายละเอียดได้จากคำสั่ง \newenvironment{}{}{}) สำหรับรหัสต้นข้างต้นนั้น มีปัญหาในหลายส่วนครับ เช่นในกรณีของตัวอย่างที่คร่อมสองหน้า บางครั้งเส้นขอบบนและเส้นขอบล่างจะไม่อยู่ในที่ ๆ มันควรจะอยู่ หรือบางครั้งเส้นขอบบนอยู่หน้าหนึ่ง ตัวเนื้อหาอยู่อีกหน้าหนึ่ง

เวลาผ่านไปนาน หลังจากที่ผมทนใช้รหัสต้นของผมอยู่ปีกว่า  ผมก็ได้เริ่มเขียนหนังสือเล่มใหม่ ปัญหาเดิม ๆ กลับมาหลอกหลอนผมอีกครั้งและแก้ยาก ผมเลยใช้วิธีค้นหา แน่นอนผมใช้ทั้ง bing, google และ Stack Exchange ผมก็ได้ผมกับแพ็กเกจ mdframed ซึ่งทำให้งานเหล่านี้ง่ายขึ้นมากทีเดียว สำหรับการทำให้สิ่งแวดล้อมตัวอย่าง มีลักษณะดังรูปข้างต้นนั้นทำดังนี้ครับ

\newtheorem{mdtheorem}{\textbf{ตัวอย่างที่}}[chapter]
\newenvironment{examplex}{%
    \begin{mdframed}%
	[linewidth=1pt, leftline=false, rightline=false,%
	outerlinewidth=2,leftmargin=50,rightmargin=0,%
	innertopmargin=-0.6cm, innerleftmargin=0, innerrightmargin=0%
	 backgroundcolor=white, outerlinecolor=black,%
	 splittopskip=\topskip, skipbelow=\baselineskip,%
	 skipabove=\baselineskip, ntheorem]%
	 \begin{mdtheorem} \small\normalfont}
     {\end{mdtheorem}\end{mdframed}}

ซึ่งการใช้งานก็ง่ายมากครับ อ่านคู่มือเอาเองได้เลย เวลาน้อยไม่ขออธิบายแล้วกัน  เจอกันใหม่คราวหน้าครับ

ปัญหาของ XeLaTeX กับ MiKTeX

ในช่วงที่ผ่านมา ไม่ได้ยุ่งเกี่ยวอะไรกับ pdfLaTeX มานานมากแล้ว งานส่วนใหญ่หันไปใช้ XeLaTeX หมดแล้ว เพราะความสามารถที่มากกว่า ใช้ฟอนต์ของ OS นั้น ๆ ได้ ใช้งานกับภาษาไทยได้ดี  ช่วงนี้ถ้าใคร Update MiKTeX แล้วหล่ะก็ ก็จะมีปัญหากับแพ็กเกจสองตัวคือ expl3 กับ xpackages  ซึ่งถูกแทนที่ด้วย l3kernel กับ l3packages แต่ตอนนี้ MiKTeX ยังไม่ได้แก้ไข ผู้ใช้จะต้องลงเองนะครับ โดยใช้ตัวจัดการแพ็กเกจของ MiKTeX ครับ ปัญหาก็จะหมดไป

 

การใช้ pdfpages ร่วมกับ fancy header สร้างส่วน header+footer ให้กับเอกสาร pdf

ปัญหา
มีเหตุจากผมใช้งานโปรแกรม Office แล้วมีปัญหาบางประการในการจัดเลขหน้าและส่วนหัวและส่วนท้าย และจากขนาดของไฟล์ที่ใหญ่มาก ทำให้การทำงานของโปรแกรมไม่เสถียร โปรแกรมจะค้างบ่อย ๆ เมือแก้ไขเอกสารจะค่อยข้างเสียเวลาและเสียอารมณ์เป็นอย่างยิ่ง

แนวทางแก้

  1. ทำการสร้างเอกสารใหม่ด้วยโปรแกรม Office ที่ไม่มีส่วนหัวและท้ายกระดาษ และตั้งค่าขอบกระดาษเป็น 25 มม ทั้งหมด แล้วทำการส่งออกเป็นเอกสาร pdf ที่ไม่มีเลขหน้า
  2. ใช้งาน pdfLaTeX โดนการเรียกแพกเกจ pdfpages ร่วมกับ fancy header สร้างส่วน header และ footer ให้กับเอกสาร pdf หลังจากนั้นถึงใช้งาน LaTeX ในการแทรกส่วนหัวและท้ายกระดาษ พอจะแก้ปัญหาชั่วคราวไปก่อน ได้รหัสคำสั่งดังแสดงครับ
  3. แพกเกจ babel คงต้องมีไว้เพื่อให้แสดงภาษาไทยได้ และแพกเกจ color เอาไว้ควบคุมสีครับ
\documentclass[11pt,twoside,a4paper]{book}

\usepackage[english,thai]{babel}  %% for pdflatex with thai
\usepackage[margin=20mm,top=25mm]{geometry} %% ต้องกำหนดระยะขอบ

\usepackage[final]{pdfpages}
\usepackage{fancyhdr}
\usepackage{color}

\pagestyle{fancy}
\fancyhead{}
\fancyfoot{}
\fancyhead[LE]{\colorbox{lightgray} {\color{white}{การออกแบบโครงสร้างคอนกรีตเสริมเหล็ก}}}
\fancyhead[RO]{บทที่ 2 การวิเคราะห์และออกแบบโครงสร้าง}
\fancyfoot[LE]{จักรี ติยะวงศ์สุวรรณ}
\fancyfoot[RO]{\today} %% วันที่ทำการสร้างเอกสาร

\fancyfoot[C]{\thepage} %% เลขหน้า

\renewcommand{\headrulewidth}{0.4pt} %% ไม่อยากได้เส้นก็ 0.0pt
\renewcommand{\footrulewidth}{0.4pt}

\begin{document}

\setcounter{page}{7}  %% ตั้งเลขหน้าเริ่มต้น ในกรณีที่เอกสารแยกเป็น บท ๆ

\includepdf[pages=1,fitpaper=true]{StructuralAnalysis.pdf} 
%% หน้าแรกไม่ต้องมีส่วน Header แทรกก่อนแผ่นเดียว

\includepdfset{pages=2-,fitpaper=true , pagecommand={\thispagestyle{fancy}}}
\includepdf{StructuralAnalysis.pdf}

\end{document}

ถ้า กลุ่มคนไทยผู้ใช้ $$\LaTeX$$ มีปัญหาคล้าย ๆ กันจะได้มีแนวทางในการจัดทำเอกสารด้วย LaTeX ผมได้แนวทางแก้ปัญหาจากเว็บไซต์ต่างประเทศหลายที่ในตอนทำ แต่ไม่ได้บันทึกไว้ ต้องขออภัยไว้ด้วยครับ

แพ็กเกจ pgfpages with XeTeX

วันก่อนอาจารย์ท่านหนึ่งได้ส่งคำถามเรื่องการสร้างเอกสารจาก beamer 4 หน้าลงใน 1 หน้า A4 โดยใช้แพ็กเกจ pgfpages บน XeTeX ซึ่งต้องบอกก่อนว่าแพ็กเกจ นี้สามารถใช้งานกับ LaTeX และ pdfLaTeX ได้เป็นอย่างดี  ส่วนตัวไม่เคยลองกับ XeTeX เลย  พึ่งได้มาลองก็ตอนที่ได้ไฟล์มาจากอาจารย์ท่านที่ส่งคำถามมาเนี่ยแหละครับ (XeTeX เป็นความหวังของชุมชนที่จะสามารถใช้ฟอนต์ภาษาไทยกับ LaTeX ได้อย่างอิสระ)

เมื่อได้ลองแล้วก็หาทางแก้ไข ไม่ว่าจะทางเว็บ stack exchange และที่อื่น ๆ ก็ไม่สามารถแก้ปัญหาได้ แต่ได้รู้ปัญหาคือแพ็กเกจ pgf  ที่แพ็กเกจ pgfpages ใช้นั้น ไม่สนับสนุน XeTeX  วิธีแก้ไขมีทางเดียวครับคือเข้าไปแก้ไข page layout ให้เหมาะสมกับ XeTeX  ในการแก้ไข page layout ของเพ็กเกจ pgf นั้นสิ่งที่ต้องทำคือทำใจยอมรับความทรมานที่จะต้องเข้าไปผจญกับคู่มือของ pgf (เยอะ แล้วอ่านแล้วไม่สื่อความหมาย)  ในที่สุดผมก็แก้ไขได้ครับ โดยใช้รหัสต้นดังนี้

Continue reading

วาดแผนภาพ (diagram) ง่าย(ที่ไหน) ด้วย TikZ ตอนที่ 1

ถ้าใครเคยใช้ beamer, TikZ มาบ้าง แล้วเริ่มต้นด้วยการอ่านคู่มือโดยมีเป้าหมายเพื่อที่จำทำงานง่าย ๆ บางอย่างให้เสร็จในเวลาอันรวดเร็ว นั่นหมายความว่าคุณชอบทรมานตัวเอง คู่มือของ beamer และ TikZ นั้นหนา รายละเอียดเยอะ แล้วก็ “ต้องอ่านตั้งแต่ต้น” ใครไม่เคยใช้ beamer และ TikZ และไม่อยากแตะ แต่เคยสัมผัสคู่มือของอุปกรณ์จากเยอรมันเช่น Siemens, dSpace (อาจจะรวม SAP เข้าไปด้วย) ก็น่าจะรู้ดีว่า คู่มือเหล่านี้จะมี Quick Start ที่อ่านจบแล้วไปต่อไปไม่ได้ ตัวอย่างถัดไปไม่สามารถขยายต่อจากตัวอย่างใน Quick Start ได้ บางครั้งทำตามตัวอย่างในบทถัด ๆ ไปทุกอย่าง แต่ได้ error มั่วไปหมด วิธีก็คือตั้งอ่านคู่มือย้อนกลับไปเรื่อย ๆ จนกว่าจะหาสาเหตุเจอ (ซึ่งไม่ง่ายเหมือนคู่มือจากประเทศอื่น)

เรื่องนี้คงไม่ใช้เรื่องแปลก เพราะคำว่า user กับ power user ของเยอรมันนั้นไม่มีความแตกต่าง (ซึ่งต่างจากหลาย ๆ ประเทศที่ user กับ ยูสโง่ ไม่ต่างกันเท่าไหร่ ผมก็เป็นเพราะขี้เกียจอ่านคู่มือ) ยกตัวอย่างง่าย ๆ ครับ ธุรการในมหาวิทยาลัยของเยอรมันจะใช้ word เก่งอาจารย์เป็นสิบเท่า เพราะธุรการเหล่านี้อ่านคู่มือ และมีการอบรมกันโดยผู้ใช้เอง (การอบรมกลุ่มย่อยกันเองเป็นเรื่องที่ปกติสำหรับประเทศนี้) คนในประเทศนี้ส่วนใหญ่ก็จะเก่งในเรื่องที่ตัวเองรู้(เท่านั้น) นี่คือข้อดีของประเทศนี้ แต่ข้อเสียก็เต็มไปหมดและรับไม่ได้เหมือนกัน กลับมาที่ beamer ที่โยงกับย่อหน้านี้นิดหน่อยว่า beamer นั้นใช้ยาก แต่เราจะเห็นโปรเฟสเซอร์แก่ ๆ ในเยอรมัน สามารถใช้มันได้เหมือนกับ power user ในขณะที่ถ้าเป็นประเทศอื่นบางประเทศหล่ะก็ ธุรการ หรือ ลูกน้องทำให้ (แน่ ๆ)

บทความชุดนี้ สร้างขึ้นมาเพื่อให้เราสามารถสร้างผลงานด้วย TikZ ได้เหมือนกับกินบะหมี่สำเร็จรูป (แน่นอนคู่มือลักษณะนี้จะหนาพันหน้า ในขณะที่คู่มือต้นฉบับหนาแค่สองร้อยหน้า)

แผนภาพง่าย ๆ เบื้องต้น
เริ่มต้นเราต้องวางแผนก่อน เช่นโหนดที่เราจะใช้นั้นควรจะมีรูปร่างหน้าตาอย่างไร ชื่ออะไร ตัวอย่างถ้าผมต้องการแผนภาพแบบในรูปข้างล่าง

จะเห็นได้ว่าโหนดแต่ละอันนั้นเป็นรูปสี่เหลี่ยมผืนผ้าขอบโค้ง  ถ้าต้องการวาดแผนภาพแบบนี้ จะต้องมีการเรียกแฟ้มคำสั่ง (library) ก่อน ในกรณีนี้ที่จำเป็นมีสามตัวคือ

Continue reading

Presentation Beamer and Video

เมื่อวานนั่นฉลาดน้อยอยู่ครึ่งคืนครับ เพราะว่าต้องการตัดต่อวิดีโอเพื่อเอาไปแสดงบน Beamer ผ่านแพ็กเกจ movie15 ซึ่งบอกว่าสนับสนุนไฟล์แบบ mwv  ของไมโครซอฟท์ด้วย ผมถ่ายวิดีโอด้วยกล้องที่บ้านเป็นไฟล์ avi ซึ่งสามารถนำมาตัดต่อแต่งเติมบน windows live movie maker ที่ติดมากับ windows 7 ได้ ซึ่งตัวโปรแกรมนั้นใช้ง่ายมาก ใช้เวลาไม่ทันชาเย็นก็สามารถทำงานตามที่ต้องการได้ (แบบง่าย ๆ) แต่จะด้วยเหตุและผลอะไรก็แล้วแต่ท่านไมโครซอฟท์นั้นให้บันทึกไฟล์ที่ตกแต่งแล้วได้รูปแบบเดียวคือ mwv พอเอาไปลองใช้งานกับ movie15 จริง ๆ แล้วใช้ไม่ได้ ทีนี้พอเอาไฟล์ avi กลับใช้งานได้ ค่อนคืนก็ไม่ได้ทำอะไร นั่งหาโปรแกรมฟรีแวร์ที่ใช้ในการแปลง mwv ไปเป็น avi  ก็ได้โปรแกรมหนึ่งไปใช้นะครับ ส่วนที่ให้ใช้ฟรีใช้งานได้ดีระดับหนึ่งทีเดียว แต่ว่าไฟล์ avi ที่ได้ใหญ่มาก ใหญ่เกินใจจะรับไหว เพราะไม่สามารถแชร์ไฟล์เข้า dropbox ได้แบบทันใจ  แต่ด้วยความง่วงก็เลยนอนไปก่อน

ตื่นเช้ามาหัวสดใจ ก็เลยเข้าใจว่า ไม่ต้องใช้ avi ก็ได้ เพราะมีไฟล์อีกหลายประเภทที่ movie15 มันรองรับ สุดท้ายก็มาลงที่ไฟล์แบบ swf ซึ่งเป็น flash นั่นเอง การแปลงก็ไปโหลดโปรแกรมฟรีจาก freestudio ครับ  มีโปรแกรมเล็ก ๆ ฟรี ๆ ให้เป็นชุด ๆ ที่ผมเลือกใช้ก็ Free Video to Flash Converter 4.7.23 ตอนแรกก็ใช้วิธีโง่ ๆ คือแปลงจาก avi ไปเป็น swf ซึ่งทำให้ต้องทำสามขั้นตอนคือ ตัดต่อ แล้วแปลงเป็น avi จากนั้นก็แปลงเป็น swf อีกที ตอนหลังถึงรูปว่าแปลงจาก mwv ไปเป็น swf ได้โดยตรงเลย คุณภาพของวิดีโอที่ได้ก็ตามขนาดนะครับ เราไม่ได้ต้องการจะเอาไปทำอะไร แค่เอาไปใส่ใน Beamer

สุดท้ายนี้ก็ขอแสดงตัวอย่างรหัสเพื่อแทรกไฟล์วิดีโอลงใน Beamer เผื่อคนที่สนใจครับ

\begin{frame}

\centering
\includemovie[inline=false,poster,%
     text={\xfigpdf{0.5}{adip_lpv}},%
     autoplay,mouse=true]{8cm}{6cm}{filename.swf}

\end{frame}

วันนี้สำนวนการเขียนเป็นแบบลูกทุ่ง ๆ ขออภัยด้วย รีบ

 

 

 

Beamer Theme: Boonto1

ใน PracTeX Journal ฉบับ 2010-2 ได้ลงบทความเกี่ยวกับการทำ Presentation สำหรับงานวิทยาศาสตร์ โดยใช้วิธีสร้าง preamble และจัดการส่วนต่าง ๆ ให้เหมือนกับ Beamer โดยส่วนตัว เห็นว่ายุ่งยากไปหน่อยถ้า และถ้าเราต้องการใช้ความสามารถของ Beamer เราก็ไม่สามารถใช้ได้ ผมเลยลองดัดแปลงแม่แบบดังกล่าวให้เป็นธีมสำหรับ Beamer

 

รูปข้างต้นเป็นผลลัพธ์ที่ได้ ถ้าอยากดูไฟล์ pdf ก็คลิ๊กที่รูปได้โดยตรงครับ  รูปโลโก้น่าเกลียด ๆ นั้นไม่ใช่ของผม แต่เป็นโลโก้ของ Beamer เขา

สำหรับผู้ที่อยากจะนำไปใช้งานสามารถดาว์นโหลดไฟลสองไฟล์ดังนี้ครับ

  1. test.tex เป็นแม่แบบสำหรับนำไปใช้งาน  มีคำสั่ง \mybox{}{} ให้ใช้
  2. beamerthemeBOONTO1.sty เป็นไฟล์ธีมหลัก

วิธีการใช้ธีมนี้ ก็ทำได้ง่าย ๆ โดยการนำไฟล์ beamerthemeBOONTO1.sty ไปไว้ที่เดียวกับ test.tex ก็เป็นอันเสร็จพิธี  ถ้าจะเปลี่ยนโลโก้ก็ให้แก้ไขคำสั่งข้างล่างให้เป็นของตัวเองครับ

\leftlogo{logo/beamerlogo}
\leftscale{0.3}
\rightlogo{logo/beamerlogo}
\rightscale{0.3}

ก็แค่นั้นแหละครับ

ลองเอาไปใช้กันดู ชอบ ไม่ชอบ ก็ติชมกันมานะครับ ตอนนี้เป็นเวอร์ชัน 1.0 หรือพูดง่าย ๆ ว่าเวอร์ชันแรกที่ทำเสร็จ

ความคืบหน้า Xe(La)TeX Thai Thesis Template

ตามที่เคยแจ้งไปว่าขณะที่กำลังทำแม่แบบภาษาไทยสำหรับวิทยานิพนธ์ระดับปริญญาตรี โดยใช้ LaTeX (XeLaTeX) ความคืบหน้าขณะนี้คือ

  1. ฟอนต์ Angsana New ฟอนต์บังคับสำหรับวิทยานิพนธ์ (ฟอนต์ที่ดูดีฟอนต์แรก และชื่อจำง่าย ถ้าเป็น Thesis ภาษาอังกฤษจะใช้ฟอนต์ที่ทางการกว่า ซึ่งจะไปตรงกับ Browallia New มากกว่า น่าเสียดายจริง ๆ) นั้นมีปัญหากับ แพ็กเกจที่สำคัญสองตัว คือ polyglossia  และ xltxtra ซึ่งทำให้การแสดงผลสระอู สระอิ ผิดจากที่ควรเป็น ในขณะที่ฟอนต์อื่นไม่เป็น
  2. ข่าวดีเล็กน้อยคือแก้ปัญหานี้ได้แล้ว ด้วยการไม่ใช้แพ็กเกจทั้งสอง และกับไปใช้แพ็กเกจ fontspec แทน และการกำหนดฟอนต์หลักต้องใช้คำสั่ง
    \setmainfont{Angsana New:Script=Thai}
  3. น่าเศร้ามากที่การแก้ปัญหานี้ใช้เวลาถึงสองวัน ไฟล์ที่เกี่ยวข้องคือไฟล์ gloss-thai.ldf ซึ่งก็คือ thai.ldf เดิม ของ thailatex แพ็กเกจนั่นเอง ไว้จะทำให้เรียบร้อยต่อไปครับ

คลาสไฟล์ยังให้ดาว์นโหลดนะครับ เพราะยังเต็มไปด้วยบัก ขอเวลาซักพักนึงก่อน