Skip to content

Add Thai Local Example #354

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 10 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added examples/thai/THSarabun.tar.gz
Binary file not shown.
38 changes: 38 additions & 0 deletions examples/thai/basic.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
from pylatex import Document, Section, Subsection, Command, Package
from pylatex.utils import italic, NoEscape

if __name__ == '__main__':
doc = Document('basic', inputenc = None, lmodern = False, fontenc = None, textcomp = None)

packages = [
Package('babel', options = ['english', 'thai']),
Package('inputenc', options = 'utf8enc'),
Package('fontspec'),
]
#doc.packages.append(Package('babel', options = ['english', 'thai']))
doc.packages.append(Package('fontspec'))
doc.packages.append(Package('xunicode'))
doc.packages.append(Package('xltxtra'))
doc.append(NoEscape(r'\XeTeXlinebreaklocale "th_TH"'))
doc.append(NoEscape(r'\XeTeXlinebreakskip = 0pt plus 1pt'))
doc.append(NoEscape(r'\defaultfontfeatures{Scale=1.23}'))
doc.append(NoEscape(r'\setmainfont[Mapping=tex-text]{TH SarabunPSK}'))

text=r'Thai sentence is in quotes: "สวัสดี". Can you see thai?'
text2=r"""
11 รัฐมนตรีรอดจากศึกซักฟอกครั้งที่ 4 ไปตามความคาดหมาย ด้วยเสียงส่วนใหญ่ของที่ประสภาผู้แทนราษฎร โดยมี ส.ส. พรรคเศรษฐกิจไทย และ ส.ส. "กลุ่ม 16" ร่วมโหวตไว้วางใจ พล.อ. ประยุทธ์ จันทร์โอชา ด้วย
ปัจจุบันมีพรรคการเมืองที่มีที่นั่งในสภาทั้งสิ้น 25 พรรค แบ่งเป็น พรรคร่วมฝ่ายค้าน 7 พรรค รวม 208 เสียง (ยังไม่หัก ส.ส. "งูเห่า" หรือ "ฝากเลี้ยง" ที่ชื่อยังอยู่ในสังกัดพรรคฝ่ายค้าน แต่มีพฤติกรรมการโหวตสนับสนุนรัฐบาล) พรรคเศรษฐกิจไทย ซึ่งประกาศตัวเป็น "ฝ่ายค้านอิสระ" 16 เสียง ส่วนที่เหลืออีก 253 เสียง มาจาก 17 พรรคร่วมรัฐบาล
ในการผ่านญัตติไว้วางใจหรือไม่ไว้วางใจรัฐมนตรี ต้องอาศัยเสียงมากกว่ากึ่งหนึ่งของจำนวน ส.ส. ทั้งหมดเท่าที่มีอยู่ของสภา หรือ 239 เสียง จาก ส.ส. ที่ปฏิบัติหน้าที่ได้ 477 คน
บีบีซีไทยตรวจสอบเอกสารผลการลงมติญัตติขอเปิดอภิปรายไม่ไว้วางใจฯ วันนี้ (23 ก.ค.) จัดทำโดยสำนักรายงานการประชุมและชวเลข เพื่อตามหาว่าคะแนนเสียงที่นายกฯ และ 10 รัฐมนตรีได้รับในสัดส่วนแตกต่างกันไป มีที่มาที่ไปอย่างไร ก่อนสรุปรูปแบบการลงคะแนนของบรรดาผู้แทนราษฎร โดยจำแนกเป็นรายพรรคได้ ดังนี้
1. พรรคการเมืองที่สมาชิกลงมติอย่างเป็นเอกภาพ ไม่มี ส.ส. แตกแถวแม้แต่คนเดียวไม่ว่าจะลงมติให้รัฐมนตรีรายใด มีทั้งสิ้น 4 พรรครัฐบาล ประกอบด้วย พรรคภูมิใจไทย (ภท.) 62 คน, พรรคพลังท้องถิ่นไท (พทท.) 5 คน, พรรครวมพลัง (ร.พ.) 5 คน และพรรคชาติพัฒนา (ชพน.) 4 คน ทั้งนี้ไม่นับกรณีรัฐมนตรีที่ถูกอภิปรายซึ่งลงมติงดออกเสียงให้ตัวเอง
2. พรรคเพื่อไทย (พท.) แกนนำพรรคฝ่ายค้าน มี ส.ส. 7 คน จากทั้งหมด 132 คน ไม่ได้ลงมติตามทิศทางของพรรค แต่เลือกโหวตไว้วางใจให้รัฐมนตรีสังกัด ภท. 2 คน และเลือกโหวตงดออกเสียงให้แก่นายกฯ และรัฐมนตรีรายอื่น ๆ
สำหรับ 7 นักการเมืองกลุ่มนี้ ประกอบด้วย นายจักรพรรดิ ไชยสาส์น ส.ส.อุดรธานี, นายจาตุรงค์ เพ็งนรพัฒน์ ส.ส.ศรีสะเกษ, นายธีระ ไตรสรณกุล ส.ส.ศรีสะเกษ, นายนิยม ช่างพินิจ ส.ส.พิษณุโลก, นางผ่องศรี แซ่จึง ส.ส.ศรีสะเกษ, นายวุฒิชัย กิตติธเนศวร ส.ส.นครนายก และนายสุชาติ ภิญโญ ส.ส.นครราชสีมา ซึ่งแม้ชื่อยังอยู่ในสังกัดของ พท. โดยนิตินัย แต่โดยพฤตินัยที่แสดงออกผ่านการลงมตินัดสำคัญ ๆ ไม่ได้เป็นไปตามแนวทางของพรรคมานานแล้ว
นอกจากนี้ยังมีอีก 1 คนคือ นายนพคุณ รัฐผไท ส.ส.เชียงใหม่ ที่ไม่ปรากฏว่ามีการลงคะแนนให้รัฐมนตรีรายใดเลย ซึ่งมีความหมายว่า ไม่ลงมติ/ลาประชุม/ขาดประชุม ทราบในภายหลังว่าแจ้งลาป่วยเพราะติดโรคโควิด-19
3. พรรคก้าวไกล (ก.ก.) ซึ่งเป็นพรรคอันดับสองของฝ่ายค้าน มี ส.ส. 5 คน จากทั้งหมด 51 คน ไม่ได้ลงมติตามทิศทางของพรรค แต่มีทั้งการข้ามขั้วไปลงมติไว้วางใจให้แก่รัฐมนตรีบางคน และงดออกเสียงให้รัฐมนตรีบางคน
สำหรับ 5 นักการเมืองกลุ่มนี้ ประกอบด้วย นายเกษมสันต์ มีทิพย์ ส.ส.บัญชีรายชื่อ, นายคารม พลพรกลาง ส.ส.บัญชีรายชื่อ, นายพีรเดช คำสมุทร ส.ส.เชียงราย, นายเอกภพ เพียรวิเศษ ส.ส.เชียงราย และนายขวัญเลิศ พานิชมาท ส.ส.ชลบุรี โดยเป็นกลุ่มคนหน้าเดิมที่มักลงมติต่างไปจากแนวของพรรคสีส้ม
นอกจากนี้ยังมี 2 ส.ส.ที่ไม่ปรากฏผลคะแนนเป็นบางช่วงคือ นายวุฒินันท์ บุญชู ส.ส.สมุทรปราการ ไม่ปรากฏผลคะแนนระหว่างลงมติไว้วางใจ/ไม่ไว้วางใจ พล.อ. ประยุทธ์ จันทร์โอชา และ น.ส.วรรณวรี ตะล่อมสิน ส.ส.กทม. ไม่ปรากฏผลคะแนนระหว่างลงมติไว้วางใจ/ไม่ไว้วางใจนายสันติ พร้อมพัฒน์ รมช.คลัง
"""
doc.append(text)
doc.append(text2.encode('utf-8').decode('utf-8'))
doc.generate_pdf(clean_tex=False, compiler='xelatex')
doc.generate_tex()
45 changes: 45 additions & 0 deletions examples/thai/data_dict.aux
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument}
\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined
\global\let\oldcontentsline\contentsline
\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}}
\global\let\oldnewlabel\newlabel
\gdef\newlabel#1#2{\newlabelxx{#1}#2}
\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}}
\AtEndDocument{\ifx\hyper@anchor\@undefined
\let\contentsline\oldcontentsline
\let\newlabel\oldnewlabel
\fi}
\fi}
\global\let\hyper@last\relax
\gdef\HyperFirstAtBeginDocument#1{#1}
\providecommand*\HyPL@Entry[1]{}
\HyPL@Entry{0<</S/D>>}
\@writefile{toc}{\contentsline {section}{ชื่อชุดข้อมูล 1}{3}{section*.2}\protected@file@percent }
\newlabel{sec:1}{{}{3}{ชื่อชุดข้อมูล 1}{section*.2}{}}
\@writefile{toc}{\contentsline {subsection}{Metadata}{3}{section*.3}\protected@file@percent }
\newlabel{subsec:Metadata}{{}{3}{Metadata}{section*.3}{}}
\@writefile{toc}{\contentsline {subsection}{Description}{3}{section*.4}\protected@file@percent }
\newlabel{subsec:Description}{{}{3}{Description}{section*.4}{}}
\@writefile{toc}{\contentsline {subsection}{Data Dictionary}{3}{section*.5}\protected@file@percent }
\newlabel{subsec:DataDictionary}{{}{3}{Data Dictionary}{section*.5}{}}
\@writefile{toc}{\contentsline {section}{ชื่อชุดข้อมูล 2}{4}{section*.6}\protected@file@percent }
\newlabel{sec:2}{{}{4}{ชื่อชุดข้อมูล 2}{section*.6}{}}
\@writefile{toc}{\contentsline {subsection}{Metadata}{4}{section*.7}\protected@file@percent }
\newlabel{subsec:Metadata}{{}{4}{Metadata}{section*.7}{}}
\@writefile{toc}{\contentsline {subsection}{Description}{4}{section*.8}\protected@file@percent }
\newlabel{subsec:Description}{{}{4}{Description}{section*.8}{}}
\@writefile{toc}{\contentsline {subsection}{Data Dictionary}{4}{section*.9}\protected@file@percent }
\newlabel{subsec:DataDictionary}{{}{4}{Data Dictionary}{section*.9}{}}
\@writefile{toc}{\contentsline {section}{ชื่อชุดข้อมูล 3}{5}{section*.10}\protected@file@percent }
\newlabel{sec:3}{{}{5}{ชื่อชุดข้อมูล 3}{section*.10}{}}
\@writefile{toc}{\contentsline {subsection}{Metadata}{5}{section*.11}\protected@file@percent }
\newlabel{subsec:Metadata}{{}{5}{Metadata}{section*.11}{}}
\@writefile{toc}{\contentsline {subsection}{Description}{5}{section*.12}\protected@file@percent }
\newlabel{subsec:Description}{{}{5}{Description}{section*.12}{}}
\@writefile{toc}{\contentsline {subsection}{Data Dictionary}{5}{section*.13}\protected@file@percent }
\newlabel{subsec:DataDictionary}{{}{5}{Data Dictionary}{section*.13}{}}
\newlabel{LastPage}{{}{5}{}{page.5}{}}
\xdef\lastpage@lastpage{5}
\xdef\lastpage@lastpageHy{5}
Loading