เวลาทำงานเอกสาร สิ่งที่อยากทำมาก ๆ คือการสร้างกรอบให้กับส่วนที่เราต้องการแบบนี้
การทำเช่นนี้ใน 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 ตัวนี้ถ้าไม่ใส่ รหัสต่าง ๆ ที่เราพิมพ์ลงไปนั้นก็จะไปปรากฏบนเอกสารด้วย (เยี่ยมมาก)
เอาไปลองใช้ดูนะครับ ได้ผลดีอย่างไรก็บอกกล่าวมาด้วยแล้วกัน






