LaTeX/Слова
Слова су комплексна тема. За уобичајена документа, само Породице слова, Наглашавање текста, и Кодирање слова су заиста неопходни. Остали делови су кориснији макро писцима или за веома специфичне потребе.
Увод
уредиДигитална слова имају дугачку и запетљану историју. Погледај Адобе метрику слова за више детаља.
Оригинално TeX је замишљен да користи сопствен систем слова, MetaFont, дизајниран од стране Д. Кнута. Стандардна породица слова TeX и пријатеља се зове Computer Modern. Ова слова високог квалитета су скалабилна, и имају велики распон штампарских фино подешавајућих могућности.
Стандардни tex компајлери ће дозволити да користите друга слова. Постоји много различитих типова слова, као што су ПостСкрипт Тип1/Тип3 слова и битмап слова. Тип1 су контурна слова (векторска графика) која се често користе од стране pdftex. Битмап слова су растер графике, и често веома лошег квалитета1, што се може лако видети приликом зумирања или штампања документа. Тип3 је надскуп Типа1 и има више функција из Постскрипта, као што је уграђивање растерске графике. У TeX свету, Тип3 се често користе за уграђивање битмап слова.
треба се приметити да се слова генеришу првог пута када су потребна, отуда дуго време компилације.
Ипак, MetaFont је интерно поприлично комплексан систем слова, и најпопуларнији системи слова до сада су ТруТајп слова (ttf) и Опентајп слова (otf). са модерним TeX компајлерима као што су xetex и luatex могуће је могуће је искористити таква слова у LaTeX документима. Ако желите/морате да се држите стандардних компајлера, већ поменуте врсте слова се морају прво претворити и ставити на располагање LaTeX-у (нпр. претворени у Тип1 слова). Секција спољни линкови испод има неке корисне ресурсе.
У LaTeX-у, постоје многи начини за спецификацију и контролу слова. То је веома сложено питање у типографији.
Породице слова
уредиПостоје многе породице слова нпр. Computer Modern, Times, Arial и Courier. ове породице се могу груписати у три главне категорије: римска (rm) или сериф, санс сериф (sf) и моноспејс (tt) (погледај Slogovnе fontovе за више детаља). Свака породица слова долази са почетним дизајном који потпада у једну од ових категорија; ипак, оне су заменљиве међу собом. Computer Modern Roman је подразумевана породица слова за LaTeX. Слова у свакој породици такође имају различита својства (величину, облик, тежину, итд.). Породице су замишљене да буду константне, тако да се веома обесхрабрује промена слова појединачно већ промена целе породице.
Три породице су дефинисане од стране својих варијабли:
\rmdefault
\sfdefault
\ttdefault
Стандардна породица је садржана у \familydefault
вариабли, и подразумева се да има једну од три већ поменуте варијабле као вредност. Стандардна је дефинисана (у преамбули) као следећи задатак:
\renewcommand{\familydefault}{\sfdefault}
|
Ово ће окренути цео део документа користећи подразумевана слова на подразумевани санс сериф, који је Computer Modern Sans Serif ако нисте променили подразумевана слова.
Промена породице слова обично ради у два корака:
- Прва одређује која породицу желите да промените (rm, sf или tt).
- Друга одређује нову подразумевану породицу ако то није rm.
Математичка слова су много комплекснији случај. Слова могу да дођу у пакету који ће се побринути за дефинисање све три породице плус математичких слова. Можете урадити и сами, и у том случају не морате да учитате никакав пакет.
Испод је пример[1] који показује како променити специфичну породицу.
% Уобичајена слова (\familydefault = \rmdefault = Computer Modern Roman)
Lorem ipsum dolor sit amet, consectitur adipiscing elit.
% Палантино слова (ppl мора бити инсталиран).
\renewcommand*\rmdefault{ppl}
Lorem ipsum dolor sit amet, consectitur adipiscing elit.
% Ивона слова (iwona мора бити инсталирана).
\renewcommand*\rmdefault{iwona}
Lorem ipsum dolor sit amet, consectitur adipiscing elit.
|
Три уобичајене породичне варијабле слова и \familydefault
варијабла се не требају мешати са својим припадајућим променама:
\normalfont
\rmfamily
\sffamily
\ttfamily
Да би изабрали слова која вам се свиђају, молимо вас посетите http://www.tug.dk/FontCatalogue/. Овде су неки чести примери.
Испод су нека слова која су подразумевано инсталирана.
Сериф слова
уредиСкраћеница | Име слова |
---|---|
cmr | Computer Modern Roman (подразумевани) |
lmr | Latin Modern Roman |
pbk | Bookman |
bch | Charter |
pnc | New Century Schoolbook |
ppl | Palatino |
ptm | Times |
Санс сериф слова
уредиСкраћеница | Име слова |
---|---|
cmss | Computer Modern Sans Serif (подразумевани) |
lmss | Latin Modern Sans Serif |
pag | Avant Garde |
phv | Helvetica |
Слова писаће машине
уредиСкраћеница | Име слова |
---|---|
cmtt | Computer Modern Typewriter (подразумевани) |
lmtt | Latin Modern |
pcr | Courier |
Штавише, Bera Mono (BitStream Vera Mono) и LuxiMono слова су дизанирана да изгледају добро када се користе зајеедно са Computer Modern serif словима.
\usepackage[scaled=0.85]{beramono}
Курзивна слова
уредиПошто LaTeX нема генеричну породичну групу за курзивна слова, ова слова се обично додељују римској породици.
Скраћеница | Име слова |
---|---|
pzc | Zapf Chancery |
Слова математичких формула
уредиСкраћеница | Име слова |
---|---|
cmm | Computer Modern (math italic) |
cmsy | Computer Modern (math symbols) |
zplm | Palatino (math) |
Наглашавање текста
уредиНе претерујте са наглашавањем у вашим параграфима. Наглашавање треба да буде резервисано само за кључне термине или друге нарочито битне концепте у тексту, и подебљан текст се треба посебно мало користити. |
Да бисте дали акценат једном речју или фрази, најпростији начин је да користите \emph{text}
команду, која често искоси текст. Курзив текст може бити наведен експлицитно са \textit{text}
.
Желим да \emph{нагласим} реч.
|
Желим да Нагласим реч. |
Обрати пажњу да је \emph
команда динамична: ако нагласите реч која је већ у наглашеној реченици, она ће бити враћена у усправно слово.
\emph{у овој наглашеној реченици, постоји наглашена \emph{реч} која изгледа усправно.}
|
у овој наглашеној реченици, постоји наглашена реч која изгледа усправно. |
Текст може бити наглашен у већој мери уз помоћ подебљања, посебно за кључне речи које читалац можда жели да пронађе када чита текст. Пошто се подебљан текст обично чита пре било ког текста у параграфу или чак на страни, треба га користити умерено. Такође се може користити уместо курзивног текста када се користи сан-сериф писмо да обезбеди већи контраст са ненаглашеним текстом. Подебљан текст се може генерисати са \textbf{text}
командом.
\textbf{подебљан текст} може се користити да снажно нагласи важне речи или фразе.
|
Подебљан текст може се користити да снажно нагласи важне речи или фразе. |
Кодирање слова
уредиСимбол је секвенца бајтова, и не треба се мешати са својим представљањем, знаком, који представља оно што читалац види. Зато симбол 'а' има различиту репрезентацију пратечи искоришћена слова, на пример усправна верзија, курзивна верзија, различите ширине и висине, и тако даље.
При компилацији, tex ће морати да изабере прави знак слова за сваки симбол. Ово се назива кодирање слова. Уобичајено LaTeX кодирање слова је ОТ1, кодирање оригиналних Computer Modern TeX текст слова. Садржи само 128 симбола, многи из ASCII-а, али изостављајући неке друге и укључујући велики број који нису ASCII. Када су потребни акцентовани симболи, TeX их креира тако што комбинује нормалне симболе са нагласком. Док резултујући излаз изгледа савршено, овај приступ има разлоге за опрез.
- Зауставља аутоматску функцију за растављање од рада у унитрашњости речи које садрже наглашене симболе.
- Потрага за речима са нагласком у ПДФ-у неће успети.
- Издвајање ('нпр.' копирати залепити) прегласа 'Ä' преко ПДФ-овог читача у стварности издваја 2 симбола '
"A
'. - Поред тога, нека литинична слова се немогу направити комбинацијом нормалних симбола са нагласком, не рећи ништа о не латиничним алфабетима, као штос су Грчки или Ћирилични.
Да би се превазишли ови недостаци, неколико 8-битних слова, сличних CM-у су креирана. Extended Cork (EC) слова у T1 кодирању садрже слова и знакове интерпукције за већину Европских језика базираних на латиници. LH сет слова садрзи слова потребна за сређивање документа у језику користећи Ћирилицу. Због великог броја Ћириличних знакова, они су распоређени у четири кодирања слова —T2A, T2B, T2C, and X2. CB пакет садржи слова у LGR кодирању за композиције Грчког текста. Коришћењем ових слова можете поправити/омогућити писање са цртицом у не-енглеским документима. Још једна предност коришћења нових слова сличних CM-у је да она омогућују слова свих CM породица у свим ширинама, облицима, и оптичко скалираним величинама слова.
Све ово није могуће са OT1; то је разлог због којег би желели да промените кодирање слова вашег документа.
Ако немате специфичан проблем кодирања слова (нпр. писање само на енглеском), нема потребе за T1. Држати се подразумеваног кодирања слова није проблем. |
Имајте на уму да ће промена кодирања слова имати неке захтеве над словима која се користе. Стандардна Computer Modern слова не подржавају T1. требаће вам Computer Modern Super (cm-super) или Latin Modern (lmodern), који су налик на Computer Modern слова са T1 подршком. ако немате ниједан од ових, веома је често (у зависности од ваше TeX инсталације) да tex изабере Type3 слова као што су Type3 EC, што су битмап слова. Битмап слова изгледају поприлично ружно када се зумирају или штампају.
Ако се након коришћења T1 нађете са словима веома ниског квалитета, то је зато што не постоје одговарајућа слова инсталирана на вашем систему. Инсталирајте било cm-super или lmodern. Ово је веома честа грешка! |
fontenc пакет говори LaTeX-у које кодирање слова да користи. кодирање слова се поставља са:
\usepackage['encoding']{fontenc}
|
где encoding је кодирање фонта. могуће је учитати неколико кодирања истовремено.
Не постоји ништа за мењање у вашем документу за коришћење CM Super слова (под претпоставком да су инсталирана), она ће се аутоматски учитати ако користите T1 кодирање. За lmodern, требаће вам да учитате пакет после што T1 кодирање је постављено:
\usepackage[T1]{fontenc}
\usepackage{lmodern}
|
Пакет ae (готово европски) је застарео. Он је пружао нека заобилазна решења за писање са цртицом речи са посебним симболима. Ови нису више неопходни са словима као што су lmodern. коришћење ae пакета доводи до проблема кодирања текста у ПДФ фајловима генерисаних преко pdflatex (нпр. екстракција текста и претраживање), поред топографских проблема.
Стилови слова
уредиСвака породица има своје карактеристике слова (као што су курзивна и подебљана), такође позната као стилови слова, или својства слова.
Стилови слова се обично имплеметирају са различитим фајловима слова. Тако да је могуће да се направи нова породица слова тако што се наведу стилови слова различитих породица слова.
Облици
уредиУ следећој табели су наведене команде које ће вам бити потребне да приступите типичним облицима слова:
LaTeX команда | Еквивалентно са | Излазни стил | Напомене |
---|---|---|---|
\textnormal{...}
|
{\normalfont ...}
|
document font family | Ово су подразумевана или нормална слова. |
\emph{...}
|
{\em ...}
|
emphasis | Типично курзивна. Употреба emph{} унутар курзивног текста уклања курзив текст на наглашеном тексту. |
\textrm{...}
|
{\rmfamily ...}
|
roman font family | |
\textsf{...}
|
{\sffamily ...}
|
sans serif font family | |
\texttt{...}
|
{\ttfamily ...}
|
teletypefont family | Ово је фиксна-ширина или момоспејс слова. |
\textup{...}
|
{\upshape ...}
|
upright shape | Исто као и нормално писмо. |
\textit{...}
|
{\itshape ...}
|
italic shape | |
\textsl{...}
|
{\slshape ...}
|
slanted shape | Искривљена верзија нормалног писма (слично са, али мало другачије од, курзивног текста). |
\textsc{...}
|
{\scshape ...}
|
Small Capitals | |
\uppercase{...}
|
uppercase (all caps) | Такође \lowercase . Мада, постоје нека упозорења; види here.
| |
\textbf{...}
|
{\bfseries ...}
|
bold | |
\textmd{...}
|
{\mdseries ...}
|
medium weight | Слова тежине између нормалног и подебљаног. |
\textlf{...}
|
{\lfseries ...}
|
light | Слова лакша него нормална. Није подржано од стране свих писама. |
Команде у колони два нису сасвим еквивалентне komandama у колони један: Оне не исправљају размак након што се изабрани стил слова не заврши. Команде у колони један се стога у уопштеном случају препоручују.
можда сте приметили да нема подвућеног текста. Ово је зато што је подвлачење не препоручљиво из топографских разлога (повлачи текст на доле). Требало би да користите emph уместо. Међутим подвлачење текста омогућава користан добар облик наглашавања током процеса уређивања, на пример да се скрене пажња на промене. иако је подвлачење доступно путем \underline{...}
команде, текст подвучен на овај начин се неће правилно раздвајати. Ова фунционалност се мора додати са ulem (истицање на подвлачењу) пакетом. Задените \usepackage{ulem}
у вашу преамбулу. По нормали, ово земењује \emph
команду са подвученим а не са курзивним стилом. Мало је вероватно да је ово жељени ефекат, тако да је боље да се заустави ulem од преузимања \emph
и једноставно позове подвлачеење команда када је потребно.
- Да би се вратило уобичајено
\emph
форматирање, додати\normalem
одма након што document окружење почне. Алтернативно, користите\usepackage[normalem]{ulem}
. - За подвлачење, користите
\uline{...}
заједно са\usepackage[normalem]{ulem}
.. - Да бисте додали таласасто подвлачење, додајте
\uwave{...}
заједно са\usepackage[normalem]{ulem}
.. - За избрисано (прецртано), користити
\sout{...}
заједно са\usepackage[normalem]{ulem}
.. - За косу црту преко сваког индивидуалног симбола
\xout{...}
заједно са\usepackage[normalem]{ulem}
.
Неки стилови слова нису компатиблини једни с другим. Али, неки екстра пакети пупуниће овај недостатак. За подебљана мала, велика слова, можда ћете желети да користите:
\usepackage{bold-extra}
% ...
\textsc{ \textbf{Ово су подебљана мала, велика слова} }
|
Димензионисање текста
уредиДа бисте применили различите величине слова, само пратите команде у овој табели:
Команда | Излаз |
---|---|
\tiny
|
пример текста |
\scriptsize
|
пример текста |
\footnotesize
|
пример текста |
\small
|
пример текста |
\normalsize
|
пример текста |
\large
|
пример текста |
\Large
|
пример текста |
\LARGE
|
пример текста |
\huge
|
пример текста |
\Huge
|
пример текста |
Ове команде мењају величину Унутар датог обима, тако, на пример {\Large неке речи}
ће променити величину само неке речи
, и нема утицаја на слова у остатку документа. Радиће за већину делова текста.
{\Large\tableofcontents}
|
Ове команде се не могу користити у математичком моду. ипак, део формуле се може подесити у различиту величину коришћењем \mbox команде која садржи команду величине.
нова величина ступа на снагу одмах након команде величине; ако цео пасус или јединица је постављена у одређеној величини, команда величине би требала да садржи и празну линију или \end{...}
која ограничава јединицу.
Уобичајена величина за \normalsize
је 10 тачки (опција10pt
), али се може разликовати за неке стилове документа и њихове опције. Стварна величина произведена од стране ових команди такође зависи од стила документа и, у неким стиловима, више од једне од ових величинских команди може произвести исту стварну величину.
Уочити да дефиниције за величине слова су подстављене од стране класе документа. У зависности од стила документа стварна величина слова се може разликовати од горе наведеног. И нема свака класа документа јединствене величине за свих 10 величинских команди.
величина | стандардне класе (изузев косих), beamer | AMS класе, memoir | коса | ||||
---|---|---|---|---|---|---|---|
[10pt] | [11pt] | [12pt] | [10pt] | [11pt] | [12pt] | ||
\tiny | 5 | 6 | 6 | 6 | 7 | 8 | 13.82 |
\scriptsize | 7 | 8 | 8 | 7 | 8 | 9 | 16.59 |
\footnotesize | 8 | 9 | 10 | 8 | 9 | 10 | 16.59 |
\small | 9 | 10 | 10.95 | 9 | 10 | 10.95 | 16.59 |
\normalsize | 10 | 10.95 | 12 | 10 | 10.95 | 12 | 19.907 |
\large | 12 | 12 | 14.4 | 10.95 | 12 | 14.4 | 23.89 |
\Large | 14.4 | 14.4 | 17.28 | 12 | 14.4 | 17.28 | 28.66 |
\LARGE | 17.28 | 17.28 | 20.74 | 14.4 | 17.28 | 20.74 | 34.4 |
\huge | 20.74 | 20.74 | 24.88 | 17.28 | 20.74 | 24.88 | 41.28 |
\Huge | 24.88 | 24.88 | 24.88 | 20.74 | 24.88 | 24.88 | 41.28 |
Као техничка напомена, тачке у TeX прате стандардну америчку величину тачака у којој 1 pt је приближно 0.35136 mm. Стандардна величина тачке која се користи у већини модерних компјутерских програма (позната као десктоп објављивајућа тачка или ПостСкрипт тачка) има 1 pt једнак око 0.3527 mm док је стандардна европска величина тачака (позната као Дидот тачка) имала 1 pt једнаку око 0.37597151 mm.
Локални избор слова
уредиможете променити слова за специфичан део текста. Постоје четири својства слова која можете променити.
\fontencoding
- Кодирање слова, као што су OT1 (TeX уобичајено) или T1 (повећана подршка симбола, боља ПДФ подршка, широко коришћен).
\fontfamily
- Породица слова.
\fontseries
- Серија: l=благо, m=средње, b=подебљано, bx=веома подебљано.
\fontshape
- Облик: it=курзивно, n=нормално, sl=косо, sc=мала, велика слова.
{
\fontfamily{anttlc}\selectfont
Неки текст у anttlc...
}
|
\selectfont
команда је обавезна, иначе слова се неће променити. препоручује се да се команда приложи у групи да би се чисто вратила претходна селекција слова када је пожељно.
Можете користити све ове команде у низу:
{
\fontencoding{T1}\fontfamily{anttlc}\fontseries{m}\fontshape{n}\selectfont
Неки текст у anttlc...
}
|
Стандардне вредности се чувају у \encodingdefault
, \familydefault
, \seriesdefault
и \shapedefault
. Подешавање назад на уобичајена својства слова може бити урађено са
\fontencoding{\encodingdefault}
\fontfamily{\familydefault}
\fontseries{\seriesdefault}
\fontshape{\shapedefault}
\selectfont
|
За краће, можете користити \usefont{<encoding>}{<family>}{<series>}{<shape>}
команду.
\usefont{T1}{cmr}{m}{n} % Computer Modern Римски (TeX уобичајени) у T1 кодирању. Може да доведе до лошег квалитета текста ако немате cm-super инсталиран.
\usefont{T1}{phv}{m}{sc} % phv породица (санс сериф) средње мала, велика слова.
\usefont{T1}{ptm}{b}{it} % ptm породица подебљано курзивно
\usefont{U}{pzd}{m}{n} % ...
|
Произвољне величине слова
уреди\tiny
...\Huge
команде су често довољне за већину садржаја. Ово су међутим, фиксне величине. У већини документиних процесора, обично можете бирати било коју величину слова. Ово је зато што симболи се стварно увећавају. Ако обично изгледа тачно за средње величине, изгледаће чудно на екстремним вредностима због неизбаланциране дебљине. У TeX-у могуће је мењати увећање свега, али се веома одвраћује од тога због већ наведеног разлога. Промена величине слова се врши променом датотеке слова. Да, постоји датотека за сваку величину: cmr10 за Computer Modern римско 10pt, cmr12 за Computer Modern римско 12pt, итд. Ово обезбеђује да су симболи правилно избалансирани и да остају читљиви на свим дефинисаним величинама.
можете изабрати посебну величину слова са \fontsize{<size>}{<line space>}
командом. Пример:
{\fontsize{5cm}{5.5cm}\selectfont Ово је велико!}
|
Ако користите стандардно Computer Modern кодирање слова, можете добити следећу поруку:
LaTeX Font Warning: Font shape `OT1/cmr/m/n' in size <142.26378> not available (Font) size <24.88> substituted on input line 103.
У овом случају приметићете да је величина слова по стандарду ограничена на скуп фиксних величина као што је горе наведено. Можете користити fix-cm или type1cm пакете да би дозволили computer modern словима да се скалирају до произвољних вредности.
Проналажење слова
уредиМожете пронаћи одгромад директоријум слова заједно са примерима и конфигурацијама на TUG Каталог слова.
Слова за српски језик
уредиУ српском језику се ћириличка слова б, г, д, п и т у курзиву разликују од слова у рецимо руском језику. Подразумевана слова у LaTeX-у не подржавају те облике слова.
Пакет cmsrb је модификована верзија подразумеваних Computer Modern слова која садржи исправна слова за српски језик.
Скраћеница | Име слова |
---|---|
cmsrbr | Computer Modern Serbian Roman |
cmsrbs | Computer Modern Serbian Sans Serif |
cmsrbt | Computer Modern Serbian Typewriter |
Довољно је да убацимо кôд \usepackage{cmsrb}
како би смо добили Computer Modern слова за српски језик.
Коришћење произвољних системских слова
уредиАко користите XeTeX или LuaTeX машину и fontspec пакет, моћи ћете да користите било која слова инсталирана у систему без напора. XeTeX такође дозвољава коришћење OpenType технологије модерних слова као специфизирање алтернативних знакова и оптичких величинских варијанти. XeTeX такође користи Unicode по нормали, што може бити од помоћи у питањима везаним за слова.
да бисте користили слова, довољно је да покренете fontspec пакет и подесите слова:
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Arial}
\begin{document}
Lorem ipsum...
\end{document}
|
Затим саставити документ са xelatex или lualatex. Имајте на уму да можете генерисати само пдф. датотеке, и да вам је потребна довољно нова TeX дистрибуција (TeX Live 2009 треба да ради за XeTeX и Tex Live 2010 за LuaTeX). Такође неби требали да учитате inputenc или fontenc пакете. Уместо тога проверите да је ваш документ кодиран као UTF-8 и учитајте fontspec, који ће се побринути за кодирање слова. Да би ваш документ подржавао и pdflatex и xelatex/lualatex можете користити \ifxetex
/ \ifluatex
макро из ifxetex/ ifluatex пакета. На пример за xelatex
\documentclass{article}
\usepackage{ifxetex}
\ifxetex
\usepackage{fontspec}
\defaultfontfeatures{Ligatures=TeX} % За подршку LaTeX стила цитирања
\setromanfont{Hoefler Text}
\else
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\fi
\begin{document}
Lorem ipsum...
\end{document}
|
ПДФ Слова и својства
уредиПДФ документи имају способност да уграђују датотеке слова. То их чини преносивим, отуда назив Преносиви документ формати.
Многи ПДФ читачи a имају Опционе функције унесене у списак играђених слова и документ метаподатака.
Многи Јуникс системи користе poppler сет алата који користи pdfinfo унесе у списак ПДФ метаподатке, и pdffonts да унесе у списак изграђених слова.
Корисни сајтови
уреди- Каталог Latex слова
- Команде LaTeX слова
- Како променити слова у Latex-у
- Разумевање света TEX слова и овладавање основама fontinst
- Фонт инсталација на лакши начин "За једнократне пројекте, можете хватати пречице са инсталацијом слова (т.ј. fontinst) и завршити са лакшим за управљање скупом датотека и чистијом TEX инсталацијом. Овај чланак показује како и зашто"
Трутајп (ттф) слова
уреди- Корак-по-корак водич за ручно инсталирање ттф-слова за PdfTeX
- Bash скрипта за инсталацију LaTeX породице слова (MikTeX / TeXLive)
- LaTeX и ТруТајп слова
- ТруТајп слова са LaTeX под Linux-ом + MiKTeX 2.5
- Јуникод ТруТајп инсталер слова за LaTeX под Видндоусом + MikTeX
- коришћење ТруТајп слова са TeX (LaTeX) и pdfTeX (pdfLaTeX) (за MikTeX)
Референце
уреди- ↑ Пронађено на групи Гугл дискусија latexlovers
- ↑ Узето са http://www.macfreek.nl/memory/Fonts_in_LaTeX