مواد پر جائیں

fontenc، inputenc، fontspec اور فونٹ پیکجز

inputenc اور fontenc کی ضرورت نہیں اور یہ بغیر اثر کے قبول ہوتے ہیں، کیونکہ سورس ہمیشہ UTF-8 کے طور پر پڑھا جاتا ہے۔ عام دستاویزات میں فونٹ Latin Modern اور New Computer Modern Math پر مقرر ہیں: fontspec کا \setmainfont اور times یا libertine جیسے پیکجز نظر انداز ہوتے ہیں، اور صرف \familydefault سے sans serif پر بدلنا (اختیاری طور پر helvet کے ساتھ) کام کرتا ہے۔

پیکجز کیا کرتے ہیں

  • inputenc، pdfLaTeX کو بتاتا ہے کہ سورس فائل کس encoding میں ہے۔ 2018 سے پہلے ٹائپ کیے گئے accents کے لیے \usepackage[utf8]{inputenc} ضروری تھا؛ موجودہ LaTeX پہلے سے UTF-8 پڑھتا ہے۔
  • fontenc فونٹ کی encoding چنتا ہے۔ \usepackage[T1]{fontenc}، pdfLaTeX کو ایسے فونٹ دیتا ہے جن میں accent والے حروف شامل ہوں، جس سے hyphenation اور PDF سے متن کاپی کرنا بہتر ہوتا ہے۔
  • fontspec (XeLaTeX اور LuaLaTeX) کوئی بھی انسٹال شدہ OpenType فونٹ لوڈ کرتا ہے: \setmainfont{...}، \setsansfont{...}، \setmonofont{...}، \newfontfamily۔
  • lmodern، times، mathptmx، helvet، libertine یا newtxtext جیسے فونٹ پیکجز pdfLaTeX دستاویزات کو کسی اور typeface پر بدلتے ہیں۔

یہاں کیا کام کرتا ہے

خصوصیتScissor LaTeX میںنوٹس
ä، é، ł، یونانی، سیریلک، CJK ... والا UTF-8 سورسکام کرتا ہےہمیشہ، inputenc کے ساتھ یا بغیر۔
\usepackage[utf8]{inputenc}، \usepackage[T1]{fontenc}، lmodernچھوڑ دیا گیاقبول؛ کرنے کو کچھ نہیں۔
\renewcommand{\familydefault}{\sfdefault}کام کرتا ہےعام متن Latin Modern Sans میں۔
اوپر کی سطر کے ساتھ helvet یا tgherosکام کرتا ہےTeX Gyre Heros میں sans serif، جو Helvetica جیسا ہے۔
sfmathکام کرتا ہےفارمولے sans serif میں۔
\texttt{...}، \ttfamilyکام کرتا ہےLatin Modern Mono۔
\textbf، \textit، \emphکام کرتا ہے
\textsc{...}جزوی طور پرپہلے سے طے شدہ Latin Modern فونٹ میں عام حروف۔ helvet کے ساتھ اور کانفرنس ترتیبوں میں (LNCS کے سوا، جو Latin Modern استعمال کرتا ہے) حقیقی small capitals۔
متن کے اندر \textsf{...}، \sffamilyچھوڑ دیا گیامتن serif رہتا ہے۔
fontspec: \setmainfont، \setsansfont، \setmonofontچھوڑ دیا گیاپری ایمبل میں قبول، کوئی اثر نہیں۔
\newfontfamily\name{Font}سپورٹ نہیںپیغام کے ساتھ چھوڑ دیا جاتا ہے، اور فونٹ کا نام چھپتا ہے۔
times، mathptmx، palatino، libertine، newtxtext، charter ...چھوڑ دیا گیامتن Latin Modern میں رہتا ہے۔
\fontsize{14}{16}\selectfontکام کرتا ہے5 سے 144 pt تک کے عام سائزوں میں سے قریب ترین؛ سطروں کا فاصلہ سائز کے ساتھ بدلتا ہے۔
\fontfamily{...}\selectfontچھوڑ دیا گیاکوئی پیغام نہیں؛ متن اپنا فونٹ رکھتا ہے۔
\small، \large، \Huge ...کام کرتا ہےکانفرنس اور جریدے کی ترتیبوں کے سوا، جو اپنے سائز رکھتی ہیں۔
unicode-math: \setmathfontچھوڑ دیا گیاریاضی کا فونٹ New Computer Modern Math رہتا ہے۔
unicode-math: فارمولے میں \symbf، \symitسپورٹ نہیںفارمولا سرخ میں دکھایا جاتا ہے۔ \mathbf، \boldsymbol یا bm استعمال کریں۔

عام متن کے فونٹ کا سائز کلاس آپشن (10pt، 11pt یا 12pt) سے آتا ہے؛ صفحے کی ترتیب دیکھیں۔

مثالیں

پری ایمبل کی وہ سطریں جن سے بہت سی دستاویزات شروع ہوتی ہیں قبول ہوتی ہیں اور کچھ نہیں بدلتیں؛ ٹائپ کیے گئے accents دونوں طرح کام کرتے ہیں:

inputenc، fontenc اور lmodern قبول ہوتے ہیں

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\begin{document}
Hans Mustermann bestellt Crème brûlée, Smørrebrød und Pierogi z
kapustą. \texttt{Monospaced}, \textbf{bold} and \textit{italic}
work as usual.
\end{document}
Scissor LaTeX نے ٹائپ سیٹ کیا: inputenc، fontenc اور lmodern قبول ہوتے ہیں

fontspec بغیر خرابی کے لوڈ ہوتا ہے، لیکن متن Latin Modern میں رہتا ہے:

\setmainfont کا کوئی اثر نہیں

\documentclass{article}
\usepackage{fontspec}
\setmainfont{TeX Gyre Pagella}
\begin{document}
This paragraph would be set in Pagella by XeLaTeX or LuaLaTeX.
Here it stays in Latin Modern, the default font.
\end{document}
Scissor LaTeX نے ٹائپ سیٹ کیا: \setmainfont کا کوئی اثر نہیں

فونٹ کی وہ واحد تبدیلی جو کام کرتی ہے: پوری دستاویز sans serif میں۔

\familydefault اور sfmath کے ساتھ sans serif

\documentclass{article}
\usepackage{helvet}
\usepackage{sfmath}
\renewcommand{\familydefault}{\sfdefault}
\begin{document}
\section{Results}
John Doe measured $v = 44\,\mathrm{m/s}$, which matches the
estimate $v \approx \sqrt{2 g h}$.
\end{document}

مطابقت

  • TeX انسٹالیشن سے یہاں: متن اور فارمولے Latin Modern میں رہتے ہیں۔ fontspec یا فونٹ پیکجز سے طے کیے گئے فونٹ استعمال نہیں ہوتے، اور XeLaTeX کے لیے لکھی دستاویزات بغیر تبدیلی کے ٹائپ سیٹ ہوتی ہیں۔
  • یہاں سے TeX انسٹالیشن میں: دستاویزات اپنے پیکجز کی ضرورت کے مطابق pdfLaTeX، XeLaTeX یا LuaLaTeX سے کمپائل ہوتی ہیں، اور تب چنے گئے فونٹ اثر کرتے ہیں۔

مکمل دستی کتابچے CTAN پر ہیں: fontspec، fontenc، inputenc اور unicode-math۔ یہ بھی دیکھیں: دوسری زبانیں اور فونٹس۔

سوالات اور جوابات

کیا مجھے \usepackage[utf8]{inputenc} کی ضرورت ہے؟

یہاں نہیں: سورس ہمیشہ UTF-8 کے طور پر پڑھا جاتا ہے۔ یہ سطر رکھنے سے کوئی نقصان نہیں، اور پرانی TeX انسٹالیشنز کو اب بھی اس کی ضرورت ہے۔

Times New Roman یا Arial کیسے استعمال کروں؟

عام دستاویز میں نہیں۔ متن کا فونٹ Latin Modern ہے؛ واحد تبدیلی \renewcommand{\familydefault}{\sfdefault} سے sans serif پر ہے، جو \usepackage{helvet} کے ساتھ TeX Gyre Heros دیتی ہے، جو Helvetica جیسا ہے۔ کانفرنس ٹیمپلیٹس اپنے فونٹ ساتھ لاتے ہیں: زیادہ تر کے لیے TeX Gyre Termes (Times جیسا)، اور ACM کے لیے Libertinus۔

کیا fontspec، Scissor LaTeX میں کام کرتا ہے؟

یہ بغیر خرابی کے لوڈ ہوتا ہے، اس لیے XeLaTeX دستاویزات کھلتی اور ٹائپ سیٹ ہوتی ہیں، لیکن \setmainfont اور فونٹ کی دوسری ترتیبات نظر انداز ہوتی ہیں۔

اس صفحے کی ہر مثال سائٹ بنتے وقت Scissor LaTeX ٹائپ سیٹ کرتا ہے۔ آخری بار اپ ڈیٹ: 2026-11-07۔