फॉण्ट और यूनिकोड इंजन
यह पाठ यह स्पष्ट करता है कि LaTeX Unicode इनपुट को कैसे समझता है और यह आपके टाइप किए गए अक्षरों व उपयोग किए गए फॉण्ट्स को कैसे प्रभावित करता है। इसमें Unicode और OpenType फॉण्ट्स के सपोर्ट सिस्टम (support system) जिसे हम फॉण्ट्स की मदद-सामग्री भी कह सकते हैं, उसके बारे में जानकारी दी गई है।
जब TeX और LaTeX का प्रयोग पहली बार व्यापक रूप से होने लगा, तब वे मूल रूप से केवल यूरोपीय भाषाओं को ही सीधे तौर पर संभालते थे, हालांकि उनमें यूनानी (Greek) और रूसी (Russian) जैसे अन्य लिपियों के लिए कुछ सीमित सपोर्ट था।
उच्चारण चिह्न और उच्चारित अक्षर
प्रारंभ में, उच्चारण चिह्न और उच्चारित अक्षर कंट्रोल सीक्वेंस या मैक्रोज़ के माध्यम से टाइप किए जाते थे, जैसे ‘ç’ के लिए \c{c}
और ‘é’ के लिए \'e
का प्रयोग किया जाता था। आज भी कुछ लोग इन इनपुट विधियों को उपयोग में लाते हैं क्योंकि ये टाइप करने में सरल हो सकती हैं, लेकिन अन्य लोग सीधे कीबोर्ड से ऐसे अक्षरों को इनपुट करने की सुविधा चाहते थे।
Unicode से पहले, LaTeX ने विभिन्न प्रकार के फाइल एन्कोडिंग के लिए सपोर्ट प्रदान किया, जिससे विभिन्न भाषाओं में मूल रूप से टेक्स्ट लिखा जा सकता था — उदाहरण के लिए, latin1
एन्कोडिंग का उपयोग करके फ्रेंच उपयोगकर्ता ‘déjà vu
’ जैसा टेक्स्ट लिख सकते थे, और LaTeX आंतरिक रूप से उच्चारित अक्षरों को TeX कमांड में अनुवाद कर सही आउटपुट देता था।
यह तरीका आज भी आधुनिक LaTeX में pdflatex
इंजन के साथ उपयोग में है। डीफौल्ट रूप से सभी फाइलों को Unicode (UTF-8 एन्कोडेड) माना जाता है जब तक कि अलग से LaTeX को अलग फाइल होने के बारे में बताया न गया हो। हालांकि यह इंजन केवल 8-बिट फॉण्ट्स तक ही सीमित है, फिर भी यह अधिकांश यूरोपीय भाषाओं को सपोर्ट कर सकता है।
फॉण्ट चयन
pdflatex
के साथ फॉण्ट चयन के लिए LaTeX का शक्तिशाली और सुव्यवस्थित फॉण्ट चयन तंत्र प्रयोग होता है। आजकल एक मानक LaTeX वितरण में कई फॉण्ट पहले से ही उपयोग के लिए उपलब्ध होते हैं। उदाहरण के लिए, TeX Gyre फॉण्ट्स एक उच्च गुणवत्ता वाली फॉण्ट श्रृंखला है जो सामान्यतः प्रचलित फॉण्ट्स जैसे Times, Helvetica, Palatino आदि पर आधारित होती है।
इन फॉण्ट्स को लोड करना बहुत सरल होता है — बस उपयुक्त नाम वाले पैकेज को लोड करना होता है। उदाहरण के लिए, Times जैसे दिखने वाले फॉण्ट के लिए TeX Gyre का नाम है Termes:
\usepackage{tgtermes}
pdflatex
के लिए अधिकांश फॉण्ट्स पैकेजों के माध्यम से उपलब्ध होते हैं। आप The LaTeX Font Catalogue या CTAN का ‘Font’ विषय पृष्ठ देख सकते हैं ताकि विभिन्न विकल्पों की जानकारी मिल सके। आप इंटरनेट पर अपनी इच्छित फॉण्ट खोज सकते हैं और उसके लिए कोई pdflatex
-संगत पैकेज संस्करण ढूँढ सकते हैं। यदि आप किसी स्वामित्वयुक्त (proprietary) फॉण्ट का प्रयोग करना चाहते हैं, तो आप उसके लिए उपयुक्त क्लोन भी ढूँढ सकते हैं, जो अधिकांश प्रयोजनों के लिए मूल फॉण्ट के समान होता है।
यूनिकोड युग
चूंकि pdflatex
केवल 8-बिट फाइल एन्कोडिंग और 8-बिट फॉण्ट तक सीमित है, यह आधुनिक OpenType फॉण्ट्स का स्वाभाविक रूप से उपयोग नहीं कर सकता और न ही आसानी से उन भाषाओं के बीच स्विच कर सकता है जिनमें विभिन्न लिपियाँ (scripts) प्रयुक्त होती हैं।
इसके लिए pdfTeX के दो विकल्प उपलब्ध हैं जो यूनिकोड इनपुट और आधुनिक फॉण्ट्स को स्वाभाविक रूप से समर्थन देते हैं: XeTeX और LuaTeX। LaTeX में ये क्रमशः xelatex
और lualatex
इंजनों के रूप में संपादक (editor) से उपयोग में लाए जाते हैं।
इन इंजनों में फॉण्ट चयन fontspec
पैकेज के माध्यम से किया जाता है, और किसी साधारण डॉक्यूमेंट के लिए यह चयन कुछ इस प्रकार दिख सकता है:
\usepackage{fontspec}
\setmainfont{texgyretermes-regular.otf}
यह ऊपर दिए गए pdflatex
उदाहरण की तरह TeX Gyre Termes फॉण्ट को चुनता है। विशेष रूप से, यह तरीका किसी भी OpenType फॉण्ट के लिए काम करता है। pdflatex
में उपलब्ध कुछ फॉण्ट xelatex
और lualatex
में भी उनके संबंधित पैकेजों के माध्यम से उपयोग किए जा सकते हैं, या जैसा कि ऊपर दिखाया गया है, fontspec
का उपयोग करके आप अपने कंप्यूटर में इंस्टॉल कोई भी फॉण्ट लोड कर सकते हैं।
LaTeX फॉण्ट कैटलॉग में भी ऐसे फॉण्ट दिखाए गए हैं जो OpenType फॉर्मेट में उपलब्ध हैं, इसलिए आप फॉण्ट खोजने के लिए इस स्रोत का उपयोग कर सकते हैं। इसी तरह CTAN पेज भी उपयोगी है, जैसा कि पहले बताया गया।
एक बार फॉण्ट चुन लेने के बाद, आप स्रोत डॉक्यूमेंट में यूनिकोड के रूप में सीधे इनपुट टाइप कर सकते हैं। नीचे एक उदाहरण है जिसमें कुछ लैटिन और ग्रीक अक्षर तथा कुछ CJK (चीनी, जापानी, कोरियाई) विचारचिह्न शामिल हैं:
% !TEX xelatex
\documentclass{article}
\usepackage{fontspec}
\setmainfont{texgyretermes-regular.otf}
\newfontfamily\cjkfont{FandolSong-Regular.otf}
\begin{document}
ABC → αβγ → {\cjkfont 你好}
\end{document}
जब आप एक भाषा से दूसरी भाषा में परिवर्तन करते हैं, तो आमतौर पर हाइफनेशन पैटर्न (शब्दों को तोड़ने के नियम) जैसी चीजों को भी बदलना आवश्यक होता है। इसके लिए `babel
` और `polyglossia
` पैकेज, दोनों ही उपयोगी और सक्षम सुविधाएँ प्रदान करते हैं।