<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Cholwich's blog &#187; pdfpages</title>
	<atom:link href="http://cholwich.org/wordpress/tag/pdfpages/feed/" rel="self" type="application/rss+xml" />
	<link>http://cholwich.org/wordpress</link>
	<description>Just another blog of mine</description>
	<lastBuildDate>Thu, 02 Jun 2011 02:00:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>เพิ่มเลขหน้าให้ PDF</title>
		<link>http://cholwich.org/wordpress/2009/05/21/%e0%b9%80%e0%b8%9e%e0%b8%b4%e0%b9%88%e0%b8%a1%e0%b9%80%e0%b8%a5%e0%b8%82%e0%b8%ab%e0%b8%99%e0%b9%89%e0%b8%b2-pdf/</link>
		<comments>http://cholwich.org/wordpress/2009/05/21/%e0%b9%80%e0%b8%9e%e0%b8%b4%e0%b9%88%e0%b8%a1%e0%b9%80%e0%b8%a5%e0%b8%82%e0%b8%ab%e0%b8%99%e0%b9%89%e0%b8%b2-pdf/#comments</comments>
		<pubDate>Thu, 21 May 2009 03:36:44 +0000</pubDate>
		<dc:creator>cholwich</dc:creator>
				<category><![CDATA[latex]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[pdf]]></category>
		<category><![CDATA[pdflatex]]></category>
		<category><![CDATA[pdfpages]]></category>
		<category><![CDATA[sed]]></category>

		<guid isPermaLink="false">http://cholwich.org/wordpress/?p=317</guid>
		<description><![CDATA[การใช้ LaTeX ทำสไลด์สำหรับใช้สอนหนังสือ จะมีความลำบากนิดหน่อยในการเตรียม handout สำหรับแจกนักศึกษา (จริงๆ แล้ว ไม่ค่อยอยากแจกเท่าไหร่ พอมีสไลด์ครบแล้ว ส่วนใหญ่ก็จะคุยกันเยอะ) ถ้าใช้ Beamer ก็จะมีแพคเกจ pgfpages มาให้ใช้สำหรับพิมพ์สไลด์หลายๆ หน้ารวมกันในหน้าเดียวอยู่แล้ว แต่ผมชอบใช้โปรแกรม pdfnup ที่มาพร้อมกับแพคเกจ pdfjam บน Ubuntu มากกว่า วิธีใช้ก็ง่ายๆ เช่น $ pdfnup --nup 2x2 --frame true myslides.pdf จะได้ผลลัพธ์เป็นไฟล์ PDF ชื่อ myslides-2&#215;2.pdf วางสไลด์สี่หน้าต่อหนึ่งแผ่น แบบ 2 คูณ 2 ทีนี้ทุกเทอมก็ใช้อย่างนี้มาตลอด มาเทอมนี้อยากให้มีเลขหน้าเพิ่มเข้าไปด้วย จะได้เรียงลำดับหน้าต่างๆ ได้ไม่ยาก (ปกติร้านถ่ายเอกสารจะใช้มือเขียนเลขหน้าให้) วิธีที่ง่ายที่สุดก็คือไปหา Adobe Acrobat ตัวจริงมา จะมีฟังก์ชันให้ใส่เลขหน้าโดยอัตโนมัติ แต่เนื่องจากเราไม่อยากเสียตังค์ ก็เลยมานั่งดูโปรแกรม pdfnup [...]]]></description>
			<content:encoded><![CDATA[<p>การใช้ LaTeX ทำสไลด์สำหรับใช้สอนหนังสือ จะมีความลำบากนิดหน่อยในการเตรียม handout สำหรับแจกนักศึกษา (จริงๆ แล้ว ไม่ค่อยอยากแจกเท่าไหร่ พอมีสไลด์ครบแล้ว ส่วนใหญ่ก็จะคุยกันเยอะ) ถ้าใช้ Beamer ก็จะมีแพคเกจ pgfpages มาให้ใช้สำหรับพิมพ์สไลด์หลายๆ หน้ารวมกันในหน้าเดียวอยู่แล้ว แต่ผมชอบใช้โปรแกรม pdfnup ที่มาพร้อมกับแพคเกจ pdfjam บน Ubuntu มากกว่า วิธีใช้ก็ง่ายๆ เช่น</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ pdfnup <span style="color: #660033;">--nup</span> 2x2 <span style="color: #660033;">--frame</span> <span style="color: #c20cb9; font-weight: bold;">true</span> myslides.pdf</pre></div></div>

<p>จะได้ผลลัพธ์เป็นไฟล์ PDF ชื่อ myslides-2&#215;2.pdf วางสไลด์สี่หน้าต่อหนึ่งแผ่น แบบ 2 คูณ 2</p>
<p>ทีนี้ทุกเทอมก็ใช้อย่างนี้มาตลอด มาเทอมนี้อยากให้มีเลขหน้าเพิ่มเข้าไปด้วย จะได้เรียงลำดับหน้าต่างๆ ได้ไม่ยาก (ปกติร้านถ่ายเอกสารจะใช้มือเขียนเลขหน้าให้) วิธีที่ง่ายที่สุดก็คือไปหา Adobe Acrobat ตัวจริงมา จะมีฟังก์ชันให้ใส่เลขหน้าโดยอัตโนมัติ แต่เนื่องจากเราไม่อยากเสียตังค์ ก็เลยมานั่งดูโปรแกรม pdfnup ว่าจริงๆ เป็นสคริปต์ที่สร้างไฟล์สำหรับ pdfLaTeX ที่ใช้แพคเกจ pdfpages เพื่อเอาหน้าหลายๆ หน้ามาเรียงไว้ในหน้าเดียวกัน ซึ่งจะเรียงแบบหนึ่งหน้าต่อหนึ่งหน้าก็ได้ เลยลองเล่นดู ใช้แพคเกจ fancyhdr ของ LaTeX มาช่วยกำหนดตำแหน่งเลขหน้า สุดท้ายได้ไฟล์สำหรับใส่เลขหน้าอัตโนมัติมา</p>

<div class="wp_syntax"><div class="code"><pre class="latex" style="font-family:monospace;"><span style="color: #E02020; ">\</span><span style="color: #800000;">documentclass</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">article</span><span style="color: #E02020; ">}</span>
&nbsp;
<span style="color: #E02020; ">\</span><span style="color: #800000;">usepackage</span><span style="color: #E02020; ">[</span><span style="color: #C08020; font-weight: normal;">final</span><span style="color: #E02020; ">]{</span><span style="color: #2020C0; font-weight: normal;">pdfpages</span><span style="color: #E02020; ">}</span>
<span style="color: #E02020; ">\</span><span style="color: #800000;">usepackage</span><span style="color: #E02020; ">[</span><span style="color: #C08020; font-weight: normal;">paper=a4paper,landscape,tmargin=2cm,bmargin=2.3cm,lmargin=2.5cm,rmargin=1.5cm</span><span style="color: #E02020; ">]{</span><span style="color: #2020C0; font-weight: normal;">geometry</span><span style="color: #E02020; ">}</span>
<span style="color: #E02020; ">\</span><span style="color: #800000;">usepackage</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">fancyhdr</span><span style="color: #E02020; ">}</span>
&nbsp;
<span style="color: #800000; font-weight: normal;">\setcounter</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">page</span><span style="color: #E02020; ">}{</span><span style="color: #2020C0; font-weight: normal;">..PAGE..</span><span style="color: #E02020; ">}</span>
<span style="color: #E02020; ">\</span><span style="color: #800000;">pagestyle</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">fancy</span><span style="color: #E02020; ">}</span>
<span style="color: #800000; font-weight: normal;">\lhead</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">My Course</span><span style="color: #E02020; ">}</span>
<span style="color: #800000; font-weight: normal;">\cfoot</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #E02020; ">}</span>
<span style="color: #800000; font-weight: normal;">\rfoot</span><span style="color: #E02020; ">{{</span><span style="color: #800000; font-weight: normal;">\LARGE</span><span style="color: #800000; font-weight: normal;">\thepage</span></span><span style="color: #E02020; ">}}</span>
<span style="color: #E02020; ">\</span><span style="color: #800000;">renewcommand</span> <span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #800000; font-weight: normal;">\headrulewidth</span></span><span style="color: #E02020; ">}{</span><span style="color: #2020C0; font-weight: normal;">0pt</span><span style="color: #E02020; ">}</span>
<span style="color: #E02020; ">\</span><span style="color: #800000;">renewcommand</span> <span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #800000; font-weight: normal;">\footrulewidth</span></span><span style="color: #E02020; ">}{</span><span style="color: #2020C0; font-weight: normal;">0pt</span><span style="color: #E02020; ">}</span>
&nbsp;
<span style="color: #C00000; font-weight: normal;">\begin</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #0000D0; font-weight: normal;">document</span></span><span style="color: #E02020; ">}</span>
	<span style="color: #800000; font-weight: normal;">\includepdfset</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;">pages=-,pagecommand=<span style="color: #800000; font-weight: normal;">\thispagestyle</span>{fancy</span><span style="color: #E02020; ">}}</span>
	<span style="color: #800000; font-weight: normal;">\includepdf</span><span style="color: #E02020; ">[</span><span style="color: #C08020; font-weight: normal;">fitpaper=true,scale=1</span><span style="color: #E02020; ">]{</span><span style="color: #2020C0; font-weight: normal;">..FILE..</span><span style="color: #E02020; ">}</span>
<span style="color: #C00000; font-weight: normal;">\end</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #0000D0; font-weight: normal;">document</span></span><span style="color: #E02020; ">}</span></pre></div></div>

<p>และเพื่อให้เกิดความสะดวกในการทำงาน ก็เลยไปเขียนสคริปต์มาอีกอันหนึ่ง ใช้ sed แก้ไข ..PAGE.. และ ..FILE.. ใน LaTeX ให้เป็นเลขหน้าเริ่มต้น และชื่อไฟล์ PDF ที่ต้องการ</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/sh</span>
&nbsp;
<span style="color: #007800;">filename</span>=<span style="color: #007800;">$1</span>
<span style="color: #007800;">pagenumber</span>=<span style="color: #007800;">$2</span>
<span style="color: #007800;">newname</span>=<span style="color: #800000;">${1%.pdf}</span>-p.tex
<span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">&quot;s/\.\.FILE\.\./&quot;</span><span style="color: #007800;">$filename</span><span style="color: #ff0000;">&quot;/g&quot;</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">&quot;s/\.\.PAGE\.\./&quot;</span><span style="color: #007800;">$pagenumber</span><span style="color: #ff0000;">&quot;/g&quot;</span> <span style="color: #000000; font-weight: bold;">&lt;</span> page.tex <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #007800;">$newname</span>
&nbsp;
pdflatex <span style="color: #007800;">$newname</span>
pdflatex <span style="color: #007800;">$newname</span>
<span style="color: #c20cb9; font-weight: bold;">rm</span> <span style="color: #007800;">$newname</span>
<span style="color: #c20cb9; font-weight: bold;">rm</span> <span style="color: #800000;">${newname%tex}</span>log</pre></div></div>

<p>สุดท้ายจะได้โปรแกรมง่ายๆ สำหรับเติมเลขหน้าได้ตามต้องการ ส่วนที่ผมยังงงๆ อยู่ก็คือ ไม่เข้าใจว่าทำไมฟอนท์ใน LaTeX มันมีขนาดเล็กกว่าปกติ เลยต้องกำหนดให้ใช้ \LARGE สำหรับเลขหน้า คิดว่าอาจจะมีปัญหาอะไรบางอย่างเกี่ยวกับขนาดกระดาษ หรืออะไรซักอย่าง เลยแก้แบบง่ายๆ ไปก่อน ขี้เกียจไปค้นดูละเอียดๆ ส่วนคนอื่นถ้าจะเอาไปใช้ ก็สามารถปรับแต่งตำแหน่งๆ หรือระยะขอบกระดาษได้โดยแก้ที่ geometry ครับ</p>
]]></content:encoded>
			<wfw:commentRss>http://cholwich.org/wordpress/2009/05/21/%e0%b9%80%e0%b8%9e%e0%b8%b4%e0%b9%88%e0%b8%a1%e0%b9%80%e0%b8%a5%e0%b8%82%e0%b8%ab%e0%b8%99%e0%b9%89%e0%b8%b2-pdf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

