ฝาเล็กตัวหนาพร้อม Lualatex

Aug 15 2020

อ้างถึงดอกยางนี้: วิธีใช้ fontspec และยังมีตัวหนาขนาดเล็กด้วย LuaLaTeX? ฉันมีแบบอักษรที่มีตัวพิมพ์ใหญ่จริง แต่ก็มีปัญหาเหมือนกัน กรุณารวบรวมรหัสง่ายๆนี้:

\documentclass{article}
\usepackage{fontspec}
\usepackage[italian]{babel}
\babelfont[italian]{rm}{EB Garamond}
 %   \setmainfont{EB Garamond}

\begin{document}

Quel \textbf{ramo del \textsc{lago} di Como}, che volge a \textbf{\textsc{mezzogiorno}}

\end{document}

ดังนั้นวิธีแก้ปัญหาไม่ได้

คุณต้องเลือกตระกูลแบบอักษรที่มีตัวพิมพ์เล็กเป็นตัวหนา

มันมี ... มันยากมากที่จะมีตัวพิมพ์เล็กตัวหนา? มันใช้งานได้เพิ่ม\setmainfont{EB Garamond}แต่ฉันคิดว่าไม่ใช่ความคิดที่ดีที่จะทำสลัดผลไม้ xelatex และ lualatex ... ขอบคุณ

คำตอบ

11 UlrikeFischer Aug 15 2020 at 15:31

\ setmainfont ไม่ใช่คำสั่งที่มีไว้สำหรับ xelatex เท่านั้น เป็นคำสั่งจาก fontspec สำหรับทั้งสองเครื่องยนต์

babel มีคำสั่งของตัวเองในการตั้งค่าแบบอักษร (ซึ่งสามารถใช้ได้กับทั้งสองเอนจิ้น) ในกรณีของคุณอาร์กิวเมนต์ที่เป็นทางเลือก [อิตาลี] จะปิดใช้ตัวพิมพ์เล็กเนื่องจากสาเหตุสองประการ:

ในตอนแรกด้วยอาร์กิวเมนต์ที่เป็นทางเลือก babel ไม่ได้โหลดแบบอักษรโดยตรง แต่เตรียมไว้สำหรับภาษาเท่านั้น และอย่างที่สองเนื่องจาก babel ไม่ได้ตั้งค่าเช่น fontspec เป็นชุดตัวหนาเริ่มต้นbที่ควรทำดังนั้นฉันจะรายงาน เนื่องจากซีรีส์เป็น bx มันจะทำให้เกิดการแทนที่และคุณจึงหลวมตัวพิมพ์เล็ก (ซึ่งอาจไม่ควรเกิดขึ้นด้วย ... ) ฉันขอแนะนำให้ลบภาษามันไม่สมเหตุสมผลเท่าไหร่เพราะฟอนต์ไม่รู้จักมันอยู่ดีและเพื่อเพิ่มการประกาศชุด (ซึ่งต้องใช้ลาเท็กซ์ปัจจุบัน) ในตอนนี้

\documentclass{article}
\usepackage{fontspec}
\DeclareFontSeriesDefault[rm]{bf}{b}
\usepackage[italian]{babel}
\babelfont{rm}{EB Garamond}

\begin{document}

Quel \textbf{ramo del \textsc{lago} di Como}, che volge a \textbf{\textsc{mezzogiorno}}

\end{document}