ไม่สามารถแสดงอักขระ Unicode (เช่น แล) ในเอาต์พุต PDF ของ Jupyter

ฉันใช้จูเลียใน jupyter notebook

ฉันต้องการสร้าง pdf สำหรับผลงานของฉัน อย่างไรก็ตาม เมื่อสร้าง pdf นั้น λ ของนิพจน์ทางคณิตศาสตร์ λ=3 จะหายไป ดังนั้นเอาต์พุตใน pdf จึงเป็น =3

นี่คือรหัสสมุดบันทึก jupyter

In[1]: λ=3 
Out[1]: 3

นี่คือไฟล์ PDF ที่สร้างด้วยสมุดบันทึก jupyter

In[1]: =3 
Out[1]: 3

นี่ไม่ใช่กรณีของไฟล์ PDF ที่สร้างด้วย nteract โดยที่นิพจน์ λ=3 ถูกพิมพ์ออกมาทั้งหมด อย่างไรก็ตาม ลักษณะโดยรวมของไฟล์ PDF ที่สร้างด้วย nteract นั้นไม่ดีเท่ากับไฟล์ PDF ที่สร้างด้วย jupyter notebook

นี่คือ PDF ที่พิมพ์ออกมาซึ่งสร้างด้วย nteract (ดูเหมือนกับโค้ดทุกประการ):

In[1]: λ=3
Out[1]: 3

ใครรู้วิธีพิมพ์อักขระดังกล่าวด้วย jupyter notebook บ้าง

ขอบคุณมากล่วงหน้า


comment
โค้ดขั้นต่ำในการทำซ้ำจะช่วยได้   -  person Jongware    schedule 31.03.2018
comment
ฉันลองคำตอบที่ยอมรับแล้ว แต่น่าเสียดายที่มันไม่ได้ผลสำหรับฉัน จากนั้นฉันก็พบวิธีข้ามปัญหานี้โดยใช้ $\lambda$ สัญกรณ์ประเภทนี้ โชคดีที่มันใช้ได้ผลสำหรับฉัน กล่าวโดยสรุป อย่าใช้ตัวอักษรยูนิโค้ด แต่ใช้ไวยากรณ์ลาเท็กซ์เพื่อสร้างตัวอักษรกรีก   -  person Timeless    schedule 21.10.2020


คำตอบ (1)


ปัญหานี้เกี่ยวข้องกับวิธีที่ Jupyter สร้างและรวบรวมไฟล์ลาเท็กซ์ ตามค่าเริ่มต้น Jupyter จะคอมไพล์ไฟล์ด้วย xelatex เพื่อรองรับ Unicode ฉันเดา คือ xelatex ต้องมีการกำหนดค่าบางอย่างในไฟล์ และ Jupyter ไม่ได้สร้างไฟล์ที่ทำงานนอกกรอบด้วยคำสั่ง xelatex ธรรมดา

คุณสามารถเปลี่ยนการกำหนดค่าของ Jupyter เพื่อคอมไพล์ไฟล์ลาเท็กซ์ที่สร้างด้วยคำสั่ง pdflatex หรือ latex

วิธีแก้ไข: ค้นหาไดเร็กทอรีการกำหนดค่า Jupyter ของคุณ (เช่น เอาต์พุตของ jupyter --config-dir บน Linux ซึ่งมักจะเป็น ~/.jupyter หากต้องการทราบว่า IJulia ของ jupyter ตัวใดใช้ run using IJulia; IJulia.jupyter ให้ค้นหาไดเร็กทอรี config ของ jupyter นั้น)

สร้างไฟล์ jupyter_notebook_config.py ในไดเร็กทอรีนี้หากยังไม่มี

วางบรรทัดโค้ดต่อไปนี้ที่ท้ายไฟล์นี้และบันทึก:

c.PDFExporter.latex_command = ['pdflatex', '{filename}']

จากนั้นคุณสามารถส่งออกไฟล์ PDF โดยใช้สมุดบันทึกได้ตามปกติ ตัวละครควรปรากฏขึ้นอย่างถูกต้อง สิ่งนี้ควรใช้งานได้หากพบคำสั่ง pdflatex ในเชลล์ของคุณ

หากคุณไม่มี pdflatex แต่มี latex คุณสามารถใช้บรรทัดต่อไปนี้แทนโค้ดด้านบนได้:

c.PDFExporter.latex_command = ['latex', '--output-format=pdf', '{filename}']

หากคุณไม่สามารถเปลี่ยนการกำหนดค่าของ Jupyter ให้ดาวน์โหลดไฟล์ลาเท็กซ์และคอมไพล์ด้วยคำสั่ง latex --output-format=pdf filename.tex

หวังว่ามันจะได้ผล!

person hckr    schedule 30.03.2018
comment
น่าเสียดายที่สิ่งนี้ใช้ไม่ได้สำหรับฉัน ฉันได้รับข้อผิดพลาดเช่น ! ข้อผิดพลาด ucs ของแพ็คเกจ: อักขระ Unicode ที่ไม่รู้จัก 12479 = U+30BF, - person minexew; 25.07.2018
comment
['pdflatex', '{ชื่อไฟล์}'] - person minexew; 30.07.2018
comment
ปัญหาอาจเกี่ยวข้องกับการแจกจ่าย Latex ของคุณ คุณช่วยลอง pdflatex ด้วยสำเนา Latex ของสมุดบันทึกของคุณ (ดาวน์โหลดเป็น *.tex) ได้ไหม - person hckr; 30.07.2018