arabluatex.dtx 246 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033
  1. % \iffalse meta-comment
  2. % ArabLuaTeX -- Processing ArabTeX notation under LuaLaTeX
  3. % Copyright (C) 2016--2020 Robert Alessi
  4. %
  5. % Please send error reports and suggestions for improvements to Robert
  6. % Alessi <alessi@robertalessi.net>
  7. %
  8. % This program is free software: you can redistribute it and/or modify
  9. % it under the terms of the GNU General Public License as published by
  10. % the Free Software Foundation, either version 3 of the License, or
  11. % (at your option) any later version.
  12. %
  13. % This program is distributed in the hope that it will be useful, but
  14. % WITHOUT ANY WARRANTY; without even the implied warranty of
  15. % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  16. % General Public License for more details.
  17. %
  18. % You should have received a copy of the GNU General Public License
  19. % along with this program. If not, see
  20. % <http://www.gnu.org/licenses/>.
  21. % \fi
  22. %
  23. % \iffalse
  24. %<*driver>
  25. \ProvidesFile{arabluatex.dtx}
  26. %</driver>
  27. %<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
  28. %<package>\ProvidesPackage{arabluatex}
  29. %<*package>
  30. [2020/03/23 v1.20 ArabTeX for LuaLaTeX]
  31. %</package>
  32. %
  33. %<*driver>
  34. \documentclass{ltxdoc}
  35. \usepackage{filecontents}
  36. \begin{filecontents}{\jobname.bib}
  37. % This file is part of the `arabluatex' package
  38. %
  39. % ArabLuaTeX -- Processing ArabTeX notation under LuaLaTeX
  40. % Copyright (C) 2016--2020 Robert Alessi
  41. %
  42. % Please send error reports and suggestions for improvements to Robert
  43. % Alessi <alessi@robertalessi.net>
  44. %
  45. % This program is free software: you can redistribute it and/or modify
  46. % it under the terms of the GNU General Public License as published by
  47. % the Free Software Foundation, either version 3 of the License, or
  48. % (at your option) any later version.
  49. %
  50. % This program is distributed in the hope that it will be useful, but
  51. % WITHOUT ANY WARRANTY; without even the implied warranty of
  52. % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  53. % General Public License for more details.
  54. %
  55. % You should have received a copy of the GNU General Public License
  56. % along with this program. If not, see
  57. % <http://www.gnu.org/licenses/>.
  58. @software{pkg:arabtex,
  59. author = {Lagally, Klaus},
  60. maintainer = {Lagally, Klaus},
  61. title = {Arab\TeX},
  62. indextitle = {Arab\TeX},
  63. date = {2004-11-03},
  64. version = {4.00},
  65. url =
  66. {http://mirrors.ctan.org/language/arabic/arabtex/doc/html/arabtex.htm},
  67. subtitle = {Typesetting Arabic and Hebrew},
  68. titleaddon = {User Manual Version 4.00}
  69. }
  70. @software{pkg:amiri,
  71. author = {Hosny, Khaled},
  72. maintainer = {Hosny, Khaled},
  73. title = {Amiri},
  74. indextitle = {Amiri},
  75. date = {2017-12-13},
  76. url = {http://www.amirifont.org/}
  77. }
  78. @Book{Habash,
  79. author = {Habash, Nizar Y.},
  80. title = {Introduction to Arabic Natural Language Processing},
  81. year = 2010,
  82. series = {Synthesis Lectures on Human Language Technologies},
  83. number = 10,
  84. publisher = {Morgan \& Claypool Publishers},
  85. location = {Toronto}
  86. }
  87. @software{pkg:lua-ul,
  88. title = {The Lua-ul package},
  89. subtitle = {Underlining for LuaLaTeX},
  90. author = {Krüger, Marcel},
  91. maintainer = {Krüger, Marcel},
  92. url = {http://www.ctan.org/pkg/lua-ul},
  93. date = {2020-03-12},
  94. version = {0.0.1}
  95. }
  96. @MVBook{Wright,
  97. author = {Wright, W. LL.D},
  98. title = {A Grammar of the Arabic Language},
  99. indextitle = {Grammar of the Arabic Language, A},
  100. year = 1896,
  101. editor = {Robertson Smith, W. and de Goeje, M. J.},
  102. editortype = {reviser},
  103. foreword = {Cachia, Pierre},
  104. edition = 3,
  105. volumes = 2,
  106. pagination = {none},
  107. publisher = {Librairie du Liban},
  108. location = {Beirut},
  109. annote = {New impression, 1996}
  110. }
  111. @Manual{din31635,
  112. label = {{DIN 31~635}},
  113. title = {Information and Documentation - Romanization of the
  114. Arabic Alphabet for Arabic, Ottoman-Turkish,
  115. Persian, Kurdish, Urdu and Pushto},
  116. date = {2011-07},
  117. url = {http://www.din.de}
  118. }
  119. @InProceedings{dmg,
  120. author = {Brockelmann, Carl and Fischer, August and Heffening,
  121. W. and Taeschner, Franz},
  122. shorttitle = {Die Transliteration der arabischen Schrift},
  123. title = {Die Transliteration der arabischen Schrift in ihrer
  124. Anwendung auf die Hauptliteratursprachen der
  125. islamischen Welt},
  126. indextitle = {Transliteration der arabischen Schrift, Die},
  127. year = 1935,
  128. booktitle = {Denkschrift dem 19. internationalen
  129. Orientalistenkongreß in Rom vorgelegt von der
  130. Transkriptionkommission der Deutschen
  131. Morgenländischen Gesellschaft},
  132. editor = {van Ronkel, Ph. S. and Spies, Otto},
  133. editortype = {collaborator},
  134. publisher = {Deutsche Morgenländische Gesellschaft, in Kommission
  135. bei F. A. Brockaus},
  136. url =
  137. {http://www.naher-osten.uni-muenchen.de/studium_lehre/werkzeugkasten/dmgtransliteration.pdf},
  138. location = {Leipzig}
  139. }
  140. @MVBook{Lane,
  141. author = {Lane, Edward William},
  142. title = {An Arabic-English lexicon},
  143. date = {1863/1893},
  144. indextitle = {Arabic-English Lexicon, An},
  145. volumes = 8,
  146. shorthand = {Lane, \emph{Lexicon}},
  147. pagination = {none},
  148. publisher = {Williams and Norgate},
  149. location = {London -- Edinburgh}
  150. }
  151. \end{filecontents}
  152. \usepackage[letterpaper,margin=1.25in,left=50mm,nohead]{geometry}
  153. \usepackage{fontspec}
  154. \defaultfontfeatures{Renderer=Harfbuzz}
  155. \usepackage[english]{babel}
  156. \usepackage{dox}
  157. \doxitem{Option}{option}{options}
  158. \usepackage{microtype}
  159. \babelfont{rm}{Old Standard}
  160. \babelfont{sf}{NewComputerModern Sans}
  161. \babelfont{tt}{NewComputerModern Mono}
  162. \usepackage{metalogox}
  163. \usepackage{arabluatex}[2020/03/23]
  164. \SetArbUp{\textsuperscript{\thinspace#1}} % Old Standard needs this
  165. \usepackage[nopar]{quran}
  166. \usepackage[noindex]{nameauth}
  167. \usepackage{varioref}
  168. \usepackage{latexcolors}
  169. \PassOptionsToPackage{bookmarks=true}{hyperref}
  170. \usepackage[numbered]{hypdoc}
  171. \usepackage{uri}
  172. \usepackage[loadlang=en]{metastr}
  173. \hypersetup{
  174. colorlinks,
  175. allcolors=cinnamon,
  176. linktocpage=true,
  177. pdftype={Text}
  178. }
  179. \labelformat{section}{sect.~#1}
  180. \labelformat{subsection}{sect.~#1}
  181. \labelformat{subsubsection}{sect.~#1}
  182. \labelformat{figure}{fig.~#1}
  183. \labelformat{table}{table~#1}
  184. \metaset{titletext}{%
  185. \metapick[#1]{title}%
  186. \metacompose[#1]{subtitle}{\metaget[sep]{subtitle}}{}{}}
  187. \metaset[print]{titletext}{%
  188. \metatitleline[print]{title}%
  189. \metatitleline[print]{subtitle}%
  190. \metatitleline[print]{author}%
  191. \metatitleline[print]{contactemail}%
  192. \metatitlelinetwo[print]{date}[print]{draft}}
  193. \metaset[skip]{subtitle}{\vspace{1ex}}
  194. \metaset[skip]{author}{\vspace{2ex}}
  195. \metaset[skip]{date}{\vspace{1ex}}
  196. \metaset[style]{title}{\LARGE}
  197. \metaset[style]{author}{\large}
  198. \metaset[sep]{draft}{ -- }
  199. \metasetlang{en-US}
  200. \metaset{title}{arabluatex}
  201. \metaset{date}{\filedate}
  202. \metaset{draft}{\fileversion}
  203. \metaset{subject}{ArabTeX}
  204. \metaset{subtitle}{ArabTeX for LuaLaTeX}
  205. \metaset[print]{subtitle}{Arab\TeX\ for Lua\LaTeX}
  206. \metaset{author}{Robert Alessi}
  207. \metaset{keywords}{Arabic language, Arabic,
  208. arabtex, luatex}
  209. \metaset{contactemail}{alessi@roberalessi.net}
  210. \metaset[print]{contactemail}{\mailto[arabluatex]{alessi@robertalessi.net}}
  211. \metaset{contacturl}{http://www.roberalessi.net}
  212. \metaset{partof}{The arabluatex Package}
  213. \metaset[print]{partof}{The \textsf{arabluatex} Package}
  214. \metaset{copyrightowner}{\metapick[#1]{author}}
  215. \metaset{copyrightdate}{2016--2020}
  216. \metaset{licensemessage}{Permission is granted to copy, distribute
  217. and/or modify this document under the terms of the GNU Free
  218. Documentation License, Version 1.3 or any later version published by
  219. the Free Software Foundation; with no Invariant Sections, no
  220. Front-Cover Texts, and no Back-Cover Texts. A copy of the license
  221. is included in the section entitled ``GNU Free Documentation
  222. License''.}
  223. \metaset{licenseurl}{https://www.gnu.org/licenses/fdl-1.3.html}
  224. \metaset[print]{licenseurl}{%
  225. \url{https://www.gnu.org/licenses/fdl-1.3.html}}
  226. \metaset[cmd]{licenselogo}{\includegraphics[scale=0.75]{#1}}
  227. \metawritepdfinfo
  228. \metawritepdfaux
  229. \metawritepdfpreamble
  230. \metawritepdfcontact
  231. \metawritepdfrights
  232. \usepackage{bookmark}
  233. \usepackage{authblk}
  234. \usepackage[scale=1.5]{ccicons}
  235. \usepackage{enumitem}
  236. \setlist{nosep}
  237. \setlist[itemize]{label=\textendash}
  238. \setlist[enumerate,1]{label=(\alph*)}
  239. \setlist[enumerate,2]{label=\roman*.}
  240. \newlist{enumabjad}{enumerate}{10}
  241. \setlist[enumabjad]{label={\abjad{\arabic*}}}
  242. \usepackage{multicol}
  243. \setlength\IndexMin{100pt}
  244. \usepackage{quoting}
  245. \quotingsetup{noorphans, rightmargin=0pt}
  246. \renewcommand*{\quotingfont}{\footnotesize}
  247. \usepackage[position=below]{caption}
  248. \usepackage{lineno}
  249. \usepackage{longtable}
  250. \usepackage{booktabs}
  251. \usepackage[defaultlines=3,all]{nowidow}
  252. \usepackage{needspace}
  253. \usepackage{addlines}
  254. \usepackage{relsize}
  255. \usepackage{tikz}
  256. \usepackage[breakable, skins, xparse, minted]{tcolorbox}
  257. \tcbset{colback=white, boxrule=.15mm, colframe=cinnamon,
  258. breakable}
  259. \newtcbox{\arabluabox}{boxrule=.3mm, left=0mm, right=0mm, top=0mm,
  260. bottom=0mm}
  261. \newtcblisting{example}{minted options={linenos, numbersep=0mm,
  262. fontsize=\smaller}}
  263. \newtcblisting{code}{minted options={linenos, numbersep=0mm,
  264. fontsize=\smaller}, listing only}
  265. \newcommand{\package}[1]{\textsf{#1}\index{#1=#1 (package)}}
  266. \usepackage[contents]{colordoc}
  267. \usepackage{csquotes}
  268. \DeclareQuoteStyle{arabic}
  269. {\rmfamily\textquotedblright}{\rmfamily\textquotedblleft}
  270. {\rmfamily\textquoteright}{\rmfamily\textquoteleft}
  271. \usepackage[style=authoryear, indexing=cite]{biblatex}
  272. \DeclareIndexFieldFormat{indextitle}{\index{#1=\emph{#1}}}
  273. \addbibresource{arabluatex.bib}
  274. \NewDocumentCommand{\newfeature}{o}{%
  275. \leavevmode
  276. \IfNoValueTF{#1}
  277. {\marginpar{\hfill\emph{New feature}}}
  278. {\marginpar{\hfill\emph{New feature} #1}}%
  279. \ignorespaces
  280. }
  281. \usepackage{multicol}
  282. \usepackage{tocloft}
  283. \renewcommand\cftlotprehook{\begin{multicols}{2}}
  284. \renewcommand\cftlotposthook{\end{multicols}}
  285. \renewcommand\cftlottitlefont{\Large\bfseries}
  286. \usepackage{etoc}
  287. \etocsettocdepth{paragraph}
  288. \newcommand{\altableofcontents}{%
  289. \begingroup
  290. \etocsetstyle{section}{}{}
  291. {\etocsavedsectiontocline{%
  292. \numberline{\etocnumber}\etocname}{\etocpage}}{}
  293. \etocsetstyle{subsection}{}{}
  294. {\etocsavedsubsectiontocline{%
  295. \numberline{\etocnumber}\etocname}{\etocpage}}{}%
  296. \etocsetstyle{subsubsection}{}{}
  297. {\etocsavedsubsubsectiontocline{%
  298. \numberline{\etocnumber}\etocname}{\etocpage}}{}%
  299. \etocsetstyle{paragraph}{}{\leftskip2cm\rightskip 2.2em \parfillskip
  300. 0pt plus 1fil\relax \nobreak}
  301. {\noindent\etocname{} \etocpage{} }{\par}%
  302. \etocmulticolstyle[2]{\section*{Contents}}
  303. \pdfbookmark[1]{Contents}{toc}
  304. \tableofcontents
  305. \endgroup}
  306. \setlength\IndexMin{100pt}
  307. \EnableCrossrefs
  308. \RecordChanges
  309. \CodelineIndex
  310. \begin{document}
  311. \DocInput{arabluatex.dtx}
  312. \printbibliography[heading=bibnumbered]
  313. \phantomsection
  314. \PrintChanges
  315. \phantomsection
  316. \PrintIndex
  317. \end{document}
  318. %</driver>
  319. % \fi
  320. %
  321. % \CheckSum{0}
  322. %
  323. % \CharacterTable
  324. % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
  325. % Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
  326. % Digits \0\1\2\3\4\5\6\7\8\9
  327. % Exclamation \! Double quote \" Hash (number) \#
  328. % Dollar \$ Percent \% Ampersand \&
  329. % Acute accent \' Left paren \( Right paren \)
  330. % Asterisk \* Plus \+ Comma \,
  331. % Minus \- Point \. Solidus \/
  332. % Colon \: Semicolon \; Less than \<
  333. % Equals \= Greater than \> Question mark \?
  334. % Commercial at \@ Left bracket \[ Backslash \\
  335. % Right bracket \] Circumflex \^ Underscore \_
  336. % Grave accent \` Left brace \{ Vertical bar \|
  337. % Right brace \} Tilde \~}
  338. %
  339. % \makeatletter
  340. % \let\org@changes@\changes@
  341. % \def\my@changes v#1.#2.#3\@nil{%
  342. % \org@changes@{v#1.\six@digits{#2}.#3=v#1.#2.#3}%
  343. % }%
  344. % \newcommand*{\six@digits}[1]{%
  345. % \ifnum#1<100000 0\fi
  346. % \ifnum#1<10000 0\fi
  347. % \ifnum#1<1000 0\fi
  348. % \ifnum#1<100 0\fi
  349. % \two@digits{#1}%
  350. % }%
  351. % \renewcommand*{\changes@}[1]{%
  352. % \my@changes#1.\@nil
  353. % }%
  354. % \makeatother
  355. %
  356. % \changes{v1.0}{2016/03/29}{Initial release}
  357. % \changes{v1.0.1}{2016/03/31}{Minor update of the documentation}
  358. %
  359. % \DoNotIndex{\newcommand,\newenvironment,\renewcommand}
  360. % \DoNotIndex{\~,\AtBeginDocument,\bgroup,\csname}
  361. % \DoNotIndex{\DeclareDocumentCommand,\def,\edef,\egroup}
  362. % \DoNotIndex{\else,\endcsname,\endinput,\expandafter,\fi}
  363. % \DoNotIndex{\ifdef,\ifdefined,\ifx,\MessageBreak,\NeedsTeXFormat}
  364. % \DoNotIndex{\NewDocumentCommand,\newif,\PackageError,\PackageWarning}
  365. % \DoNotIndex{\relax,\RenewDocumentCommand,\string,\verb,\let}
  366. % \DoNotIndex{\enskip}
  367. %
  368. % \GetFileInfo{arabluatex.dtx}
  369. %
  370. % \pdfbookmark[1]{\metaterm{title}}{title}
  371. % \begin{tcolorbox}[
  372. % colframe=black,
  373. % enhanced,
  374. % drop lifted shadow,
  375. % colback=white,
  376. % boxrule=.25mm,
  377. % halign=center,
  378. % center
  379. % ]
  380. % \metapick[print]{titletext}
  381. % \end{tcolorbox}
  382. %
  383. % \footnotesize
  384. % \altableofcontents
  385. % \listoftables
  386. % \normalsize
  387. %
  388. % \begin{abstract}
  389. % This package provides for {\LuaLaTeX} an Arab{\TeX}-like interface
  390. % to generate Arabic writing from an \textsc{ascii}
  391. % transliteration. It is particularly well-suited for complex
  392. % documents such as technical documents or critical editions where a
  393. % lot of left-to-right commands intertwine with Arabic
  394. % writing. \package{arabluatex} is able to process any Arab\TeX\
  395. % input notation. Its output can be set in the same modes of
  396. % vocalization as Arab\TeX, or in different roman
  397. % transliterations. It further allows many typographical
  398. % refinements. It will eventually interact with some other packages
  399. % yet to come to produce from \verb|.tex| source files, in addition
  400. % to printed books, \texttt{TEI xml} compliant critical editions
  401. % and/or lexicons that can be searched, analyzed and correlated in
  402. % various ways.
  403. % \end{abstract}
  404. %
  405. % \section*{License and Disclaimer}
  406. % \addcontentsline{toc}{section}{License and disclamer}
  407. % \subsection*{License Applicable to this Document}
  408. % \pdfbookmark[2]{Licence applicable to this document}{copyright-doc}
  409. % \leavevmode\marginpar{\hfill\texttt{fdl1.3}}
  410. % \metapick[print]{rightstext} (See below \vref{sec:fdl}.)
  411. %
  412. % \subsection*{License Applicable to the Software}
  413. % \pdfbookmark[2]{Licence applicable to the software}{copyright-soft}
  414. % \label{sec:license-software}
  415. %
  416. % \package{arabluatex} --- \metapick[print]{subtitle}
  417. % \metapick[print]{copyrightstatement}
  418. %
  419. % Please send error reports and suggestions for improvements to Robert
  420. % Alessi:
  421. % \begin{itemize}
  422. % \item email: \mailto[arabluatex package]{alessi@roberalessi.net}
  423. % \item website: \url{http://www.robertalessi.net/arabluatex}
  424. % \item development: \url{http://git.robertalessi.net/arabluatex}
  425. % \item comments, feature requests, bug reports:
  426. % \url{https://gitlab.com/ralessi/arabluatex/issues}
  427. % \end{itemize}
  428. %
  429. % \leavevmode\marginpar{\hfill\texttt{gpl3+}}
  430. % This program is free software: you can redistribute it and/or modify
  431. % it under the terms of the GNU General Public License as published by
  432. % the Free Software Foundation, either version 3 of the License, or
  433. % (at your option) any later version.
  434. %
  435. % This program is distributed in the hope that it will be useful, but
  436. % WITHOUT ANY WARRANTY; without even the implied warranty of
  437. % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  438. % General Public License for more details.
  439. %
  440. % You should have received a copy of the GNU General Public License
  441. % along with this program. If not, see
  442. % \href{http://www.gnu.org/licenses}%
  443. % {\texttt{<http://www.gnu.org/licenses/>}}.
  444. %
  445. % This release of \package{arabluatex} consists of the following
  446. % source files:
  447. % \begin{itemize}
  448. % \item |arabluatex.ins|
  449. % \item |arabluatex.dtx|
  450. % \item |arabluatex.lua|
  451. % \item |arabluatex_voc.lua|
  452. % \item |arabluatex_fullvoc.lua|
  453. % \item |arabluatex_novoc.lua|
  454. % \item |arabluatex_trans.lua|
  455. % \item |arabluatex.el|
  456. % \end{itemize}
  457. %
  458. % \section{Introduction}
  459. % In comparison to Prof.\ Lagally's outstanding Arab\TeX,\footnote{See
  460. % \url{http://ctan.org/pkg/arabtex}} Arab{\LuaTeX} is at present
  461. % nothing more than a modest piece of software. Hopefully---if I may
  462. % say so---it will eventually provide all of its valuable qualities to
  463. % the {\LuaLaTeX} users.
  464. %
  465. % \package{arabtex} dates back to 1992. As far as I know, it was then
  466. % the first and only way to typeset Arabic texts with \TeX\ and
  467. % \LaTeX. To achieve that, \package{arabtex} provided---and still
  468. % does---an Arabic font in \arb[trans]{\uc{nasxI}} style and a macro
  469. % package that defined its own input notation which was, as the author
  470. % stated, \enquote{both machine, and human, readable, and suited for
  471. % electronic transmission and e-mail
  472. % communication}.\footnote{\textcite[2]{pkg:arabtex}.} Even if the
  473. % same can be said about Unicode, Arab\TeX\ \textsc{ASCII} input
  474. % notation still surpasses Unicode input, in my opinion, when it comes
  475. % to typesetting complex documents, such as scientific documents or
  476. % critical editions where footnotes and other kind of annotations can
  477. % be particulary abundant. It must also be said that most text editors
  478. % have trouble in displaying Arabic script connected with preceding or
  479. % following \LaTeX\ commands: it often happens that commands seem
  480. % misplaced, not to mention punctuation marks, or opening or closing
  481. % braces, brackets or parentheses that are unexpectedly displayed in
  482. % the wrong direction. Of course, some text editors provide ways to
  483. % get around such difficulties by inserting invisible Unicode
  484. % characters, such as LEFT-TO-RIGHT or RIGHT-TO-LEFT MARKS
  485. % (\texttt{U+200E}, \texttt{U+200F}), RTL/LTR \enquote{embed}
  486. % characters (\texttt{U+202B}, \texttt{U+202A}) and RLO/LRO
  487. % \enquote{bidi-override} characters (\texttt{U+202E},
  488. % \texttt{U+202D}).\footnote{Gáspár Sinai's Yudit probably has the
  489. % best Unicode support. See \url{http://www.yudit.org}.} Nonetheless,
  490. % it remains that inserting all the time these invisible characters in
  491. % complex documents rapidly becomes confusing and cumbersome.
  492. %
  493. % The great advantage of Arab\TeX\ notation is that it is immune from
  494. % all these difficulties, let alone its being clear and
  495. % straightforward. One also must remember that computers are designed
  496. % to process code. Arab\TeX\ notation is a way of encoding Arabic
  497. % language, just as \TeX\ \enquote{mathematics mode} is a way of
  498. % processing code to display mathematics. As such, not only does it
  499. % allow greater control over typographical features, but it also can
  500. % be processed in several different ways: so without going into
  501. % details, depending on one's wishes, Arab\TeX\ input can be full
  502. % vocalized Arabic (\emph{scriptio plena}), vocalized Arabic or
  503. % non-vocalized Arabic (\emph{scriptio defectiva}); it further can be
  504. % transliterated into whichever romanization standard the user may
  505. % choose.
  506. %
  507. % \label{ref:tei-to-come}
  508. % But there may be more to be said on that point, as encoding Arabic
  509. % also naturally encourages the coder to vocalize the texts---without
  510. % compelling him to do so, of course. Accurate coding may even have
  511. % other virtuous effects. For instance, hyphens may be used for tying
  512. % particles or prefixes to words, or to mark inflectional endings, and
  513. % so forth. In other words, accurate coding produces accurate texts
  514. % that can stand to close grammatical scrutiny and to complex textual
  515. % searches as well.
  516. %
  517. % Having that in mind, I started \package{arabluatex}. With the help
  518. % of Lua, it will eventually interact with some other packages yet to
  519. % come to produce from \verb|.tex| source files, in addition to
  520. % printed books, \texttt{TEI xml} compliant critical editions and/or
  521. % lexicons that can be searched, analyzed and correlated in various
  522. % ways.
  523. %
  524. %\subsection{\package{arabluatex} is for {\LuaLaTeX}}
  525. % It goes without saying that \package{arabluatex} requires
  526. % {\LuaLaTeX}. \TeX\ and \LaTeX\ have \package{arabtex}, and
  527. % {\XeLaTeX} has \package{arabxetex}. Both of them are much more
  528. % advanced than \package{arabluatex}, as they can process a number of
  529. % different languages,\footnote{\label{fn:arabtex-languages}To date,
  530. % both packages support Arabic, Maghribi, Urdu, Pashto, Sindhi,
  531. % Kashmiri, Uighuric and Old Malay; in addition to these,
  532. % \package{arabtex} also has a Hebrew mode, including Judeo-Arabic and
  533. % Yiddish.} whereas \package{arabluatex} can process only Arabic for
  534. % the time being. More languages will be included in future releases
  535. % of \package{arabluatex}.
  536. %
  537. % In comparison to \package{arabxetex}, \package{arabluatex} works in
  538. % a very different way. The former relies on the
  539. % \href{http://scripts.sil.org/TECkitIntro}{\texttt{TECkit}} engine
  540. % which converts Arab\TeX\ input on the fly into Unicode Arabic
  541. % script, whereas the latter passes Arab\TeX\ input on to a set of Lua
  542. % functions. At first, \LaTeX\ commands are taken care of in different
  543. % ways: some, as \cs{emph}, \cs{textbf} and the like are expected to
  544. % have Arabic text as arguments, while others, as \cs{LR}, for
  545. % \enquote{left-to-right text}, are not. Then, once what is Arabic is
  546. % carefully separated form what is not, it is processed by other Lua
  547. % functions which rely on different sets of correpondence tables to do
  548. % the actual conversion in accordance with one's wishes. Finally, Lua
  549. % returns to \TeX\ the converted strings---which may in turn contain
  550. % some other Arab\TeX\ input yet to be processed---for further
  551. % processing.
  552. %
  553. % \section{The basics of \package{arabluatex}}
  554. % \subsection{Activating \package{arabluatex}}
  555. % \package{arabluatex} is loaded the usual way:\\
  556. % \tcboxverb{\usepackage{arabluatex}}\\
  557. % The only requirement of \package{arabluatex} is {\LuaLaTeX};
  558. % it will complain if the document is compiled with another
  559. % engine. That aside, \package{arabluatex} does not load packages such
  560. % as \package{polyglossia}. Although it can work with
  561. % \package{polyglossia}, it does not require it.
  562. %
  563. % \paragraph{Font setup}
  564. % Any Arabic font can be defined to be used with
  565. % \package{arabluatex}. For example, assuming that \package{fontspec}
  566. % is loaded, this line may be inserted in the preamble, just above the
  567. % line that loads \package{arabluatex}:
  568. % \arabluabox{\cs{newfontfamily}\cs{arabicfont}\marg{fontname}[Script=Arabic]}
  569. % \noindent where \meta{fontname} is the standard name of the Arabic
  570. % font to be used.
  571. %
  572. % By default, if no Arabic font is selected, \package{arabluatex} will
  573. % issue a warning message and attempt to load the Amiri
  574. % font\footnote{\textcite{pkg:amiri}.} like so:---\\
  575. % \tcboxverb{\newfontfamily\arabicfont{Amiri}[Script=Arabic]}
  576. % \begin{quoting}
  577. % \textsc{Rem.} By default Amiri places the \arb[trans]{kasraT} in
  578. % combination with the \arb[trans]{ta^sdId} below the consonant,
  579. % like so: \arb{BBi}\,. That is correct, as at least in the oldest
  580. % manuscripts {\renewfontfamily\arabicfont{Amiri}[Script=Arabic,
  581. % RawFeature={+ss05}]\arb{BBi}} may stand for \arb{BBa} as
  582. % well as \arb{BBi}\,. See \textcite[i. 14 C--D]{Wright}. The placement
  583. % of the \arb[trans]{kasraT} above the consonant may be obtained by
  584. % selecting the |ss05| feature of the Amiri font, like
  585. % so:---\footnote{See the documentation of \package{amiri},
  586. % \textcite[6]{pkg:amiri}.}\\
  587. % \tcboxverb{\newfontfamily\arabicfont{Amiri}[Script=Arabic,RawFeature={+ss05}]}
  588. %
  589. % Other Arabic fonts may behave differently.
  590. % \end{quoting}
  591. %
  592. % \subsection{Options}
  593. % \label{sec:options}
  594. % \package{arabluatex} may be loaded with five global options, the
  595. % first four of which are mutually exclusive and may be overriden at
  596. % any point of the document (see below \vref{sec:local-options}):
  597. %
  598. % \DescribeOption{voc}\hfill\tcboxverb{Default}\\ In this mode,
  599. % which is the one selected by default, every short vowel written
  600. % generates its corresponding diacritical mark: \arb[trans]{.dammaT}
  601. % (\arb{Bu}), \arb[trans]{fat.haT} (\arb{Ba}) and \arb[trans]{kasraT}
  602. % (\arb{Bi}). If a vowel is followed by |N|, viz. \meta{uN, aN, iN},
  603. % then the corresponding \arb[trans]{tanwIn} (\arb{BuN}, \arb{B|aN}\,,
  604. % \arb{TaN}, \arb{BaN_A} or \arb{BiN}) is generated. Finally, \meta{u,
  605. % a, i} at the commencement of a word indicate a \enquote{connective
  606. % \arb[trans]{'alif}\,} (\arb[trans]{'alifu 'l-wa.sli}), but |voc|
  607. % mode does not show the \arb[trans]{wa.slaT} above the
  608. % \arb[trans]{'alif}; instead, the accompanying vowel may be expressed
  609. % at the beginning of a sentence (\arb{u} \arb{a} \arb{i}).
  610. %
  611. % \DescribeOption{fullvoc}\\ \label{fullvoc-mode}In addition to what
  612. % the |voc| mode does, |fullvoc| expresses the \arb[trans]{sukUn} and
  613. % the \arb[trans]{wa.slaT}.
  614. %
  615. % \DescribeOption{novoc}\\ None of the diacritics is showed in |novoc|
  616. % mode, unless otherwise specified (see \enquote{quoting} technique
  617. % below \vref{sec:quoting}).
  618. %
  619. % \DescribeOption{trans} \\ \label{ref:describe-trans}This mode
  620. % transliterates the Arab\TeX\ input into one of the accepted
  621. % standards. At present, three standards are supported (see below
  622. % \vref{sec:transliteration} for more details):
  623. % \begin{description}
  624. % \item[dmg] \emph{Deutsche Morgenländische Gesellschaft}, which is
  625. % selected by default;
  626. % \item[loc] \emph{Library of Congress};
  627. % \item[arabica] \emph{Arabica}.
  628. % \end{description}
  629. % More standards will be included in future releases of
  630. % \package{arabluatex}.
  631. %
  632. % \label{ref:export-global-opt}
  633. % \DescribeOption{export} |export|$=$|true|\verb+|+|false|
  634. % \hfill\tcboxverb{Default: false}\\ \label{export-mode}
  635. % \newfeature[v.1.13] This option acts as a named argument and does
  636. % not need a value as it defaults to |true| if it is used. It enables
  637. % \package{arabluatex} to produce a duplicate of the original |.tex|
  638. % source file in which all \textsc{ascii} strings are replaced with
  639. % Unicode equivalents. See below \vref{sec:arabtex2utf} for more
  640. % information.
  641. %
  642. % \subsubsection{Classic contrasted with modern typesetting of Arabic}
  643. % \label{sec:classic-modern-typesetting}
  644. % \newfeature[v.1.2] By default, \package{arabluatex} typesets Arabic
  645. % in a classic, traditional style the most prominent features of which
  646. % are the following:
  647. % \begin{itemize}
  648. % \item \enquote*{Classic} \arb[trans]{maddaT}: when
  649. % \arb[trans]{'alif} and \arb[trans]{hamzaT} accompanied by a simple
  650. % vowel or \arb[trans]{tanwIn} is preceded by an \arb[trans]{'alif} of
  651. % prolongation (\arb[voc]{BA}), then a mere \arb[trans]{hamzaT} is
  652. % written on the line, and a \arb[trans]{maddaT} is placed over the
  653. % \arb[trans]{'alif}, like so:---
  654. % \begin{quote}
  655. % |samA'uN| \arb[voc]{samA'uN} \arb[trans]{samA'uN}, |jA'a|
  656. % \arb[voc]{jA'a} \arb[trans]{jA'a}, |yatasA'alUna|
  657. % \arb[voc]{yatasA'alUna} \arb[trans]{yatasA'alUna}\footnote{Note
  658. % that in old mss. such forms as \arb[voc]{samA"'a"'a},
  659. % \arb[voc]{jA"'a"'a} are also found; see \textcite[i. 24
  660. % D]{Wright}.} (see \vpageref{ref:madda} for further details).
  661. % \end{quote}
  662. % \item The euphonic \arb[trans]{ta^sdId} is generated (see
  663. % \vpageref{ref:euphonic-tashdid}).
  664. % \item In |fullvoc| mode, the \arb[trans]{sukUn} is expressed.
  665. % \item In such words as \arb{^say'aN}, \arb{.zim'aN} and the like,
  666. % the \arb[trans]{hamzaT} alone is not written over the letter
  667. % \arb[trans]{yA'} with no diacritical points below as in
  668. % \arb{^sayy"'aN}, \arb{.zimy"'aN}, but over a horizontal stroke
  669. % placed in the continuation of the preceding letter. %
  670. % \iffalse
  671. %<*example>
  672. % \fi
  673. \begin{tcblisting}{text only}
  674. Please note that only few Arabic fonts provide such contrivances. In
  675. case this feature is not supported by some Arabic font, it is
  676. advisable to use \cs{SetArbEasy}.
  677. \end{tcblisting}
  678. % \iffalse
  679. %</example>
  680. % \fi
  681. % \end{itemize}
  682. %
  683. % \DescribeMacro{\SetArbEasy} \newfeature[v1.4.4] Such refinements as
  684. % \enquote*{classic} \arb[trans]{maddaT} may be discarded by the
  685. % \cs{SetArbEasy} command, either globally in the preamble or locally
  686. % at any point of the document. The difference between \cs{SetArbEasy}
  687. % and its \enquote*{starred} version
  688. % \DescribeMacro{\SetArbEasy*}\cs{SetArbEasy*} is that the former
  689. % keeps the \arb[trans]{sukUn} that is generated by the |fullvoc|
  690. % mode, while the latter further takes it away. Default
  691. % \enquote*{classic} rules may be set back at any point of the
  692. % document with the \DescribeMacro{\SetArbDflt}\cs{SetArbDflt}
  693. % command. \newfeature[v1.6] \DescribeMacro{\SetArbDflt*}Assimilation
  694. % rules laid on \vref{ref:assimilation} may also be applied by the
  695. % \enquote*{starred} version of this command \cs{SetArbDflt*} either
  696. % in the preamble or at any point of the document.\footnote{For an
  697. % example, see \vref{sec:poetry-example}.} Examples follow:---
  698. % \begin{enumerate}
  699. % \item \cs{SetArbDflt}:
  700. % \begin{enumerate}
  701. % \item |voc| \arb[voc]{wa-mAta istisqA'aN qabla 'an yutimma
  702. % kitAba-hu fI nujUm-i 'l-samA'-i}
  703. % \item |fullvoc| \arb[fullvoc]{wa-mAta istisqA'aN qabla 'an yutimma
  704. % kitAba-hu fI nujUm-i 'l-samA'-i}
  705. % \item |trans| \arb[trans]{wa-mAta istisqA'aN qabla 'an yutimma
  706. % kitAba-hu fI nujUm-i 'l-samA'-i}
  707. % \end{enumerate}
  708. % \item \cs{SetArbDflt*}:
  709. % \begin{enumerate}\SetArbDflt*
  710. % \item |voc| \arb[voc]{wa-mAta istisqA'aN qabla 'an yutimma
  711. % kitAba-hu fI nujUm-i 'l-samA'-i}
  712. % \item |fullvoc| \arb[fullvoc]{wa-mAta istisqA'aN qabla 'an yutimma
  713. % kitAba-hu fI nujUm-i 'l-samA'-i}
  714. % \item |trans| \arb[trans]{wa-mAta istisqA'aN qabla 'an yutimma
  715. % kitAba-hu fI nujUm-i 'l-samA'-i}\SetArbDflt
  716. % \end{enumerate}
  717. % \item \cs{SetArbEasy}:
  718. % \begin{enumerate}\SetArbEasy
  719. % \item |voc| \arb[voc]{wa-mAta istisqA'aN qabla 'an yutimma
  720. % kitAba-hu fI nujUm-i 'l-samA'-i}
  721. % \item |fullvoc| \arb[fullvoc]{wa-mAta istisqA'aN qabla 'an yutimma
  722. % kitAba-hu fI nujUm-i 'l-samA'-i}
  723. % \item |trans| \arb[trans]{wa-mAta istisqA'aN qabla 'an yutimma
  724. % kitAba-hu fI nujUm-i 'l-samA'-i}\SetArbDflt
  725. % \end{enumerate}
  726. % \item \cs{SetArbEasy*}:
  727. % \begin{enumerate}\SetArbEasy*
  728. % \item |voc| \arb[voc]{wa-mAta istisqA'aN qabla 'an yutimma
  729. % kitAba-hu fI nujUm-i 'l-samA'-i}
  730. % \item |fullvoc| \arb[fullvoc]{wa-mAta istisqA'aN qabla 'an yutimma
  731. % kitAba-hu fI nujUm-i 'l-samA'-i}
  732. % \item |trans| \arb[trans]{wa-mAta istisqA'aN qabla 'an yutimma
  733. % kitAba-hu fI nujUm-i 'l-samA'-i}\SetArbDflt
  734. % \end{enumerate}
  735. % \end{enumerate}
  736. %
  737. % \iffalse
  738. %<*example>
  739. % \fi
  740. \begin{tcblisting}{text only}
  741. Please note that this document is typeset with \cs{SetArbDflt}
  742. throughout.
  743. \end{tcblisting}
  744. % \iffalse
  745. %</example>
  746. % \fi
  747. %
  748. %\subsection{Typing Arabic}
  749. % \DescribeMacro{\arb} Once \package{arabluatex} is loaded, a
  750. % \cs{arb}\marg{Arabic text} command is available for inserting Arabic
  751. % text in paragraphs, like so:---%
  752. % \iffalse
  753. %<*example>
  754. % \fi
  755. \begin{example}
  756. From \textcite[i. 1 A]{Wright}:--- Arabic, like Hebrew and
  757. Syriac, is written and read from right to left. The letters
  758. of the alphabet (\arb{.hurUf-u 'l-hijA'-i}, \arb{.hurUf-u
  759. 'l-tahajjI}, \arb{al-.hurUf-u 'l-hijA'iyyaT-u}, or
  760. \arb{.hurUf-u 'l-mu`jam-i}) are twenty-eight in number and
  761. are all consonants, though three of them are also used as
  762. vowels (see §~3).
  763. \end{example}
  764. % \iffalse
  765. %</example>
  766. % \fi
  767. %
  768. % The following example comes from \textcite[i. 213
  769. % C]{Wright}:--- %
  770. % \iffalse
  771. %<*example>
  772. % \fi
  773. \begin{example}
  774. \begin{enumerate}[label=\Roman*., start=16]
  775. \item \arb{fawA`ilu}*.
  776. \begin{enumerate}[label=\arabic*.]
  777. \item \arb{fA`aluN}; as \arb{_hAtamuN} \emph{a
  778. signet-ring}, ...
  779. \end{enumerate}
  780. \end{enumerate}
  781. \end{example}
  782. % \iffalse
  783. %</example>
  784. % \fi
  785. %
  786. % \DescribeEnv{arab} Running paragraphs of Arabic text should rather
  787. % be placed inside an \emph{Arabic environment}
  788. %
  789. % \iffalse
  790. %<*example>
  791. % \fi
  792. \begin{code}
  793. \begin{arab}
  794. [...]
  795. \end{arab}
  796. \end{code}
  797. % \iffalse
  798. %</example>
  799. % \fi
  800. % like so:---\label{ref:juha-code}
  801. % \setquotestyle{arabic}
  802. % \iffalse
  803. %<*example>
  804. % \fi
  805. \begin{example}
  806. \begin{arab}
  807. 'at_A .sadIquN 'il_A ju.hA ya.tlubu min-hu .himAra-hu
  808. li-yarkaba-hu fI safraTiN qa.sIraTiN fa-qAla la-hu:
  809. \enquote{sawfa 'u`Idu-hu 'ilay-ka fI 'l-masA'-i
  810. wa-'adfa`u la-ka 'ujraTaN.} fa-qAla ju.hA:
  811. \enquote{'anA 'AsifuN jiddaN 'annI lA 'asta.tI`u 'an
  812. 'u.haqqiqa la-ka ra.gbata-ka fa-'l-.himAr-u laysa hunA
  813. 'l-yawm-a.} wa-qabla 'an yutimma ju.hA kalAma-hu bada'a
  814. 'l-.himAr-u yanhaqu fI 'i.s.tabli-hi. fa-qAla la-hu
  815. .sadIqu-hu: \enquote{'innI 'asma`u .himAra-ka yA ju.hA
  816. yanhaqu.} fa-qAla la-hu ju.hA: \enquote{.garIbuN
  817. 'amru-ka yA .sadIqI 'a-tu.saddiqu 'l-.himAr-a
  818. wa-tuka_d_diba-nI?}
  819. \end{arab}
  820. \end{example}
  821. % \iffalse
  822. %</example>
  823. % \fi
  824. % \setquotestyle{english}
  825. %
  826. % \subsubsection{Local options}
  827. % \label{sec:local-options}
  828. % As seen above in \vref{sec:options}, \package{arabluatex} may be
  829. % loaded with four mutually exclusive global options: |voc| (which is
  830. % the default option), |fullvoc|, |novoc| and |trans|. Whatever choice
  831. % has been made globally, it may be overriden at any point of the
  832. % document, as the \cs{arb} command may take any of the |voc|,
  833. % |fullvoc|, |novoc| or |trans| modes as optional argument, like
  834. % so:---
  835. % \begin{itemize}
  836. % \item \DescribeOption{voc} \cs{arb}|[voc]|\marg{Arabic text};
  837. % \item \DescribeOption{fullvoc} \cs{arb}|[fullvoc]|\marg{Arabic text};
  838. % \item \DescribeOption{novoc} \cs{arb}|[novoc]|\marg{Arabic text};
  839. % \item \DescribeOption{trans} \cs{arb}|[trans]|\marg{Arabic text}.
  840. % \end{itemize}
  841. %
  842. % The same optional arguments may be passed to the environment |arab|:
  843. % one may have \cs{begin}|{arab}|\oarg{mode}|...|\cs{end}|{arab}|,
  844. % where \meta{mode} may be any of |voc|, |fullvoc|, |novoc| or
  845. % |trans|.
  846. %
  847. % \section{Standard Arab\TeX\ input}
  848. % \subsection{Consonants}
  849. % \Vref{tab:arabtex-consonants} gives the Arab\TeX\ equivalents for
  850. % all of the Arabic consonants.
  851. %
  852. % \newcommand{\dmg}[1]{%
  853. % \SetTranslitConvention{dmg}%
  854. % \arb[trans]{#1}}
  855. % \newcommand{\loc}[1]{%
  856. % \SetTranslitConvention{loc}%
  857. % \arb[trans]{#1}\SetTranslitConvention{dmg}}
  858. % \newcommand{\brill}[1]{%
  859. % \SetTranslitConvention{arabica}%
  860. % \arb[trans]{#1}\SetTranslitConvention{dmg}}
  861. % \begin{longtable}{lllll}
  862. % \bottomrule
  863. % \caption[]{Standard Arab\TeX\ (consonants)}
  864. % \endfoot
  865. % \toprule
  866. % \captionlistentry{Standard Arab\TeX\ (consonants)}
  867. % Letter & \multicolumn{3}{l}{Transliteration\footnotemark}
  868. % & Arab\TeX\ notation \\
  869. % & \texttt{dmg} & \texttt{loc} & \texttt{arabica} & \\ \midrule
  870. % \endfirsthead
  871. % \toprule
  872. % Letter & \multicolumn{3}{l}{Transliteration}
  873. % & Arab\TeX\ notation \\
  874. % & \texttt{dmg} & \texttt{loc} & \texttt{arabica} & \\ \midrule
  875. % \endhead \footnotetext{See below \vref{sec:transliteration}.}
  876. % \label{tab:arabtex-consonants}
  877. % \arb[voc]{'i 'a 'u}\footnote{See below, \emph{Rem{.} a.} For
  878. % \arb[trans]{'alif} as a consonant, see \textcite[i. 16
  879. % D]{Wright}. The \arb[trans]{hamzaT} itself is encoded \texttt{<'>}
  880. % and may be followed by either \meta{u, a} or \meta{i}. See below
  881. % \vref{ref:hamza}.} & \dmg{'u, 'a, 'i} &
  882. % \loc{|'u, |'a, |'i} & \brill{|'u, |'a, |'i} & |'u| or |'a| or |'i| \\
  883. % \arb[novoc]{b} & \dmg{b} & \loc{b} & \brill{b} & |b| \\
  884. % \arb[novoc]{t} & \dmg{t} & \loc{t} & \brill{t} & |t| \\
  885. % \arb[novoc]{_t} & \dmg{_t} & \loc{_t} & \brill{_t} & |_t| \\
  886. % \arb[novoc]{j} & \dmg{j} & \loc{j} & \brill{j} & |^g| or |j| \\
  887. % \arb[novoc]{.h} & \dmg{.h} & \loc{.h} & \brill{.h} & |.h| \\
  888. % \arb[novoc]{x} & \dmg{x} & \loc{x} & \brill{x} & |_h| or |x|\\
  889. % \arb[novoc]{d} & \dmg{d} & \loc{d} & \brill{d} & |d| \\
  890. % \arb[novoc]{_d} & \dmg{_d} & \loc{_d} & \brill{_d} & |_d| \\
  891. % \arb[novoc]{r} & \dmg{r} & \loc{r} & \brill{r} & |r| \\
  892. % \arb[novoc]{z} & \dmg{z} & \loc{z} & \brill{z} & |z| \\
  893. % \arb[novoc]{s} & \dmg{s} & \loc{s} & \brill{s} & |s| \\
  894. % \pagebreak[1]
  895. % \arb[novoc]{^s} & \dmg{^s} & \loc{^s} & \brill{^s} & |^s| \\
  896. % \arb[novoc]{.s} & \dmg{.s} & \loc{.s} & \brill{.s} & |.s| \\
  897. % \arb[novoc]{.d} & \dmg{.d} & \loc{.d} & \brill{.d} & |.d| \\
  898. % \arb[novoc]{.t} & \dmg{.t} & \loc{.t} & \brill{.t} & |.t| \\
  899. % \arb[novoc]{.z} & \dmg{.z} & \loc{.z} & \brill{.z} & |.z| \\
  900. % \arb[novoc]{`} & \dmg{`} & \loc{`} & \brill{`} & |`| \\
  901. % \arb[novoc]{.g} & \dmg{.g} & \loc{.g} & \brill{.g} & |.g| \\
  902. % \arb[novoc]{f} & \dmg{f} & \loc{f} & \brill{f} & |f| \\
  903. % \arb[novoc]{q} & \dmg{q} & \loc{q} & \brill{q} & |q| \\
  904. % \arb[novoc]{k} & \dmg{k} & \loc{k} & \brill{k} & |k| \\
  905. % \arb[novoc]{l} & \dmg{l} & \loc{l} & \brill{l} & |l| \\
  906. % \arb[novoc]{m} & \dmg{m} & \loc{m} & \brill{m} & |m| \\
  907. % \arb[novoc]{n} & \dmg{n} & \loc{n} & \brill{n} & |n| \\
  908. % \arb[novoc]{h} & \dmg{h} & \loc{h} & \brill{h} & |h| \\
  909. % \arb[novoc]{w} & \dmg{w} & \loc{w} & \brill{w} & |w| \\
  910. % \arb[novoc]{y} & \dmg{y} & \loc{y} & \brill{y} & |y|\footnote{For
  911. % the letter \arb[novoc]{.y} with no diacritical points below, see
  912. % \emph{Rem{.} b.} below.} \\
  913. % \arb[novoc]{T} & \dmg{aT} & \loc{aT} & \brill{aT} & |T| \\
  914. % \end{longtable}
  915. % \begin{quoting}
  916. % \textsc{Rem.}~\emph{a.} Please note that in all cases of elision,
  917. % the \arb[trans]{'alifu 'l-wa.sli} is expressed only by the vowel
  918. % that accompanies the omitted \arb[trans]{hamzaT}: \meta{u, a, i}
  919. % as in |wa-inhazama| \arb[fullvoc]{wa-inhazama}
  920. % \arb[trans]{wa-inhazama}. For more details on the definite article
  921. % and the \arb[trans]{'alifu 'l-wa.sli} see
  922. % \vref{ref:definite-article}.
  923. %
  924. % That said, \arb{.A} as a consonant is actually the \emph{spiritus
  925. % lenis} of the Greeks and is distinguished by the
  926. % \arb[trans]{hamzaT} \arb[novoc]{(|"')} as it is shown in the above
  927. % table. However, the bare \arb[trans]{'alif} may also be encoded as
  928. % |.A| whether it be followed by a vowel or not, like so: |wa-.An|
  929. % \arb{wa-.An} \arb[trans]{wa-.An} (where the dot symbolizes the
  930. % absence of vowel), |wa-.Aan| \arb{wa-.Aan} \arb[trans]{wa-.Aan},
  931. % |wa-.Ain| \arb{wa-.Ain} \arb[trans]{wa-.Ain}.
  932. %
  933. % \textsc{Rem.}~\emph{b.} The letter \arb[novoc]{y} with two points
  934. % below, \arb{al-yA'u 'l-mu_tannATu min ta.hti-hA}, may also be
  935. % written without diacritical points as \arb[novoc]{Y}. When it is
  936. % used as a consonant, it is encoded |aY|, where |a| recalls the
  937. % \arb[trans]{fat.haT} placed above the preceding letter in
  938. % vocalized Arabic, like so: |qaY'uN| \arb{qaY'uN}
  939. % \arb[trans]{qaY'uN}, |^saY'uN| \arb{^saY'uN} \arb[trans]{^saY'uN},
  940. % |^saY'aN| \arb[trans]{^saY'aN} \arb{^saY'aN}.
  941. %
  942. % The same result may be achieved by encoding this letter as |.y|,
  943. % like so: |qa.y'uN| \arb{qa.y'uN} \arb[trans]{qa.y'uN}, |^sa.y'uN|
  944. % \arb{^sa.y'uN} \arb[trans]{^sa.y'uN}, |^sa.y'aN|
  945. % \arb[trans]{^sa.y'aN} \arb{^sa.y'aN}.
  946. % \end{quoting}
  947. %
  948. % \subsection{Additional characters}
  949. % \changes{v1.8.5}{2017/06/20}{Six additional Persian characters are
  950. % now available}
  951. % \newfeature[v1.8.5]\Vref{tab:arabtex-additional-characters} gives
  952. % the Arab\TeX\ equivalents for some additional Persian characters.
  953. %
  954. % \begin{longtable}{lllll}
  955. % \bottomrule
  956. % \caption[]{Standard Arab\TeX\ (additional characters)}
  957. % \endfoot
  958. % \toprule
  959. % \captionlistentry{Standard Arab\TeX\ (additional characters)}
  960. % Letter & \multicolumn{3}{l}{Transliteration\footnotemark}
  961. % & Arab\TeX\ notation \\
  962. % & \texttt{dmg} & \texttt{loc} & \texttt{arabica}\footnotemark
  963. % & \\ \midrule
  964. % \endfirsthead
  965. % \toprule
  966. % Letter & \multicolumn{3}{l}{Transliteration}
  967. % & Arab\TeX\ notation \\
  968. % & \texttt{dmg} & \texttt{loc} & \texttt{arabica} & \\ \midrule
  969. % \endhead
  970. % \addtocounter{footnote}{-1}
  971. % \footnotetext{See below \vref{sec:transliteration}.}
  972. % \stepcounter{footnote}
  973. % \footnotetext{The characters that are listed in this table are not
  974. % included in this standard. However, as \texttt{arabica} is based on
  975. % \texttt{dmg}, the \texttt{dmg} equivalents have been used here.}
  976. % \label{tab:arabtex-additional-characters}
  977. % \hskip-1em\arb[novoc]{p} & \dmg{p} & \loc{p} & \brill{p} & \verb|p| \\
  978. % \arb[novoc]{^c} & \dmg{^c} & \loc{^c} & \brill{^c} & \verb|^c| \\
  979. % \pagebreak[1]
  980. % \arb[novoc]{^z} & \dmg{^z} & \loc{^z} & \brill{^z} & \verb|^z| \\
  981. % \arb[novoc]{v}\footnote{\label{fn:not-in-dmg}This character is not found in
  982. % \textcite[2]{dmg}. It is taken from the \textcite{din31635} standard.} &
  983. % \dmg{v} & \loc{v} & \brill{v} & \verb|v| \\
  984. % \arb[novoc]{g} & \dmg{g} & \loc{g} & \brill{g} & \verb|g| \\
  985. % \arb[novoc]{^n}\footnote{See \vref{fn:not-in-dmg}.} & \dmg{^n} &
  986. % \loc{^n} & \brill{^n} & \verb|^n| \\
  987. % \end{longtable}
  988. % \begin{quoting}
  989. % \textsc{Rem.} The alveolar consonants \arb[novoc]{^c} and
  990. % \arb[novoc]{^z} are processed as solar letters by
  991. % \package{arabluatex}.
  992. % \end{quoting}
  993. %
  994. % \subsection{Vowels}
  995. % \subsubsection{Long vowels}
  996. % \Vref{tab:arabtex-long-vowels} gives the Arab\TeX\ equivalents for
  997. % the Arabic long vowels.
  998. %
  999. % \begin{longtable}{lllll}
  1000. % \bottomrule
  1001. % \caption[]{Standard Arab\TeX\ (long vowels)}
  1002. % \endfoot
  1003. % \toprule
  1004. % \captionlistentry{Standard Arab\TeX\ (long vowels)}
  1005. % Letter & \multicolumn{3}{l}{Transliteration\footnotemark}
  1006. % & Arab\TeX\ notation \\
  1007. % & \texttt{dmg} & \texttt{loc} & \texttt{arabica} & \\ \midrule
  1008. % \endfirsthead
  1009. % \toprule
  1010. % Letter & \multicolumn{3}{l}{Transliteration}
  1011. % & Arab\TeX\ notation \\
  1012. % & \texttt{dmg} & \texttt{loc} & \texttt{arabica} & \\ \midrule
  1013. % \endhead \footnotetext{See below \vref{sec:transliteration}.}
  1014. % \label{tab:arabtex-long-vowels}
  1015. % \arb[novoc]{A} & \dmg{A} & \loc{A} & \brill{A} & \verb|A| \\
  1016. % \arb[novoc]{U} & \dmg{U} & \loc{U} & \brill{U} & \verb|U| \\
  1017. % \arb[novoc]{I} & \dmg{I} & \loc{I} & \brill{I} &
  1018. % \verb|I|\footnote{For the letter \arb[novoc]{I} with no diacritical
  1019. % points, see \emph{Rem{.} c.} below.} \\
  1020. % \arb[novoc]{_A}\footnote{$=$ \arb[trans]{al-'alif-u 'l-maq.sUraT-u}.}
  1021. % & \dmg{_A} & \loc{_A} & \brill{_A} & \verb|_A| or \verb|Y| \\
  1022. % \arb[novoc]{B_a} & \dmg{B_a} & \loc{B_a} & \brill{B_a} & \verb|_a| \\
  1023. % \arb[novoc]{B_u} & \dmg{B_u} & \loc{B_u} & \brill{B_u} & \verb|_u| \\
  1024. % \arb[novoc]{B_i} & \dmg{B_i} & \loc{B_i} & \brill{B_i} & \verb|_i| \\
  1025. % \end{longtable}
  1026. %
  1027. % \begin{quoting}
  1028. % \textsc{Rem.}~\emph{a.} The long vowels \arb[trans]{A, U, I},
  1029. % otherwise called \arb[trans]{.hurUf-u 'l-madd-i}, \emph{the
  1030. % letters of prolongation}, involve the placing of the short vowels
  1031. % \arb[trans]{Ba, Bu, Bi} before the letters \arb[novoc]{A},
  1032. % \arb[novoc]{U}, \arb[novoc]{I} respectively. \package{arabluatex}
  1033. % does that automatically in case any from |voc|, |fullvoc| or
  1034. % |trans| modes is selected e.g. \arb[voc]{qAla} \arb[trans]{qAla},
  1035. % \arb[voc]{qIla} \arb[trans]{qIla}, \arb[voc]{yaqUlu}
  1036. % \arb[trans]{yaqUlu}.
  1037. %
  1038. % \textsc{Rem.}~\emph{b.} Defective writings, such as
  1039. % \arb[novoc]{B_a}, \arb[trans]{al-'alif-u 'l-ma.h_dUfaT-u}, or
  1040. % defective writings of \arb[trans]{B_u} and \arb[trans]{B_i} are
  1041. % encoded |_a| |_u| and |_i| respectively, e.g. |_d_alika|
  1042. % \arb[voc]{_d_alika}, |al-mal_a'ikaT-u| |'l-ra.hm_an-u|
  1043. % \arb[voc]{al-mal_a'ikaT-u 'l-ra.hm_an-u}, |.hu_dayfaT-u| |bn-u|
  1044. % |'l-yamAn_i| \arb[fullvoc]{.hu_dayfaT-u bn-u 'l-yamAn_i} for
  1045. % \arb[trans]{\uc{.hu_dayfaT-u} bn-u 'l-\uc{yamAn_i}}, etc.
  1046. %
  1047. % \textsc{Rem.}~\emph{c.} The letter \arb[novoc]{y} with two points
  1048. % below, \arb{al-yA'u 'l-mu_tannATu min ta.hti-hA}, may also be
  1049. % written without diacritical points as \arb[novoc]{Y}. When it is
  1050. % used as a long vowel, it is encoded |iY|, where |i| recalls the
  1051. % \arb[trans]{kasraT} placed below the preceding letter in vocalized
  1052. % Arabic, like so: |liY| \arb{liY} \arb[trans]{liY}, |yam^siY|
  1053. % \arb{yam^siY} \arb[trans]{yam^siY}.
  1054. % \end{quoting}
  1055. %
  1056. % \subsubsection{Short vowels}
  1057. % \Vref{tab:arabtex-short-vowels} gives the Arab\TeX\ equivalents for
  1058. % the Arabic short vowels.
  1059. %
  1060. % \begin{longtable}{lllll}
  1061. % \bottomrule
  1062. % \caption[]{Standard Arab\TeX\ (short vowels)}
  1063. % \endfoot
  1064. % \toprule
  1065. % \captionlistentry{Standard Arab\TeX\ (short vowels)}
  1066. % Letter & \multicolumn{3}{l}{Transliteration\footnotemark}
  1067. % & Arab\TeX\ notation \\
  1068. % & \texttt{dmg} & \texttt{loc} & \texttt{arabica} & \\ \midrule
  1069. % \endfirsthead
  1070. % \toprule
  1071. % Letter & \multicolumn{3}{l}{Transliteration}
  1072. % & Arab\TeX\ notation \\
  1073. % & \texttt{dmg} & \texttt{loc} & \texttt{arabica} & \\ \midrule
  1074. % \endhead \footnotetext{See below \vref{sec:transliteration}.}
  1075. % \label{tab:arabtex-short-vowels}
  1076. % \arb[voc]{Ba} & \dmg{Ba} & \loc{Ba} & \brill{Ba} & \verb|a| \\
  1077. % \arb[voc]{Bu} & \dmg{Bu} & \loc{Bu} & \brill{Bu} & \verb|u| \\
  1078. % \arb[voc]{Bi} & \dmg{Bi} & \loc{Bi} & \brill{Bi} & \verb|i| \\
  1079. % \arb[voc]{BaN} & \dmg{BaN} & \loc{BaN} & \brill{BaN} & \verb|aN| \\
  1080. % \arb[voc]{BuN} & \dmg{BuN} & \loc{BuN} & \brill{BuN} & \verb|uN| \\
  1081. % \arb[voc]{BiN} & \dmg{BiN} & \loc{BiN} & \brill{BiN} & \verb|iN| \\
  1082. % \end{longtable}
  1083. %
  1084. % Whether Arabic texts be vocalized or not is essentially a matter of
  1085. % personal choice. So one may use |voc| mode and decide not to write
  1086. % vowels except at some particular places for disambiguation purposes,
  1087. % or use |novoc| mode, not write vowels---as |novoc| normally does not
  1088. % show them---except, again, where disambiguation is needed.\footnote{See
  1089. % below \vref{sec:quoting}.}
  1090. %
  1091. % \iffalse
  1092. %<*example>
  1093. % \fi
  1094. \begin{tcblisting}{text only}
  1095. However, it may be wise to always write the vowels, leaving to the
  1096. various modes provided by \package{arabluatex} to take care of
  1097. showing or not showing the vowels.
  1098. \end{tcblisting}
  1099. % \iffalse
  1100. %</example>
  1101. % \fi
  1102. %
  1103. % That said, there is no need to write the short vowels
  1104. % \arb[trans]{fat.haT}, \arb[trans]{.dammaT} or \arb[trans]{kasraT}
  1105. % except in the following cases:---
  1106. % \begin{itemize}
  1107. % \item at the commencement of a word, to indicate that a connective
  1108. % \arb[trans]{'alif} is needed, with the exception of the article (see
  1109. % below \vref{sec:quoting});
  1110. % \item when \package{arabluatex} needs to perform a contextual
  1111. % analysis to determine the carrier of the \arb[trans]{hamzaT};
  1112. % \item in the various transliteration modes, as vowels are always
  1113. % expressed in romanized Arabic.
  1114. % \end{itemize}
  1115. %
  1116. %\section{\package{arabluatex} in action}
  1117. %\subsection{The vowels and diphthongs}
  1118. % \paragraph{Short vowels} As said above, they are written \meta{a, u,
  1119. % i}:
  1120. % \begin{quote}
  1121. % |_halaqa| (or |xalaqa|) \arb[voc]{xalaqa} \arb[trans]{xalaqa},
  1122. % |^samsuN| \arb[voc]{^samsuN} \arb[trans]{^samsuN}, |karImuN|
  1123. % \arb[voc]{karImuN} \arb[trans]{\uc{karImuN}}.
  1124. %
  1125. % |bi-hi| \arb[voc]{bi-hi} \arb[trans]{bi-hi}, |'aqi.tuN|
  1126. % \arb[voc]{'aqi.tuN} \arb[trans]{'aqi.tuN}.
  1127. %
  1128. % |la-hu| \arb[voc]{la-hu} \arb[trans]{la-hu}, |.hujjaTuN|
  1129. % \arb[voc]{.hujjaTuN} \arb[trans]{.hujjaTuN}.
  1130. % \end{quote}
  1131. %
  1132. %\paragraph{Long vowels} They are written \meta{U, A, I}:
  1133. % \begin{quote}
  1134. % |qAla| \arb[voc]{qAla} \arb[trans]{qAla}, |bI`a| \arb[voc]{bI`a}
  1135. % \arb[trans]{bI`a}, |.tUruN| \arb[voc]{.tUruN} \arb[trans]{.tUruN},
  1136. % |.tInuN| \arb[voc]{.tInuN} \arb[trans]{.tInuN}, |murU'aTuN|
  1137. % \arb[voc]{murU'aTuN} \arb[trans]{murU'aTuN}.
  1138. % \end{quote}
  1139. %
  1140. % \paragraph{\texorpdfstring{\arb[trans]{'alif maq.sUraT}}{ʾalif
  1141. % maqṣūrah}} It is written \meta{\_A} or \meta{Y}:
  1142. % \begin{quote}
  1143. % |al-fat_A| \arb[voc]{al-fat_A} \arb[trans]{al-fat_A}, |al-maqh_A|
  1144. % \arb[voc]{al-maqh_A} \arb[trans]{al-maqh_A}, |'il_A|
  1145. % \arb[voc]{'il_A} \arb[trans]{'il_A}.
  1146. % \end{quote}
  1147. %
  1148. % \paragraph{\texorpdfstring{\arb[trans]{'alif} \emph{otiosum}}{ʾalif
  1149. % otiosum}} Said \arb[trans]{'alif-u 'l-wiqAyaT-i}, \enquote{the
  1150. % guarding \arb[trans]{'alif}}\,, after \arb[novoc]{U} at the end of a
  1151. % word, both when preceded by \arb[trans]{.dammaT} and by
  1152. % \arb[trans]{fat.haT} is written \meta{UA} or \meta{aW, aWA}:
  1153. % \begin{quote}
  1154. % |na.sarUA| \arb[voc]{na.sarUA} \arb[trans]{na.sarUA}, |katabUA|
  1155. % \arb[voc]{katabUA} \arb[trans]{katabUA}, |ya.gzUA|
  1156. % \arb[voc]{ya.gzUA} \arb[trans]{ya.gzUA}, |ramaW|
  1157. % \arb[fullvoc]{ramaW} \arb[trans]{ramaW}, |banaWA|
  1158. % \arb[fullvoc]{banaWA}, \arb[trans]{banaWA}.
  1159. % \end{quote}
  1160. %
  1161. % \paragraph{\texorpdfstring{\arb[trans]{'alif ma.h_dUfaT} and
  1162. % defective \arb[trans]{U, I}}{ʾalif maḥḏūfah and defective ū, ī}}
  1163. % They are written \meta{\_a, \_i \_u}:
  1164. % \begin{quote}
  1165. % |al-l_ah-u| \arb[voc]{al-l_ah-u} \arb[trans]{al-l_ah-u},
  1166. % |'il_ahuN| \arb[voc]{'il_ahuN} \arb[trans]{'il_ahuN}.
  1167. %
  1168. % |al-ra.hm_an-u| \arb[voc]{al-ra.hm_an-u}
  1169. % \arb[trans]{al-ra.hm_an-u}, |l_akin| \arb[voc]{l_akin}
  1170. % \arb[trans]{l_akin}, |h_ahunA| \arb[voc]{h_ahunA}
  1171. % \arb[trans]{h_ahunA}, |.hunayn-u| |bn-u| |'is.h_aq-a|
  1172. % \arb[voc]{.hunayn-u bn-u 'is.h_aq-a} \arb[trans]{\uc{.hunayn}-u
  1173. % bn-u \uc{'is.h_aq-a}}, |rabb_i| \arb[voc]{rabb_i}
  1174. % \arb[trans]{rabb_i}, |al-`A.s_i| \arb[voc]{al-`A.s_i}
  1175. % \arb[trans]{al-\uc{`A.s_i}}.
  1176. % \end{quote}
  1177. %
  1178. % \paragraph{\texorpdfstring{Silent
  1179. % \arb[novoc]{U}/\arb[novoc]{I}}{Silent ي/و}}
  1180. % Some words ending with \arb[voc]{BAT} are usually written
  1181. % \arb[voc]{BawT} or \arb[voc]{B_aUT} instead of \arb[voc]{BAT}: see
  1182. % \textcite[i. 12 A]{Wright}. \package{arabluatex} preserves that
  1183. % particular writing; the same applies to words ending in
  1184. % \arb[voc]{BayT} for \arb[voc]{BAT}\,. Long vowels \meta{U, I} shall
  1185. % receive no \arb[trans]{sukUn} after a \arb[trans]{'alif ma.h_dUfaT}
  1186. % and are discarded in |trans| mode:
  1187. % \begin{quote}
  1188. % |.hay_aUTuN| \arb[voc]{.hay_aUTuN} \arb[trans]{.hay_aUTuN},
  1189. % |.sal_aUTuN| \arb[voc]{.sal_aUTuN} \arb[trans]{.sal_aUTuN},
  1190. % |mi^sk_aUTuN| \arb[voc]{mi^sk_aUTuN} \arb[trans]{mi^s\-k_aUTuN},
  1191. % |tawr_aITuN| \arb[voc]{tawr_aITuN} \arb[trans]{tawr_aITuN}.
  1192. %
  1193. % And so also: |al-rib_aIT-u| \arb[voc]{al-rib_aIT-u}
  1194. % \arb[trans]{al-rib_aIT-u}.
  1195. % \end{quote}
  1196. %
  1197. % \paragraph{\texorpdfstring{\arb[trans]{\uc{`amruNU}}, and the silent
  1198. % \arb[novoc]{U}}{ʿAmrun, and the silent و}} To that name a silent
  1199. % \arb[novoc]{U} is added to distinguish it from
  1200. % \arb[trans]{\uc{`umar-u}}: see \textcite[i. 12 C]{Wright}. In no way
  1201. % this affects the sound of the \arb[trans]{tanwIn}, so it has to be
  1202. % discarded in |trans| mode:
  1203. % \begin{quote}
  1204. % |`amruNU| \arb[voc]{`amruNU} \arb[trans]{`amruNU}, |`amraNU|
  1205. % \arb[voc]{`amraNU} \arb[trans]{`amraNU}, |`amriNU|
  1206. % \arb[voc]{`amriNU} \arb[trans]{`amriNU}.
  1207. %
  1208. % When the \arb[trans]{tanwIn} falls away \parencite[i. 249
  1209. % B]{Wright}: |`amr-uU| |bn-u| |mu.hammadiN| \arb[fullvoc]{`amr-uU
  1210. % bnu mu.hammadiN} \arb[trans]{\uc{`amr-uU} bn-u
  1211. % \uc{mu.hammadiN}}, |mu.hammad-u| |bn-u| |`amr-iU| |bn-i|
  1212. % |_hAlidiN| \arb[fullvoc]{mu.hammad-u bn-u `amr-iU bn-i _hAlidiN}
  1213. % \arb[trans]{\uc{mu.hammad-u} bn-u \uc{`amr-iU} bn-i
  1214. % \uc{_hAlidiN}}.
  1215. %
  1216. % And so also: |al-rib_aUA| \arb[voc]{al-rib_aUA}
  1217. % \arb[trans]{al-rib_aUA}, |ribaNU| \arb[voc]{ribaNU}
  1218. % \arb[trans]{ribaNU}.
  1219. % \end{quote}
  1220. %
  1221. % \paragraph{\texorpdfstring{\arb[trans]{tanwIn}}{tanwīn}}
  1222. % The marks of doubled short vowels, \arb{BuN}, \arb{BaN}, \arb{BiN},
  1223. % are written \meta{uN, aN, iN} respectively. \package{arabluatex}
  1224. % deals with special cases, such as \arb{BaN} taking an \arb[novoc]{A}
  1225. % after all consonants except \arb[novoc]{T}, and \arb[trans]{tanwIn}
  1226. % preceding \arb[novoc]{Y} as in \arb[voc]{hudaN_A}, which is written
  1227. % \meta{aN\_A} or \meta{aNY}:
  1228. % \begin{quote}
  1229. % |mAluN| \arb[voc]{mAluN} \arb[trans]{mAluN}, |bAbaN|
  1230. % \arb[voc]{bAbaN} \arb[trans]{bAbaN}, |madInaTaN|
  1231. % \arb[voc]{madInaTaN} \arb[trans]{madInaTaN}, |bintiN|
  1232. % \arb[voc]{bintiN} \arb[trans]{bintiN} |maqhaN_A|
  1233. % \arb[voc]{maqhaN_A} \arb[trans]{maqhaN_A}, |fataNY|
  1234. % \arb[voc]{fataNY} \arb[trans]{fataNY}.
  1235. %
  1236. % \package{arabluatex} is aware of special orthographies: |^say'uN|
  1237. % \arb[voc]{^say'uN} \arb[trans]{^say'uN}, |^say'aN|
  1238. % \arb[voc]{^say'aN} \arb[trans]{^say'aN}, |^say'iN|
  1239. % \arb[voc]{^say'iN} \arb[trans]{^say'iN}.
  1240. % \end{quote}
  1241. %
  1242. % In some cases, it may be useful to mark the root form of defective
  1243. % words so as to produce a more accurate transliteration of ending
  1244. % \arb[trans]{tanwIn}. As seen above, \arb[trans]{tanwIn} preceding
  1245. % \arb[novoc]{_A} is written \meta{aN\_A} or \meta{aNY}. Such forms as
  1246. % \arb[voc]{qA.diNI} may likewise be written \meta{iNI}:---
  1247. % \begin{quote}
  1248. % |al-qA.dI| \arb[voc]{al-qA.dI} \arb[trans]{al-qA.dI}, |qA.diyaN|
  1249. % \arb[voc]{qA.diyaN} \arb[trans]{qA.diyaN}, |qA.diNI|
  1250. % \arb[voc]{qA.diNI} \arb[trans]{qA.diNI}.
  1251. % \end{quote}
  1252. %
  1253. % \subsection{Other orthographic signs}
  1254. % \paragraph{\texorpdfstring{\arb[trans]{tA' marbU.taT}}{tāʾ marbūṭah}}
  1255. % It is written \meta{T}:
  1256. % \begin{quote}
  1257. % |madInaTuN| \arb[voc]{madInaTuN} \arb[trans]{madInaTuN},
  1258. % |madInaTaN| \arb[voc]{madInaTaN} \arb[trans]{madInaTaN},
  1259. % |madInaTiN| \arb[voc]{madInaTiN} \arb[trans]{madInaTiN}.
  1260. % \end{quote}
  1261. %
  1262. % \paragraph{\texorpdfstring{\arb[trans]{hamzaT}}{hamzah}}
  1263. % \label{ref:hamza}It is written \meta{\texttt{'}}, its carrier being
  1264. % determined by contextual analysis. In case one wishes to bypass this
  1265. % mechanism, he can use the \enquote{quoting} feature that is
  1266. % described below in \vref{sec:quoting}.
  1267. % \begin{quote}
  1268. % \textbf{Initial \arb[trans]{hamzaT}}: |'asaduN| \arb[voc]{'asaduN}
  1269. % \arb[trans]{'asaduN}, |'u_htuN| \arb[voc]{'u_htuN}
  1270. % \arb[trans]{'u_htuN}, |'iqlIduN| \arb[voc]{'iqlIduN}
  1271. % \arb[trans]{'iqlIduN}, |'anna| \arb[voc]{'anna}
  1272. % \arb[trans]{'anna}, |'inna| \arb[voc]{'inna} \arb[trans]{'inna}.
  1273. %
  1274. % \label{ref:initial-hamza}
  1275. % \arb[trans]{hamzaT} followed by the long vowel \arb[novoc]{U} is
  1276. % encoded |'_U|: |'_Ul_A| \arb[voc]{'_Ul_A} \arb[trans]{'_Ul_A}, |'_UlU|
  1277. % \arb[voc]{'_UlU} \arb[trans]{'_UlU}, |'_UlA'ika|
  1278. % \arb[voc]{'_UlA'ika} \arb[trans]{'_UlA'ika}.
  1279. %
  1280. % \arb[trans]{hamzaT} followed by the long vowel \arb[novoc]{I} is
  1281. % encoded |'_I|: |'_ImAnuN| \arb[voc]{'_ImAnuN}
  1282. % \arb[trans]{'_ImA\-nuN}\footnote{For another way of encoding the
  1283. % initial \arb[trans]{hamzaT} followed by a long vowel, see the
  1284. % \arb[trans]{ta_hfIf-u 'l-hamzaT-i}\vpageref{ref:taxfif-hamzah}.}.
  1285. %
  1286. % \textbf{Middle \arb[trans]{hamzaT}}: |xA.ti'-Ina|
  1287. % \arb[voc]{xA.ti'-Ina} \arb[trans]{xA.ti'-Ina}, |ru'UsuN|
  1288. % \arb[voc]{ru'UsuN}, \arb[trans]{ru'UsuN}, |xa.tI'aTuN|
  1289. % \arb[voc]{xa.tI'aTuN} \arb[trans]{xa.tI'aTuN}, |su'ila|
  1290. % \arb[voc]{su'ila} \arb[trans]{su'ila}, |'as'ilaTuN|
  1291. % \arb[voc]{'as'i\-laTuN} \arb[trans]{'as'ilaTuN}, |mas'alaTuN|
  1292. % \arb[voc]{mas'alaTuN} \arb[trans]{mas'alaTuN}, |'as'alu|
  1293. % \arb[voc]{'as'alu} \arb[trans]{'as'alu}, |yatasA'alUna|
  1294. % \arb[voc]{yatasA'alUna} \arb[trans]{yatasA'alUna}, |murU'aTuN|
  1295. % \arb[voc]{murU'aTuN} \arb[trans]{murU'aTuN}, |taw'amuN|
  1296. % \arb[fullvoc]{taw'amuN} \arb[trans]{taw'amuN}, |ta'xIruN|
  1297. % \arb[fullvoc]{ta'xIruN} \arb[trans]{ta'xIruN},
  1298. % |ta'ax|\allowbreak|xara| \arb[voc]{ta'axxara}
  1299. % \arb[trans]{ta'axxara}, |ji'tu-ka| \arb[voc]{ji'tu-ka}
  1300. % \arb[trans]{ji'tu-ka}, |qA'iluN| \arb[voc]{qA'iluN}
  1301. % \arb[trans]{qA'iluN}, |.hIna'i_diN| \arb[trans]{.hIna'i_diN}
  1302. % \arb[voc]{.hIna'i_diN}, |hay'aTuN| \arb[voc]{hay'aTuN}
  1303. % \arb[trans]{hay\-'aTuN}, |hay'AtuN| \arb[voc]{hay'AtuN}
  1304. % \arb[trans]{hay'AtuN}.
  1305. %
  1306. % From \textcite[i. 14 B]{Wright}:--- All consonants, whatsoever,
  1307. % not even \arb[trans]{'alif} \emph{hèmzatum} excepted, admit of
  1308. % being doubled and take \arb[trans]{ta^sdId}. Hence we speak and
  1309. % write |ra''AsuN| \arb[voc]{ra''AsuN} \arb[trans]{ra''AsuN},
  1310. % |sa''AluN| \arb[voc]{sa''AluN} \arb[trans]{sa''AluN}, |na''AjuN|
  1311. % \arb[voc]{na''AjuN} \arb[trans]{na''AjuN}.
  1312. %
  1313. % \textbf{Final \arb[trans]{hamzaT}}: |xa.ta'uN| \arb[voc]{xa.ta'uN}
  1314. % \arb[trans]{xa.ta'uN}, |xa.ta'aN| \arb[voc]{xa.ta'aN}
  1315. % \arb[trans]{xa.ta'aN}, |xa.ta'iN| \arb[voc]{xa.ta'iN}
  1316. % \arb[trans]{xa.ta'iN}, |'aqra'u| \arb[voc]{'aqra'u}
  1317. % \arb[trans]{'aqra'u}, |taqra'Ina| \arb[voc]{taqra'Ina}
  1318. % \arb[trans]{taqra'Ina}, |taqra'Una| \arb[voc]{taqra'Una}
  1319. % \arb[trans]{taqra'Una}, |yaqra'na| \arb[fullvoc]{yaqra'na}
  1320. % \arb[trans]{yaqra'na}, |yaxba'Ani| \arb[voc]{yaxba'Ani}
  1321. % \arb[trans]{yaxba'Ani}, |xaba'A| \arb[voc]{xaba'A}
  1322. % \arb[trans]{xaba'A}, |xubi'a| \arb[voc]{xubi'a}
  1323. % \arb[trans]{xubi'a}, |xubi'UA| \arb[voc]{xubi'UA}
  1324. % \arb[trans]{xubi'UA}, |jA'a| \arb[voc]{jA'a} \arb[trans]{jA'a},
  1325. % |ridA'uN| \arb[voc]{ridA'uN} \arb[trans]{ridA'uN}, |ridA'aN|
  1326. % \arb[voc]{ridA'aN} \arb[trans]{ridA'aN}, |jI'a| \arb[voc]{jI'a}
  1327. % \arb[trans]{jI'a}, |radI'iN| \arb[voc]{radI'iN}
  1328. % \arb[trans]{radI'iN}, |sU'uN| \arb[voc]{sU'uN} \arb[trans]{sU'uN},
  1329. % |.daw'uN| \arb[voc]{.daw'uN} \arb[trans]{.daw'uN}, |qay'iN|
  1330. % \arb[voc]{qay'iN} \arb[trans]{qay'iN}, |^sifA'I|
  1331. % \arb[voc]{^sifA'I} \arb[trans]{^sifA'I}, |man^sa'I|
  1332. % \arb[trans]{man^sa'I} \arb[voc]{man^sa'I}, |nisA'uN|
  1333. % \arb[voc]{nisA'uN} \arb[trans]{ni\-sA'uN}, |nisA'u-hu|
  1334. % \arb[voc]{nisA'u-hu} \arb[trans]{nisA'u-hu}, |nisA'i-hi|
  1335. % \arb[voc]{nisA'i-hi} \arb[trans]{nisA'i-hi}, |nisA'I|
  1336. % \arb[voc]{nisA'I} \arb[trans]{nisA'I}.
  1337. %
  1338. % |^say'uN| \arb[voc]{^say'uN} \arb[trans]{^say'uN}, |^say'aN|
  1339. % \arb[voc]{^say'aN} \arb[trans]{^say'aN}, |^say'iN|
  1340. % \arb[voc]{^say'iN} \arb[trans]{^say'iN}, |al-^say'-u|
  1341. % \arb[voc]{al-^say'-u} \arb[trans]{al-^say'-u}, |'a^syA'-u|
  1342. % \arb[voc]{'a^syA'-u} \arb[trans]{'a^syA'-u}, |'a^syA'-a|
  1343. % \arb[voc]{'a^syA'-a} \arb[trans]{'a^syA'-a}, |.zim'aN|
  1344. % \arb[voc]{.zim'aN} \arb[trans]{.zim'aN}, |radI'aN|
  1345. % \arb[voc]{radI'aN} \arb[trans]{radI'aN}.
  1346. %
  1347. % \label{ref:taxfif-hamzah}
  1348. % \textbf{\arb[trans]{ta_hfIf-u 'l-hamzaT-i}}: if the
  1349. % \arb[trans]{hamzaT} has \arb[trans]{jazmaT} and is preceded by
  1350. % \emph{\arb[trans]{'alif} hamzatum}, it must be changed into the
  1351. % letter of prolongation that is homogeneous with the preceding
  1352. % vowel; hence: |'a'mana| \arb[voc]{'a'mana} \arb[trans]{'a'mana},
  1353. % |'u'minu| \arb[voc]{'u'minu} \arb[trans]{'u'minu}, |'i'mAnuN|
  1354. % \arb[voc]{'i'mAnuN} \arb[trans]{'i'mAnuN}. For other possible ways
  1355. % of encoding such sequences, see \vpageref{ref:initial-hamza}
  1356. % (\arb[trans]{hamzaT} followed by \arb[novoc]{U} and \arb[novoc]{I})
  1357. % and the \arb[trans]{maddaT} \vpageref{ref:madda}.
  1358. %
  1359. % Imperatives of verbs that have the \arb[trans]{hamzaT} as the
  1360. % first radical are other cases of \arb[trans]{ta_hfIf-u
  1361. % 'l-hamzaT-i}: |i'sir| \arb[fullvoc]{i'sir} \arb[trans]{i'sir},
  1362. % |i'_dan| \arb[fullvoc]{i'_dan} \arb[trans]{i'_dan}, |u'mul|
  1363. % \arb[fullvoc]{u'mul} \arb[trans]{u'mul}. \package{arabluatex}
  1364. % also provides ways of encoding those words when the initial
  1365. % \arb[trans]{'alif} comes into \arb[trans]{wa.sl}, so as to make
  1366. % the \arb[trans]{'alif wa.sl} fall away when preceded by
  1367. % \arb[voc]{wa} or \arb[voc]{fa}: |wa-'sir| \arb[fullvoc]{wa-'sir}
  1368. % \arb[trans]{wa-'sir}, |fa-'_dan| \arb[fullvoc]{fa-'_dan}
  1369. % \arb[trans]{fa-'_dan}, |fa-'ti| \arb[fullvoc]{fa-'ti}
  1370. % \arb[trans]{fa-'ti}, |wa-'tamirUA| \arb[fullvoc]{wa-'tamirUA}
  1371. % \arb[trans]{wa-'tamirUA}; or be retained outside the imperative,
  1372. % as in |fa-i'tazarat| \arb[fullvoc]{fa-i'tazarat}
  1373. % \arb[trans]{fa-i'tazarat}, |ba`da| |i'tilAfiN| \arb[fullvoc]{ba`da
  1374. % i'tilAfiN} \arb[trans]{ba`da i'tilAfiN}.
  1375. %
  1376. % \textbf{The strange spelling of \arb[trans]{mi'aTuN}}: |mi'aTuN|
  1377. % \arb[voc]{mi'aTuN} \arb[trans]{mi'aTuN}, \linebreak |mi'atAni|
  1378. % \arb[voc]{mi'atAni} \arb[trans]{mi'atAni}, |mi'atayni|
  1379. % \arb[voc]{mi'atayni} \arb[trans]{mi'atayni}, |mi'Una|
  1380. % \arb[voc]{mi'Una} \arb[trans]{mi'Una}, |mi'AtuN|
  1381. % \arb[voc]{mi'AtuN} \arb[trans]{mi'AtuN}, |mi'aN_A|
  1382. % \arb[voc]{mi'aN_A} \arb[trans]{mi'aN_A}. Of course, the
  1383. % \enquote*{pipe} character can be used to prevent this rule from
  1384. % being applied (see \vref{sec:pipe}): \verb+mi'a|TuN+
  1385. % \arb[voc]{mi'a|TuN} \arb[trans]{mi'a|TuN}.
  1386. % \end{quote}
  1387. %
  1388. % \paragraph{\texorpdfstring{\arb[trans]{maddaT}}{maddah}}
  1389. % \label{ref:madda}At the beginning of a syllabe, \arb[trans]{'alif}
  1390. % with \arb[trans]{hamzaT} and \arb[trans]{fat.haT} (\arb[voc]{'a})
  1391. % followed by \arb[trans]{'alifu 'l-maddi} (\arb[trans]{'alif} of
  1392. % prolongation) or \arb[trans]{'alif} with \arb[trans]{hamzaT} and
  1393. % \arb[trans]{jazmaT} (\arb[voc]{a"'"}) are both represented in
  1394. % writing \arb[trans]{'alif} with \arb[trans]{maddaT}: \arb[voc]{A"'}
  1395. % \parencite[see][i. 25 A--B]{Wright}.
  1396. %
  1397. % \iffalse
  1398. %<*example>
  1399. % \fi
  1400. \begin{tcblisting}{text only}
  1401. Hence one should keep to this distinction and encode |'a'kulu|
  1402. \arb[voc]{'a'kulu} \arb[trans]{'a'kulu} and |'AkiluN|
  1403. \arb[voc]{'AkiluN} \arb[trans]{'AkiluN} respectively.
  1404. \end{tcblisting}
  1405. % \iffalse
  1406. %</example>
  1407. % \fi
  1408. %
  1409. % \package{arabluatex} otherwise determines \arb[trans]{al-'alif-u
  1410. % 'l-mamdUdaT-u} by context analysis.
  1411. %
  1412. % \begin{quote}
  1413. % |'is'AduN| \arb[voc]{'is'AduN} \arb[trans]{'is'AduN}, |'AkilUna|
  1414. % \arb[voc]{'AkilUna} \arb[trans]{'AkilUna}, |'a'mannA|
  1415. % \arb[voc]{'a'mannA} \arb[trans]{'a'mannA}, |al-qur'An-u|
  1416. % \arb[voc]{al-qur'An-u} \arb[trans]{al-qur'An-u}.
  1417. %
  1418. % |jA'a| \arb[voc]{jA'a} \arb[trans]{jA'a}, |yatasA'alUna|
  1419. % \arb[voc]{yatasA'alUna} \arb[trans]{yatasA'alUna}, |ridA'uN|
  1420. % \arb[voc]{ridA'uN} \arb[trans]{ridA'uN}, |xaba'A|
  1421. % \arb[voc]{xaba'A} \arb[trans]{xaba'A}, |yaxba'Ani|
  1422. % \arb[voc]{yaxba'Ani} \arb[trans]{yaxba'Ani}.
  1423. % \end{quote}
  1424. %
  1425. % \paragraph{\texorpdfstring{\arb[trans]{^saddaT}}{šaddah}}
  1426. % \arb[trans]{ta^sdId} is either \emph{necessary} or \emph{euphonic}.
  1427. %
  1428. % \subparagraph{The necessary \arb[trans]{ta^sdId}}
  1429. % \label{ref:necessary-tashdid}always follows a vowel, whether short
  1430. % or long \parencite[see][i. 15 A--B]{Wright}. It is encoded in
  1431. % writing the consonant that carries it twice:
  1432. % \begin{quote}
  1433. % |`allaqa| \arb[voc]{`allaqa} \arb[trans]{`allaqa}, |mAdduN|
  1434. % \arb[voc]{mAdduN} \arb[trans]{mAdduN}, |'ammara|
  1435. % \arb[voc]{'ammara} \arb[trans]{ammara}, |murruN| \arb[voc]{murruN}
  1436. % \arb[trans]{murruN}.
  1437. % \end{quote}
  1438. %
  1439. % \subparagraph{The euphonic \arb[trans]{ta^sdId}}
  1440. % \label{ref:euphonic-tashdid} always follows a vowelless consonant
  1441. % which is passed over in pronunciation and assimilated to a following
  1442. % consonant. It may be found \parencite[i. 15 B--16 C]{Wright}:---
  1443. % \begin{enumerate}
  1444. % \item With the \emph{solar} letters \arb[novoc]{t}, \arb[novoc]{_t},
  1445. % \arb[novoc]{d}, \arb[novoc]{_d}, \arb[novoc]{r}, \arb[novoc]{z},
  1446. % \arb[novoc]{s}, \arb[novoc]{^s}, \arb[novoc]{.s}, \arb[novoc]{.d},
  1447. % \arb[novoc]{.t}, \arb[novoc]{.z}, \arb[novoc]{l}, \arb[novoc]{n},
  1448. % after the article \arb[fullvoc]{al-}:---
  1449. % \iffalse
  1450. %<*example>
  1451. % \fi
  1452. \begin{tcblisting}{text only}
  1453. Unlike \package{arabtex} and \package{arabxetex},
  1454. \package{arabluatex} \emph{never requires the solar letter to be
  1455. written twice}, as it automatically generates the euphonic
  1456. \arb[trans]{ta^sdId} above the letter that carries it, whether the
  1457. article be written in the assimilated form or not, e.g. |al-^sams-u|
  1458. \arb[voc]{al-^sams-u} \arb[trans]{al-^sams-u}, or |a^s-^sams-u|
  1459. \arb[voc]{a^s-^sams-u} \arb[trans]{a^s-^sams-u}.
  1460. \end{tcblisting}
  1461. % \iffalse
  1462. %</example>
  1463. % \fi
  1464. % \begin{quote}
  1465. % |al-tamr-u| \arb[voc]{al-tamr-u} \arb[trans]{al-tamr-u},
  1466. % |al-ra.hm_an-u| \arb[voc]{al-ra.hm_an-u}
  1467. % \arb[trans]{al-ra.hm_an-u}, |al-.zulm-u| \arb[voc]{al-.zulm-u}
  1468. % \arb[trans]{al-.zulm-u}, |al-lu.gaT-u| \arb[voc]{al-lu.gaT-u}
  1469. % \arb[trans]{al-lu.gaT-u}.
  1470. % \end{quote}
  1471. % \item \label{ref:assimilation} With the letters \arb[novoc]{r},
  1472. % \arb[novoc]{l}, \arb[novoc]{m}, \arb[novoc]{w}, \arb[novoc]{y}
  1473. % after \arb[voc]{n} with \arb[trans]{jazmaT}, and also after the
  1474. % \arb[trans]{tanwIn}:---
  1475. % \begin{quote}\SetArbDflt*
  1476. % Note the absence of \arb[trans]{sukUn} above the passed over
  1477. % \arb[novoc]{n} in the following examples, each of which is
  1478. % accompanied by a consistent transliteration: |min rabbi-hi|
  1479. % \arb[fullvoc]{min rabbi-hi}, \arb[trans]{min rabbi-hi},
  1480. % |min| |layliN| \arb[fullvoc]{min layliN} \arb[trans]{min layliN},
  1481. % |'an| |yaqtula| \arb[fullvoc]{'an yaqtula} \arb[trans]{'an yaqtula}.
  1482. %
  1483. % With \arb[trans]{tanwIn}: |kitAbuN| |mubInuN| \arb[voc]{kitAbuN
  1484. % mubInuN} \arb[trans]{kitAbuN mubInuN}.\SetArbDflt
  1485. % \end{quote}
  1486. % \iffalse
  1487. %<*example>
  1488. % \fi
  1489. \begin{tcblisting}{text only}
  1490. \textsc{Rem.} This particular feature must be put into operation by
  1491. the \cs{SetArbDflt*} command explicitly. See above
  1492. \vref{sec:classic-modern-typesetting} for further details. Other
  1493. kinds of assimilations, including the various cases of
  1494. \arb[trans]{'id.gAm}, will be included in \package{arabluatex}
  1495. gradually.
  1496. \end{tcblisting}
  1497. % \iffalse
  1498. %</example>
  1499. % \fi
  1500. % \item With the letter \arb[voc]{t} after the dentals
  1501. % \arb[novoc]{_t}, \arb[novoc]{d}, \arb[novoc]{_d}, \arb[novoc]{.d},
  1502. % \arb[novoc]{.t}, \arb[novoc]{.z} in certain parts of the verb:
  1503. % this kind of assimilation, e.g. \arb[voc]{labi_tttu} for
  1504. % \arb[voc]{labi_ttu} \arb[trans]{labi_ttu}, will be discarded here,
  1505. % as it is largely condemned by the
  1506. % grammarians \parencite[see][i. 16 B--C]{Wright}.
  1507. % \end{enumerate}
  1508. %
  1509. % \paragraph{\texorpdfstring{The definite article and the
  1510. % \arb[trans]{'alif-u 'l-wa.sl-i}}{The definite article and the ʾalifu
  1511. % 'l-waṣli}}
  1512. % \label{ref:definite-article}
  1513. % At the beginning of a sentence, \arb[fullvoc]{"a} is never written,
  1514. % as \arb[fullvoc]{'l-.hamd-u li-ll_ah-i}; instead, to indicate that
  1515. % the \arb[trans]{'alif} is a connective \arb[trans]{'alif}
  1516. % (\arb[trans]{'alif-u 'l-wa.sl-i}), the \arb[trans]{hamzaT} is
  1517. % omitted and only its accompanying vowel is expressed:
  1518. % \begin{quote}
  1519. % |al-.hamd-u| |li-l-l_ah-i| \arb[fullvoc]{al-.hamd-u li-l-l_ah-i}
  1520. % \arb[trans]{al-.hamd-u li-l-l_ah-i}.
  1521. % \end{quote}
  1522. % As said above on \vpageref{fullvoc-mode}, |fullvoc| is the mode
  1523. % in which \package{arabluatex} expresses the \arb[trans]{sukUn} and
  1524. % the \arb[trans]{wa.slaT}. \package{arabluatex} will take care of
  1525. % doing that automatically provided that the vowel which is to be
  1526. % absorbed by the final vowel of the preceding word be properly
  1527. % encoded, like so:---
  1528. % \begin{enumerate}
  1529. % \item Definite article at the beginning of a sentence is encoded\\
  1530. % \tcboxverb{al-}, or \tcboxverb{a<solar letter>-}\\ if one
  1531. % wishes to mark the assimilation---which is in no way required, as
  1532. % \package{arabulatex} will detect all cases of assimilation.
  1533. % \item Definite article inside sentences is encoded\\ \tcboxverb{'l-}
  1534. % or \tcboxverb{'<solar letter>-}.
  1535. % \item In all remaining cases of elision, the \arb[trans]{'alifu
  1536. % 'l-wa.sli} is expressed by the vowel that accompanies the omitted
  1537. % \arb[trans]{hamzaT}: \meta{u, a, i}.
  1538. % \end{enumerate}
  1539. % \begin{quote}
  1540. % \textbf{Article}: |bAb-u| |'l-madrasaT-i| \arb[fullvoc]{bAb-u
  1541. % 'l-madrasaT-i} \arb[trans]{bAb-u 'l-madrasaT-i},
  1542. % |al-maqA|\allowbreak|laT-u| |'l-'_Ul_A| \arb[fullvoc]{al-maqAlaT-u
  1543. % 'l-'_Ul_A} \arb[trans]{al-maqAlaT-u 'l-'_Ul_A}, |al-lu.gaT-u|
  1544. % |'l-`ara|\allowbreak|biyyaT-u| \arb[fullvoc]{al-lu.gaT-u
  1545. % 'l-`arabiyyaT-u} \arb[trans]{al-lu.gaT-u 'l-`arabiyyaT-u}, |fI|
  1546. % |.sinA`aT-i| |'l-.tibb-i| \arb[fullvoc]{fI .sinA`aT-i 'l-.tibb-i}
  1547. % \arb[trans]{fI .sinA`aT-i 'l-.tibb-i}, |'il_A| |'l-intiqA.d-i|
  1548. % \arb[fullvoc]{'il_A 'l-intiqA.d-i} \arb[trans]{'il_A
  1549. % 'l-intiqA.d-i}, |fI| |'l-ibtidA'-i| \arb[fullvoc]{fI 'l-ibtidA'-i}
  1550. % \arb[trans]{fI 'l-ibtidA'-i}, |'abU| |'l-wazIr-i|
  1551. % \arb[fullvoc]{'abU 'l-wazIr-i} \arb[trans]{'abU 'l-wazIr-i},
  1552. % |fa-lammA| |ra'aW| |'l-najm-a| \arb[fullvoc]{fa-lammA ra'aW
  1553. % 'l-najm-a} \arb[trans]{fa-lammA ra'aW 'l-najm-a}.
  1554. %
  1555. % \textbf{Particles}:---
  1556. % \begin{enumerate}
  1557. % \item \arb[trans]{li-}: \arb[trans]{'alif-u 'l-wa.sl-i} is omitted
  1558. % in the article \arb[fullvoc]{al} when it is preceded by the
  1559. % preposition \arb[fullvoc]{li}: |li-l-rajul-i|
  1560. % \arb[fullvoc]{li-l-rajul-i}
  1561. % \arb[trans]{li-l-rajul-i}.\\
  1562. % If the first letter of the noun be \arb[novoc]{l}, then the
  1563. % \arb[novoc]{l} of the article also falls away, but
  1564. % \package{arabluatex} is aware of that: |li-l-laylaT-i|
  1565. % \arb[fullvoc]{li-l-laylaT-i} \arb[trans]{li-l-laylaT-i}.
  1566. % \item \arb[trans]{la-}: the same applies to the affirmative
  1567. % particle \arb[fullvoc]{la}: |la-l-.haqq-u|
  1568. % \arb[fullvoc]{la-l-.haqq-u} \arb[trans]{la-l-.haqq-u}.
  1569. % \item With the other particles, \arb[trans]{'alif-u 'l-wa.sl-i} is
  1570. % expressed: |fI| |'l-madIna|\allowbreak|T-i| \arb[fullvoc]{fI
  1571. % 'l-madInaT-i} \arb[trans]{fI 'l-madInaT-i}, |wa-'l-rajul-u|
  1572. % \arb[fullvoc]{wa-'l-rajul-u} \arb[trans]{wa-'l-rajul-u},
  1573. % |bi-'l-|\allowbreak|qalam-i| \arb[fullvoc]{bi-'l-qalam-i}
  1574. % \arb[trans]{bi-'l-qalam-i}, |bi-'l-ru`b-i|
  1575. % \arb[fullvoc]{bi-'l-ru`b-i} \arb[trans]{bi-'l-ru`b-i}.
  1576. % \end{enumerate}
  1577. %
  1578. % \textbf{Perfect active, imperative, nomen actionis}: |qAla|
  1579. % |isma`| \arb[fullvoc]{qAla isma`} \arb[trans]{qAla isma`}, |qAla|
  1580. % |uqtul| \arb[fullvoc]{qAla uqtul} \arb[trans]{qAla uqtul}, |huwa|
  1581. % |inhazama| \arb[fullvoc]{huwa inhazama} \arb[trans]{huwa
  1582. % inhazama}, |wa-ustu`mila| \arb[fullvoc]{wa-ustu`mila}
  1583. % \arb[trans]{wa-ustu`mila}, |qadi| |in.sarafa| \arb[fullvoc]{qadi
  1584. % in.sarafa} \arb[trans]{qadi in.sarafa}, |al-iqtidAr-u|
  1585. % \arb[fullvoc]{al-iqtidAr-u} \arb[trans]{al-iqtidAr-u}, |'il_A|
  1586. % |'l-inti|\allowbreak|qA.d-i| \arb[fullvoc]{'il_A 'l-intiqA.d-i}
  1587. % \arb[trans]{'il_A 'l-intiqA.d-i}, |law| |istaqbala|
  1588. % \arb[fullvoc]{law istaqbala} \arb[trans]{law istaqbala}.
  1589. %
  1590. % \textbf{Other cases}: |'awi| |ismu-hu| \arb[fullvoc]{'awi ismu-hu}
  1591. % \arb[trans]{'awi ismu-hu}, |zayduN| |ibn-u| |`amriNU|
  1592. % \arb[fullvoc]{\uc{z}ayduN ibn-u \uc{`amriNU}}
  1593. % \arb[trans]{\uc{z}ayduN ibn-u
  1594. % \uc{`amriNU}},\footnote{\label{fn:zayd-is-son}%
  1595. % \enquote{\arb[trans]{\uc{z}ayd} is the son of
  1596. % \arb[trans]{\uc{`a}mr}}: the second noun is not in apposition to
  1597. % the first, but forms part of the predicate. Hence \arb[voc]{zayduN
  1598. % ibn-u `amriNU} and not \arb[voc]{zayd-u bn-u `amriNU},
  1599. % \enquote{Zayd, son of ʿAmr}.} |`umar-u| |ibn-u| |'l-_ha.t.tAb-i|
  1600. % \arb[fullvoc]{\uc{`umar}-u ibn-u \uc{'l-_ha.t.tAb-i}}
  1601. % \arb[trans]{\uc{`umar}-u ibn-u
  1602. % \uc{'l-_ha.t.tAb-i}},\footnote{\enquote{\arb[trans]{\uc{`umar}}
  1603. % is the son of \arb[trans]{\uc{al-_ha.t.tAb}}} (see
  1604. % \vref{fn:zayd-is-son}).} |imru'-u| |'l-qays-i|
  1605. % \arb[fullvoc]{imru'-u 'l-qays-i} \arb[trans]{\uc{i}mru'-u
  1606. % \uc{'l-qays-i}}, |la-aymun-u| |'l-l_ah-i|
  1607. % \arb[fullvoc]{la-aymun-u 'l-l_ah-i} \arb[trans]{la-aymun-u
  1608. % 'l-l_ah-i}.
  1609. % \end{quote}
  1610. %
  1611. % \subparagraph{\arb[trans]{'alif-u 'l-wa.sl-i} preceded by a long
  1612. % vowel} The long vowel preceding the connective \arb[trans]{'alif} is
  1613. % shortened in pronunciation \parencite[i. 21 B--D]{Wright}. This does
  1614. % not appear in the Arabic script, but \package{arabluatex} takes it
  1615. % into account in some transliteration standards:---
  1616. % \begin{quote}
  1617. % |fI| |'l-nAs-i| \arb[fullvoc]{fI 'l-nAs-i} \arb[trans]{fI
  1618. % 'l-nAs-i}, |'abU| |'l-wazIr-i| \arb[fullvoc]{'abU 'l-wazIr-i}
  1619. % \arb[trans]{'abU 'l-wazIr-i}, |fI| |'l-ibtidA'-i| \arb[fullvoc]{fI
  1620. % 'l-ibtidA'-i} \arb[trans]{fI 'l-ibtidA'-i}, |_dU 'l-i`lAl-i|
  1621. % \arb[fullvoc]{_dU 'l-i`lAl-i} \arb[trans]{_dU 'l-i`lAl-i},
  1622. % |maqh_A| |'l-'amIr-i| \arb[voc]{maqh_A 'l-'amIr-i}
  1623. % \arb[trans]{maqh_A 'l-'amIr-i}.
  1624. % \end{quote}
  1625. %
  1626. % \subparagraph{\arb[trans]{'alif-u 'l-wa.sl-i} preceded by a diphthong}
  1627. % \label{sec:diphthong-alif}
  1628. % The diphthong is resolved into two simple vowels \parencite[i. 21
  1629. % D--22 A]{Wright} viz. \emph{ay}~→ \emph{\u{a}\u{i}} and \emph{aw}~→
  1630. % \emph{\u{a}\u{u}}. \package{arabluatex} detects the cases in which
  1631. % this rule applies:---
  1632. % \begin{quote}
  1633. % |fI| |`aynay| |'l-malik-i| \arb[fullvoc]{fI `aynay 'l-malik-i}
  1634. % \arb[trans]{fI `aynay 'l-malik-i}, |ix^say|
  1635. % |'l-qaw|\allowbreak|m-a| \arb[fullvoc]{ix^say 'l-qawm-a}
  1636. % \arb[trans]{ix^say 'l-qawm-a}, |mu.s.tafaw| |'l-l_ah-i|
  1637. % \arb[fullvoc]{mu.s.tafaw 'l-l_ah-i} \arb[trans]{mu.s.ta\-faw
  1638. % 'l-l_ah-i}.
  1639. %
  1640. % |ramaW| |'l-.hijAraT-a| \arb[fullvoc]{ramaW 'l-.hijAraT-a}
  1641. % \arb[trans]{ramaW 'l-.hijAraT-a}, |fa-lammA| |ra'aW |\allowbreak{}
  1642. % |'l-najm-a| \arb[fullvoc]{fa-lammA ra'aW 'l-najm-a}
  1643. % \arb[trans]{fa-lammA ra'aW 'l-najm-a}.
  1644. % \end{quote}
  1645. %
  1646. % \subparagraph{\arb[trans]{'alif-u 'l-wa.sl-i} preceded by a consonant
  1647. % with \arb[trans]{sukUn}} The vowel which the consonant takes is
  1648. % either its original vowel, or that which belongs to the connective
  1649. % \arb[trans]{'alif} or the \arb[trans]{kasraT}; in most of the
  1650. % cases \parencite[i. 22 A--C]{Wright}, it is encoded explicitly, like
  1651. % so:---
  1652. % \begin{quote}
  1653. % |'antumu| |'l-kA_dib-Una| \arb[fullvoc]{'antumu 'l-kA_dib-Una}
  1654. % \arb[trans]{'antumu 'l-kA_dib-Una}, |ra'aytumu| |'l-rajul-a|
  1655. % \arb[fullvoc]{ra'aytumu 'l-rajul-a} \arb[trans]{ra'aytumu
  1656. % 'l-rajul-a}, |mani| |'l-ka_d_dAb-u| \arb[fullvoc]{mani
  1657. % 'l-ka_d_dAb-u} \arb[trans]{mani 'l-ka_d_dAb-u}, |qatalati|
  1658. % |'l-rUm-u| \arb[fullvoc]{qatalati 'l-rUm-u} \arb[trans]{qatalati
  1659. % \uc{'l-rUm-u}}.
  1660. % \end{quote}
  1661. % \label{ref:muhammaduni}
  1662. % However, the Arabic script does not show the \arb[trans]{kasraT} or
  1663. % the \arb[trans]{.dammaT} which may be taken by the nouns having
  1664. % \arb[trans]{tanwIn} although it is explicit in pronunciation and
  1665. % must appear in some transliteration standards. \package{arabluatex}
  1666. % takes care of that automatically:---
  1667. % \begin{quote}
  1668. % |mu.hammaduN| |'l-nabI| \arb[fullvoc]{mu.hammaduN 'l-nabI}
  1669. % \arb[trans]{\uc{m}u.hammaduN 'l-nabI}, |salAmuN| |ud_hulUA|
  1670. % \arb[fullvoc]{salAmuN ud_hulUA} \arb[trans]{salAmuN ud_hulUA},
  1671. % |qa.sIdata-hu| |fI| |qatl-i| |\uc{'a}bI|
  1672. % |\uc{m}|\allowbreak|uslimiN| |'llatI| |yaqUlu| |fI-hA|
  1673. % \arb[fullvoc]{qa.sIdata-hu fI qatl-i \uc{'a}bI \uc{m}uslimiN
  1674. % 'llatI yaqUlu fI-hA} \arb[trans]{qa.sIdata-hu fI qatl-i \uc{'a}bI
  1675. % \uc{m}uslimiN 'llatI yaqUlu fI-hA}.
  1676. % \end{quote}
  1677. %
  1678. % \subsection{Special orthographies}
  1679. % \paragraph{The name of God}
  1680. % The name of God, \arb[voc]{al-l_ahu}, is compounded of the article
  1681. % \arb[fullvoc]{al-}, and \arb[fullvoc]{'ilAh-u} (noted
  1682. % \arb[fullvoc]{'il_ah-u} with the defective \arb[trans]{'alif}) so
  1683. % that it becomes \arb[fullvoc]{al-'ilAh-u}; then the
  1684. % \arb[trans]{hamzaT} is suppressed, its vowel being transferred to
  1685. % the \arb[novoc]{l} before it, so that there remains
  1686. % \arb[voc]{alil_ah-u} \parencite[I refer to][I. 83
  1687. % col. 1]{Lane}. Finally, the first \arb[novoc]{l} is made quiescent
  1688. % and incorporated into the other, hence the \arb[trans]{ta^sdId}
  1689. % above it. As \package{arabluatex} never requires a solar letter to
  1690. % be written twice (see above, \vpageref{ref:euphonic-tashdid}), the
  1691. % name of God is therefore encoded |al-l_ah-u| or |'l-l_ah-u|:---
  1692. % \begin{quote}
  1693. % |al-l_ah-u| \arb[fullvoc]{al-l_ah-u} \arb[trans]{al-l_ah-u},
  1694. % \verb+yA|+\footnote{\label{fn:pipe-allah-01}Note the
  1695. % \enquote{pipe} character \enquote*{\textbar} here after |yA| and
  1696. % below after |fa| before footnote mark \ref{fn:pipe-allah-02}: it
  1697. % is needed by the |dmg| transliteration mode as in this mode any
  1698. % vowel at the commencement of a word preceded by a word that ends
  1699. % with a vowel, either short or long, is absorbed by this vowel
  1700. % viz. \arb[trans]{`al_A 'l-.tarIq-i}. See \vref{sec:pipe} on the
  1701. % \enquote{pipe} and \vref{sec:transliteration} on |dmg| mode.}
  1702. % |al-l_ah-u| \arb[fullvoc]{yA| al-l_ah-u} \arb[trans]{yA|
  1703. % al-l_ah-u}, \verb+'a-fa|+\footnote{\label{fn:pipe-allah-02}See
  1704. % \vref{fn:pipe-allah-01}.}|-al-|\allowbreak|l_ah-i|
  1705. % |la-ta.g`alanna| \arb[fullvoc]{'a-fa|-al-l_ah-i la-ta.g`alanna}
  1706. % \arb[trans]{'a-fa|-al-l_ah-i la-ta.g`alanna},
  1707. % |bi-'l-|\allowbreak|l_ah-i| \arb[fullvoc]{bi-'l-l_ah-i}
  1708. % \arb[trans]{bi-'l-l_ah-i}, |wa-'l-l_ah-i|
  1709. % \arb[fullvoc]{wa-'l-l_ah-i} \arb[trans]{wa-'l-l_ah-i}, |bi-sm-i|
  1710. % |'l-l_ah-i| \arb[fullvoc]{bi-sm-i 'l-l_ah-i} \arb[trans]{bi-sm-i
  1711. % 'l-l_ah-i}, |al-.hamd-u| |li-l-l_ah-i| \arb[fullvoc]{al-.hamd-u
  1712. % li-l-l_ah-i} \arb[trans]{al-.hamd-u li-l-l_ah-i}, |li-l-l_ah-i|
  1713. % |'l-qA'il-u| \arb[fullvoc]{li-l-l_ah-i 'l-qA'il-u}
  1714. % \arb[trans]{li-l-l_ah-i 'l-qA'il-u}.
  1715. % \end{quote}
  1716. %
  1717. % \paragraph{\texorpdfstring{The conjunctive \arb[voc]{alla_dI}}{The
  1718. % conjunctive اَلَّذِي}}
  1719. % Although it is compounded of the article \arb[fullvoc]{al}, the
  1720. % demonstrative letter \arb[novoc]{l} and the demonstrative pronoun
  1721. % \arb[voc]{_dA}, both masculine and feminine forms that are written
  1722. % defectively are encoded |alla_dI| and |allatI| respectively. Forms
  1723. % starting with the connective \arb[trans]{'alif} are encoded
  1724. % |'lla_dI| and |'llatI|:---
  1725. % \begin{quote}
  1726. % |'a_hAfu| |mina| |'l-malik-i| |'lla_dI| |ya.zlimu| |'l-nAs-a|
  1727. % \arb[fullvoc]{'a_hAfu mina 'l-malik-i 'lla_dI ya.zlimu 'l-nAs-a}
  1728. % \arb[trans]{'a_hAfu mina 'l-malik-i 'lla_dI ya.zlimu 'l-nAs-a},
  1729. % |`udtu| |'l-^say_h-a| |'lla_dI| |huwa| |marI.duN|
  1730. % \arb[fullvoc]{`udtu 'l-^say_h-a 'lla_dI huwa marI.duN}
  1731. % \arb[trans]{`udtu 'l-^say_h-a 'lla_dI huwa marI.duN}, |mA| |'anA|
  1732. % |bi-'lla_dI| |qA'iluN| |la-ka| |^say'aN| \arb[fullvoc]{mA 'anA
  1733. % bi-'lla_dI qA'iluN la-ka ^say'aN} \arb[trans]{mA 'anA bi-'lla_dI
  1734. % qA'iluN la-ka ^say'aN}.
  1735. %
  1736. % |'ari-nA| |'lla_dayni| |'a.dallA-nA| |mina| |'l-jinn-i|
  1737. % |wa-'l-'ins-i| \arb[fullvoc]{'ari-nA 'lla_dayni 'a.dallA-nA mina
  1738. % 'l-jinn-i wa-'l-'ins-i} \arb[trans]{'ari-nA 'lla_dayni 'a.dallA-nA
  1739. % mina 'l-jinn-i wa-'l-'ins-i}.
  1740. % \end{quote}
  1741. % The other forms are encoded regularly as |al-l| or |'l-l|:---
  1742. % \begin{quote}
  1743. % |fa-'innA| |na_dkuru| |'l-.sawt-ayni| |'l-la_dayni| |rawaynA-humA|
  1744. % |`an| |ja.h.zaT-a| \arb[fullvoc]{fa-'innA na_dkuru 'l-.sawt-ayni
  1745. % 'l-la_dayni rawaynA-humA `an \uc{ja.h.zaT-a}}
  1746. % \arb[trans]{fa-'innA na_dkuru 'l-.sawt-ayni 'l-la_dayni
  1747. % rawaynA-humA `an \uc{ja.h.zaT-a}}.
  1748. %
  1749. % And also: |al-la_dAni| \arb[fullvoc]{al-la_dAni}
  1750. % \arb[trans]{al-la_dAni}, |al-la_dayni| \arb[fullvoc]{al-la_dayni}
  1751. % \arb[trans]{al-la_dayni}, |al-latAni| \arb[fullvoc]{al-latAni}
  1752. % \arb[trans]{al-latAni}, |al-latayni| \arb[fullvoc]{al-latayni}
  1753. % \arb[trans]{al-latayni}, |al-lAtI| \arb[fullvoc]{al-lAtI}
  1754. % \arb[trans]{al-lAtI},
  1755. % \verb+al-lA'|Ati+\footnote{\label{fn:pipe-madda}Note here the
  1756. % \enquote{pipe} character \enquote*{\textbar}: as already stated
  1757. % \vpageref{ref:madda}, the sequence |'A| usually encodes
  1758. % \arb[trans]{'alif} with \arb[trans]{hamzaT} followed by
  1759. % \arb[trans]{'alif} of prolongation, which is represented in writing
  1760. % \arb[trans]{'alif} with \arb[trans]{maddaT}: \arb[voc]{A"'}. The
  1761. % \enquote{pipe} character prevents this rule from being
  1762. % applied. See \vref{sec:pipe}.} \arb[fullvoc]{al-lA'|Ati}
  1763. % \arb[trans]{al-lA'|Ati}, |al-lA'I| \arb[fullvoc]{al-lA'I}
  1764. % \arb[trans]{al-lA'I}, and so forth.
  1765. % \end{quote}
  1766. %
  1767. % \subsection{Quoting}
  1768. % \label{sec:quoting}
  1769. % It is here referred to \enquote{quoting} after the \package{arabtex}
  1770. % package.\footnote{See \textcite[22]{pkg:arabtex}} The
  1771. % \enquote{quoting} mechanism of \package{arabluatex} is designed to
  1772. % be very similar in effect to the one of \package{arabtex}.
  1773. %
  1774. % To start with an example, suppose one types the following in |novoc|
  1775. % mode: \arb[novoc]{`ullima `ilm-a 'l-hay'aT-i}; is it
  1776. % \arb[fullvoc]{`ullima}, \emph{he was taught the science of
  1777. % astronomy}, or \arb[fullvoc]{`allama}, \emph{he taught the science
  1778. % of astronomy}? In order to disambiguate this clause, it may be
  1779. % sensible to put a \arb[trans]{.dammaT} above the first \arb[voc]{`}:
  1780. % \arb[novoc]{`"ullima `ilm-a 'l-hay'aT-i}, which is achieved by
  1781. % \enquote{quoting} the vowel |u|, like so: |`"ullima|, or, with no
  1782. % other vowel than the required |u|: |`"ullm|.
  1783. %
  1784. % This is how the \enquote{quoting} mechanism works: metaphorically
  1785. % speaking, it acts as a \emph{toggle switch}. If something, in a
  1786. % given mode, is supposed to be visible, \enquote{quoting} hides it;
  1787. % conversely, if it is supposed not to, it makes it visible.
  1788. %
  1789. % As shown above, \enquote{quoting} means inserting one straight
  1790. % double quote (|"|) \emph{before} the letter that is to be acted
  1791. % upon. Its effects depend on the mode which is currently selected,
  1792. % either |novoc|, |voc| or |fullvoc|:---
  1793. %
  1794. % \paragraph{\texttt{novoc}} In this mode, \enquote{quoting}
  1795. % essentially means make visible something that ought not to be so.
  1796. % \begin{enumerate}
  1797. % \item Quoting a vowel, either short or long, makes the
  1798. % \arb[trans]{.dammaT}, \arb[trans]{fat.haT} or \arb[trans]{kasraT}
  1799. % appear above the appropriate consonant:---
  1800. % \begin{quote}
  1801. % |`"ullima| |`ilm-a| |'l-hay'aT-i| \arb[novoc]{`"ullima `ilm-a
  1802. % 'l-hay'aT-i} \arb[trans]{`"ullima `ilm-a 'l-hay'aT-i}, |ya.gz"UA|
  1803. % \arb[novoc]{ya.gz"UA} \arb[trans]{ya.gz"UA}.
  1804. % \end{quote}
  1805. % \item The same applies when \enquote{quoting} the
  1806. % \arb[trans]{tanwIn}:---
  1807. % \begin{quote}
  1808. % |wa-'innA| |sawfa| |tudriku-nA| |'l-manAyA| |muqadd"araT"aN|
  1809. % \arb[novoc]{wa-'innA sawfa tudriku-nA 'l-manAyA muqadd"araT"aN},
  1810. % \arb[trans]{wa-'innA sawfa tudriku-nA 'l-manAyA muqadd"araT"aN}.
  1811. % \end{quote}
  1812. % \item \label{ref:quoted-sukun-b}If no vowel follows the straight
  1813. % double quote, then a \arb[trans]{sukUn} is put above the preceding
  1814. % consonant:---
  1815. % \begin{quote}
  1816. % |qAla isma`"| \arb[novoc]{qAla isma`"} \arb[trans]{qAla isma`"},
  1817. % |jA'at"| |hinduN| \arb[voc]{jA'at" \uc{hinduN}}
  1818. % \arb[trans]{jA'at" \uc{hinduN}}, |^sabIhuN| |bi-man| |q"u.ti`at"|
  1819. % |qadamA-hu| \arb[novoc]{^sabIhuN bi-man q"u.ti`at" qadamA-hu}
  1820. % \arb[trans]{^sabIhuN bi-man q"u.ti`at" qadamA-hu}.
  1821. % \end{quote}
  1822. % \item At the commencement of a word, the straight double quote is
  1823. % interpreted as \arb[trans]{'alif-u 'l-wa.sl-i}:---
  1824. % \begin{quote}
  1825. % |wa-"ust"u`mila| \arb[novoc]{wa-"ust"u`mila}
  1826. % \arb[trans]{wa-"ust"u`mila}, |huwa| |"inhazama| \arb[novoc]{huwa
  1827. % "inhazama} \arb[trans]{huwa "inhazama}, |al-"intiqA.d-u|
  1828. % \arb[novoc]{al-"intiqA.d-u} \arb[trans]{al-"intiqA.d-u}.
  1829. % \end{quote}
  1830. % \end{enumerate}
  1831. %
  1832. % \paragraph{\texttt{voc}}
  1833. % In accordance with the general rule, in this mode, \enquote{quoting}
  1834. % makes the vowels and the \arb[trans]{tanwIn} disappear, should this
  1835. % feature be required for some reason:---
  1836. % \begin{enumerate}
  1837. % \item Short and long vowels:---
  1838. % \begin{quote}
  1839. % |q"Ala q"A'iluN| \arb[voc]{q"Ala q"A'iluN} \arb[trans]{q"Ala
  1840. % q"A'iluN}, |ibn-u 'abI 'u.saybi`aT-"a| \arb[voc]{ibn-u 'abI
  1841. % 'u.saybi`aT-"a} \arb[trans]{\uc{ibn-u} \uc{'abI}
  1842. % \uc{'u.saybi`aT-"a}}.
  1843. % \end{quote}
  1844. % \item \arb[trans]{tanwIn}:---
  1845. % \begin{quote}
  1846. % |madInaT"aN| \arb[voc]{madInaT"aN} \arb[trans]{madInaT"aN},
  1847. % |bAb"aN| \arb[voc]{bAb"aN} \arb[trans]{bAb"aN}, |hud"aN_A|
  1848. % \arb[voc]{hud"aN_A} \arb[trans]{hud"aN_A}, |^say'"iN|
  1849. % \arb[voc]{^say'"iN} \arb[trans]{^say'"iN}.
  1850. % \end{quote}
  1851. % \end{enumerate}
  1852. % One may more usefully \enquote{quote} the initial vowels to write
  1853. % the \arb[trans]{wa.slaT} above the \arb[trans]{'alif} or insert a
  1854. % straight double quote after a consonant not followed by a vowel to
  1855. % make the \arb[trans]{sukUn} appear:---
  1856. % \begin{enumerate}
  1857. % \item \arb[trans]{'alif-u 'l-wa.sl-i}:---
  1858. % \begin{quote}
  1859. % |fI "istiq.sA'-iN| \arb[voc]{fI "istiq.sA'-iN} \arb[trans]{fI
  1860. % "istiq.sA'-iN}, |wa-"istiq.sA'-uN| \arb[voc]{wa-"istiq.sA'-uN}
  1861. % \allowbreak\arb[trans]{wa-"istiq.sA'-uN}, |qAla| |"uhrub|
  1862. % |fa-lan| |tuqtala| \arb[voc]{qAla "uhrub fa-lan tuqtala}
  1863. % \arb[trans]{qAla "uhrub fa-lan tuqtala}.
  1864. % \end{quote}
  1865. % \item \arb[trans]{sukUn}:---
  1866. % \begin{quote}
  1867. % |qAla| |"uqtul"| |fa-lan| |tuqtala| \arb[voc]{qAla "uqtul"
  1868. % fa-lan tuqtala} \arb[trans]{qAla "uqtul" fa-lan tuqtala}, |mA|
  1869. % |jA'at"| |mini| |imra'aTiN| \arb[voc]{mA jA'at" mini imra'aTiN}
  1870. % \arb[trans]{mA jA'at" mini imra'aTiN}, |kam"| |qad"| |ma.dat"|
  1871. % |min"| |laylaTiN| \arb[voc]{kam" qad" ma.dat" min" laylaTiN}
  1872. % \arb[trans]{kam" qad" ma.dat" min"
  1873. % laylaTiN}.\label{ref:quoted-sukun-e}
  1874. % \end{quote}
  1875. % \end{enumerate}
  1876. %
  1877. % \paragraph{\texttt{fullvoc}}
  1878. % In this mode, \enquote{quoting} can be used to take away any short
  1879. % vowel (or \arb[trans]{tanwIn}, as seen above) or any
  1880. % \arb[trans]{sukUn}:---
  1881. % \begin{quote}\label{ref:qrannun-full}
  1882. % |al-jamr-u| |'l-.sayfiyy-u| |'lla_dI| |kAna|
  1883. % \verb+bi-q"rAn"|nUn-a+ \arb[fullvoc]{al-jamr-u 'l-.sayfiyy-u
  1884. % 'lla_dI kAna \uc{bi-q"rAn"|nUn-a}} \arb[trans]{al-jamr-u
  1885. % 'l-.sayfiyy-u 'lla_dI kAna \uc{bi-q"rAn"|nUn-a}}.
  1886. % \end{quote}
  1887. %
  1888. % \subsubsection{\texorpdfstring{Quoting the
  1889. % \arb[trans]{hamzaT}}{Quoting the hamzah}}
  1890. % \label{sec:quoting-hamza}
  1891. % As said above in \vref{ref:hamza}, the \arb[trans]{hamzaT} is always
  1892. % written \meta{\texttt{'}}, its carrier being determined by contextual
  1893. % analysis. \enquote{Quoting} that straight single quote character
  1894. % like so: \meta{\texttt{"'}} allows to determine the carrier of the
  1895. % \arb[trans]{hamzaT} freely, without any consideration for the
  1896. % context. \Vref{tab:quoted-hamza} gives the equivalents for all the
  1897. % possible carriers the \arb[trans]{hamzaT} may take.
  1898. %
  1899. % \begin{longtable}{lllll}
  1900. % \bottomrule
  1901. % \caption[]{\enquote{Quoted} \arb[trans]{hamzaT}}
  1902. % \endfoot
  1903. % \toprule
  1904. % \captionlistentry{\enquote{Quoted} \arb[trans]{hamzaT}}
  1905. % Letter & \multicolumn{3}{l}{Transliteration\footnotemark}
  1906. % & Arab\TeX\ notation \\
  1907. % & \texttt{dmg} & \texttt{loc} & \texttt{arabica} & \\ \midrule
  1908. % \endfirsthead
  1909. % \toprule Letter & \multicolumn{3}{l}{Transliteration}
  1910. % & Arab\TeX\ notation \\
  1911. % & \texttt{dmg} & \texttt{loc} & \texttt{arabica} & \\ \midrule
  1912. % \endhead
  1913. % \footnotetext{See below \vref{sec:transliteration}.}
  1914. % \label{tab:quoted-hamza}
  1915. % \arb[novoc]{|"'} & \dmg{|"'} & \loc{|"'} & \brill{|"'} & \verb+|"'+ \\
  1916. % \arb[novoc]{A"'} & \dmg{A"'} & \loc{A"'} & \brill{A"'} & \verb|A"'| \\
  1917. % \arb[novoc]{a"'} & \dmg{a"'} & \loc{a"'} & \brill{a"'} & \verb|a"'| \\
  1918. % \arb[novoc]{u"'} & \dmg{u"'} & \loc{u"'} & \brill{u"'} & \verb|u"'| \\
  1919. % \arb[novoc]{w"'} & \dmg{w"'} & \loc{w"'} & \brill{w"'} & \verb|w"'| \\
  1920. % \arb[novoc]{i"'} & \dmg{i"'} & \loc{i"'} & \brill{i"'} & \verb|i"'| \\
  1921. % \arb[novoc]{y"'} & \dmg{y"'} & \loc{y"'} & \brill{y"'} & \verb|y"'| \\
  1922. % \end{longtable}
  1923. %
  1924. % As one can see from \vref{tab:quoted-hamza}, the carrier of the
  1925. % \arb[trans]{hamzaT} is inferred from the letter that precedes the
  1926. % straight double quote \meta{\texttt{"}}. Of course, any
  1927. % \enquote{quoted} \arb[trans]{hamzaT} may take a short vowel, which
  1928. % is to be written \emph{after} the Arab\TeX\ equivalent for the
  1929. % \arb[trans]{hamzaT} itself, namely \meta{\texttt{'}}. For example,
  1930. % \arb[voc]{w"'a} is encoded \meta{\texttt{w"'a}}, while
  1931. % \arb[voc]{w"'"} is encoded \meta{\texttt{w"'"}}. In the latter
  1932. % example, the second straight double quote encodes the
  1933. % \arb[trans]{sukUn} in |voc| mode in accordance with the rule laid
  1934. % above \vpagerefrange{ref:quoted-sukun-b}{ref:quoted-sukun-e}.
  1935. % \begin{quote}
  1936. % |'a`dA'ukum| \arb[fullvoc]{'a`dA'ukum} \arb[trans]{'a`dA'ukum},
  1937. % \verb+'a`dA|"'ukum+ \arb[fullvoc]{'a`daA"'|"'ukum}
  1938. % \arb[trans]{'a`dA|"'ukum}, |'a`dA'ikum| \arb[fullvoc]{'a`dA'ikum}
  1939. % \arb[trans]{'a`dA'ikum}, \verb+'a`dA|"'ikum+
  1940. % \arb[fullvoc]{'a`daA"'|"'ikum} \arb[trans]{'a`dA|"'ikum}.
  1941. % \end{quote}
  1942. %
  1943. % \subsection{\texorpdfstring{The \enquote*{pipe} character
  1944. % (\textbar)}{The ‘pipe’ character (\textbar)}}
  1945. % \label{sec:pipe}
  1946. % In the terminology of Arab\TeX, the \enquote{pipe} character
  1947. % \enquote*{\textbar} is referred to as the \enquote{invisible
  1948. % consonant}. Hence, as already seen above in
  1949. % \vref{sec:quoting-hamza}, its usage to encode the
  1950. % \arb[trans]{hamzaT} alone, with no carrier: \verb+|"'+
  1951. % \arb[novoc]{|"'}.
  1952. %
  1953. % Aside from that usage, the \enquote{pipe} character is used to
  1954. % prevent almost any of the contextual analysis rules that are
  1955. % described above from being applied. Two examples have already been
  1956. % given to demonstrate how that particular mechanism works in
  1957. % \vref{fn:pipe-allah-01} and in \vref{fn:pipe-madda}. One more example
  1958. % follows:---
  1959. % \begin{quote}
  1960. % \verb+bi-qrAn|nUn-a+ \arb[voc]{\uc{bi-qrAn|nUn-a}}
  1961. % \arb[trans]{\uc{bi-qrAn|nUn-a}}, \enquote{in Crannon} (Thessaly,
  1962. % Greece).\footnote{See more context \vpageref{ref:qrannun-full}.}
  1963. % \end{quote}
  1964. % As one can see, the \enquote{pipe} character between the two
  1965. % \meta{n} prevents the necessary \arb[trans]{ta^sdId} rule
  1966. % (\vpageref{ref:necessary-tashdid}) from being applied.
  1967. %
  1968. % \subsection{Putting back on broken contextual analysis rules}
  1969. % \label{sec:arbnull}
  1970. % \newfeature[v1.7] In complex documents such as critical editions
  1971. % where footnotes and other kind of annotations can be particularly
  1972. % abundant, the contextual analysis rules that are described above may
  1973. % be broken by \LaTeX\ commands. To take an example, consider the
  1974. % following:---%
  1975. % \iffalse
  1976. %<*example>
  1977. % \fi
  1978. \begin{example}
  1979. This is wrong:
  1980. \begin{arab}[fullvoc]
  1981. fa-lammA ra'aW\LRfootnote{A footnote which interferes with
  1982. the contextual analysis.} 'l-na^gma...
  1983. \end{arab}
  1984. \end{example}
  1985. % \iffalse
  1986. %</example>
  1987. % \fi%
  1988. % According to the rule stated \vpageref{sec:diphthong-alif}, the
  1989. % diphthong in \arb[trans]{ra'aW} must be resolved into two simple
  1990. % vowels before the \arb[trans]{'alif-u 'l-wa.sl-i}, as
  1991. % \arb[fullvoc]{ra'aW 'l-na^gma}.
  1992. %
  1993. % \DescribeMacro{\arbnull} The \cs{arbnull} command is provided so as
  1994. % to put back on contextual analysis rules in such situations. It
  1995. % takes as argument the word that must be brought back for any given
  1996. % rule to be applied as it ought to. Depending on the contexts that
  1997. % have to be restored, \cs{arbnull} may be found just after or before
  1998. % Arabic words.%
  1999. % \iffalse
  2000. %<*example>
  2001. % \fi
  2002. \begin{tcblisting}{text only}
  2003. In any case, \emph{no space must be left} after or before the Arabic
  2004. word that \cs{arbnull} is applied to.
  2005. \end{tcblisting}
  2006. % \iffalse
  2007. %</example>
  2008. % \fi%
  2009. % The following shows how the Arabic should have been written in the
  2010. % preceding example and gives further illustrations of the same
  2011. % technique:---%
  2012. % \iffalse
  2013. %<*example>
  2014. % \fi
  2015. \begin{example}
  2016. \begin{arab}[fullvoc]
  2017. fa-lammA ra'aW\arbnull{'l-na^gma}\LRfootnote{A footnote
  2018. which interferes with the contextual analysis.}
  2019. 'l-na^gma...
  2020. qAla\LRfootnote{A footnote which interferes with the
  2021. contextual analysis.} \arbnull{qAla}uhrub fa-lan tuqtala.
  2022. \uc{z}ayduN\arbnull{ibnu}\LRfootnote{A footnote which
  2023. interferes with the contextual analysis.}
  2024. \arbnull{zayduN}ibn-u \uc{`a}mriNU.\LRfootnote{See
  2025. \vref{fn:zayd-is-son}.}
  2026. \end{arab}
  2027. \begin{arab}[trans]
  2028. \uc{z}ayduN\arbnull{ibnu}\LRfootnote{A footnote which
  2029. interferes with the contextual analysis.}
  2030. \arbnull{zayduN}ibn-u \uc{`a}mriNU.\LRfootnote{See
  2031. \vref{fn:zayd-is-son}.}
  2032. \end{arab}
  2033. \end{example}
  2034. % \iffalse
  2035. %</example>
  2036. % \fi%
  2037. %
  2038. % \subsection{\texorpdfstring{Stretching characters: the
  2039. % \arb[trans]{ta.twIl}}{Stretching characters: the taṭwīl}}
  2040. % \label{sec:tatwil}
  2041. % A double hyphen \meta{-\,-} stretches the ligature in which one
  2042. % letter is bound to another. Although it is always better to rely on
  2043. % automatic stretching, this technique can be used to a modest extent,
  2044. % especially to increase legibility of letters and diacritics which
  2045. % stand one above the other:--
  2046. % \begin{quote}
  2047. % |.hunayn-u| |bn-u| |'is.h--_aq-a| \arb[voc]{.hunayn-u bn-u
  2048. % 'is.h--_aq-a} \arb[trans]{\uc{.hunayn-u} bn-u \uc{'is.h--_aq-a}}
  2049. % \end{quote}
  2050. %
  2051. % \subsection{Digits}
  2052. % \label{sec:digits}
  2053. % \subsubsection{Numerical figures}
  2054. % \label{sec:numerical-figures}
  2055. % The \emph{Indian numbers}, \arb[trans]{al-raqam-u 'l-hindiyy-u}, are
  2056. % ten in number, and they are compounded in exactly the same way as
  2057. % our numerals:---
  2058. % \begin{quote}
  2059. % |1874| \arb[voc]{1874}, |123-456,789| \arb[voc]{123-456,789}, |fI|
  2060. % |sanaT-i| |1024| \arb[voc]{fI sanaT-i 1024}
  2061. % \end{quote}
  2062. %
  2063. % \subsubsection{The \emph{abjad}}
  2064. % \label{sec:abjad}
  2065. % The numbers may also be expressed with letters from right to left
  2066. % arranged in accordance with the order of the Hebrew and Aramaic
  2067. % alphabets \parencite[see][i. 28 B--C]{Wright}. The
  2068. % \arb[trans]{'abjad} numbers are usually distinguished from the
  2069. % surrounding words by a stroke placed over them.
  2070. %
  2071. % \DescribeMacro{\abjad} \newfeature[v.1.1] \arb[trans]{'abjad}
  2072. % numbers are inserted with the \cs{abjad}\marg{number} command in any
  2073. % of the |voc|, |fullvoc| and |novoc| modes, where \meta{number} may
  2074. % be any number between 1 and 1999, like so:---
  2075. % \begin{quote}
  2076. % |\abjad{45}| |kitAbu-hu| |fI| |'l-`AdAt-i| \arb[voc]{\abjad{45}
  2077. % kitAbu-hu fI 'l-`AdAt-i} \arb[trans]{\abjad{45} kitAbu-hu fI
  2078. % 'l-`AdAt-i}.
  2079. % \end{quote}
  2080. % \begin{quoting}
  2081. % \textsc{Rem.}~\emph{a.} As can be seen in the above given example,
  2082. % \package{arabluatex} expresses the \arb[trans]{'abjad} numbers in
  2083. % Roman numerals if it finds the \cs{abjad} command in any of the
  2084. % transliteration modes.
  2085. %
  2086. % \textsc{Rem.}~\emph{b.} \cs{abjad} may also be found outside
  2087. % Arabic environments. In that case, \package{arabluatex} does not
  2088. % print the stroke as a distinctive mark over the number for it is
  2089. % not surrounded by other Arabic words. In case one nonetheless
  2090. % wishes to print the stroke, he can either use the \cs{aoline*}
  2091. % command that is described below in \vref{sec:underlining} or
  2092. % insert the \arb[trans]{'ab^gad} number in |\arb[novoc]{}|:---
  2093. % \begin{quote}
  2094. % |The| |\arb[trans]{'abjad}| |number| |for| |1874| |is|
  2095. % |\abjad{1874}| The \arb[trans]{'abjad} number for 1874 is
  2096. % \abjad{1874}.
  2097. %
  2098. % |The| |\arb[trans]{'abjad}| |number| |for| |1874| |is|
  2099. % |\aoline*{\abjad{1874}}| The \arb[trans]{'abjad} number for 1874
  2100. % is \aoline*{\abjad{1874}}.
  2101. %
  2102. % |The| |\arb[trans]{'abjad}| |number| |for| |1874| |is|
  2103. % |\arb[novoc]{\abjad{1874}}| The \arb[trans]{'abjad} number for
  2104. % 1874 is \arb[novoc]{\abjad{1874}}.
  2105. % \end{quote}
  2106. % \end{quoting}
  2107. %
  2108. % \newfeature[v1.12]\cs{abjad} may also be used to convert values of
  2109. % counters into \arb[trans]{'ab^gad} numbers, like so:--- %
  2110. % \changes{v1.12}{2018/06/24}{\cs{abjad} can now process \LaTeX\
  2111. % counters}%
  2112. % \iffalse
  2113. %<*example>
  2114. % \fi
  2115. \begin{example}
  2116. The \arb[trans]{'ab^gad} number for the current page (\thepage) is
  2117. \abjad{\thepage}.
  2118. \end{example}
  2119. % \iffalse
  2120. %</example>
  2121. % \fi%
  2122. %
  2123. % This technique can be used to produce abjad-numbered lists as will
  2124. % be demonstrated \vpageref{ref:abjad-list}.
  2125. %
  2126. % \subsection{Additional characters}
  2127. % \label{sec:additional-characters}
  2128. % In the manuscripts, the unpointed letters, \arb[trans]{al-.hurUf-u
  2129. % 'l-muhmalaT-u}, are sometimes further distinguished from the pointed
  2130. % by various contrivances, as explained in \textcite[i. 4
  2131. % B--C]{Wright}. One may find these letters written in a smaller size
  2132. % below the line, or with a dot or another mark below. As representing
  2133. % all the possible contrivances leads to much complexity and also
  2134. % needs to be agreed among scholars, new ways of encoding them will be
  2135. % proposed and gradually included as \package{arabluatex} will mature.
  2136. %
  2137. % For the time being, the following is included:---
  2138. % \begin{longtable}{lllll}
  2139. % \bottomrule
  2140. % \caption[]{Additional Arabic codings}
  2141. % \endfoot
  2142. % \toprule
  2143. % \captionlistentry{Additional Arabic codings}
  2144. % Letter & \multicolumn{3}{l}{Transliteration\footnotemark}
  2145. % & Arab\TeX\ notation \\
  2146. % & \texttt{dmg} & \texttt{loc} & \texttt{arabica} & \\ \midrule
  2147. % \endfirsthead
  2148. % \toprule
  2149. % Letter & \multicolumn{3}{l}{Transliteration}
  2150. % & Arab\TeX\ notation \\
  2151. % & \texttt{dmg} & \texttt{loc} & \texttt{arabica} \\ \midrule
  2152. % \endhead \footnotetext{See below \vref{sec:transliteration}.}
  2153. % \label{tab:additional-arabic-codings}
  2154. % \arb[novoc]{.b} & \dmg{.b} & \loc{.b} & \brill{.b} & |.b| \\
  2155. % \arb[novoc]{^d} & \dmg{^d} & \loc{^d} & \brill{^d} & |^d| \\
  2156. % \arb[novoc]{.f} & \dmg{.f} & \loc{.f} & \brill{.f} & |.f| \\
  2157. % \arb[novoc]{.q} & \dmg{.q} & \loc{.q} & \brill{.q} & |.q| \\
  2158. % \arb[novoc]{.k} & \dmg{.k} & \loc{.k} & \brill{.k} & |.k| \\
  2159. % \arb[novoc]{.n} & \dmg{.n} & \loc{.n} & \brill{.n} & |.n| \\
  2160. % \arb[novoc]{((} & \dmg{((} & \loc{((} & \brill{((} & |((| \\
  2161. % \arb[novoc]{))} & \dmg{))} & \loc{))} & \brill{))} & |))| \\
  2162. % \end{longtable}
  2163. %
  2164. % \begin{quote}
  2165. % |'afAman.tUs| Gal.(M) |.fmn.n.ts| (sic) Gal.(E1),
  2166. % \arb[novoc]{'afAman.tUs} Gal.(M) \arb[novoc]{.fmn.n.ts} (sic)
  2167. % Gal.(E1), \arb[trans]{'afAman.tUs} Gal.(M) \arb[trans]{.fmn.n.ts}
  2168. % (sic) Gal.(E1).
  2169. % \end{quote}
  2170. %
  2171. % \subsection{Arabic emphasis}
  2172. % \label{sec:emphasis}
  2173. % As already seen in \vref{sec:abjad}, the \arb[trans]{'abjad} numbers
  2174. % are distinguished from the surrounding words by a stroke placed
  2175. % over them. This technique is used to distinguish further words that
  2176. % are proper names or book titles.
  2177. %
  2178. % \DescribeMacro{\aemph} One may use the \cs{aemph}\marg{Arabic
  2179. % text} command to use the same technique to emphasize words, like so:---
  2180. % \begin{quote}
  2181. % |\abjad{45}:| |kitAbu-hu| |\aemph{fI| |'l-`AdAt-i}|
  2182. % \arb[voc]{\abjad{45}: kitAbu-hu \aemph{fI 'l-`AdAt-i}}
  2183. % \arb[trans]{\abjad{45}: kitAbu-hu \aemph{fI 'l-\uc{`AdAt-i}}}.
  2184. % \end{quote}
  2185. %
  2186. % \begin{quoting}
  2187. % \textsc{Rem.}~\emph{a.} As the above example shows,
  2188. % \package{arabluatex} places the horizontal stroke \emph{under} the
  2189. % emphasized words in any of the transliteration modes.
  2190. %
  2191. % \textsc{Rem.}~\emph{b.} \newfeature[v1.9.2]\DescribeMacro{\aemph*}
  2192. % \cs{aemph*} is also provided should one wish to always have the
  2193. % horizontal stroke printed over the emphasized words, like so:
  2194. % |\abjad{45}:| |kitAbu-hu| |\aemph*{fI| |'l-`AdAt-i}|
  2195. % \arb[voc]{\abjad{45}: kitAbu-hu \aemph*{fI 'l-`AdAt-i}}
  2196. % \arb[trans]{\abjad{45}: kitAbu-hu \aemph*{fI 'l-\uc{`AdAt-i}}}.
  2197. % \end{quoting}
  2198. %
  2199. % \subsubsection{Underlining words or numbers}
  2200. % \label{sec:underlining}
  2201. % \DescribeMacro{\aoline}%
  2202. % \DescribeMacro{\aoline*}%
  2203. % \DescribeMacro{\auline}%
  2204. % \newfeature[v1.19]Three additional, non context-sensitive commands
  2205. % are provided to distinguish words or numbers:---
  2206. % \begin{enumerate}
  2207. % \item \cs{aoline}, which is equivalent to \cs{aemph*} described
  2208. % above.
  2209. % \item \cs{aoline*}, which is the same as \cs{aoline}, but better
  2210. % suited for \arb[trans]{'ab^gad} numbers.\footnote{See the example
  2211. % provided above \vref{sec:abjad}.}
  2212. % \item \cs{auline}, which can be used to underline Arabic words.
  2213. % \end{enumerate}
  2214. %
  2215. % \section{Arabic poetry}
  2216. % \label{sec:poetry}
  2217. % \newfeature[v1.6] \package{arabluatex} provides a special
  2218. % environment for typesetting Arabic poetry. Every line in this
  2219. % environment must end with |\\|.
  2220. %
  2221. % \DescribeEnv{arabverse} The |arabverse| environment may take up to
  2222. % eight optional \enquote*{named arguments} each of which is set using
  2223. % the syntax \meta{key}$=$\meta{value}, like so:---%
  2224. % \iffalse
  2225. %<*example>
  2226. % \fi
  2227. \begin{code}
  2228. \begin{arabverse}[key1=value1, key2=value2, ...]
  2229. <verses>
  2230. \end{arabverse}
  2231. \end{code}
  2232. % \iffalse
  2233. %</example>
  2234. % \fi
  2235. %
  2236. % The description of the optional arguments follows:---
  2237. %
  2238. % \DescribeOption{mode} |mode|$=$\meta{mode}, either |voc|, |fullvoc|,
  2239. % |novoc| or |trans|. The default mode is the one that is set at load
  2240. % time as already seen \vref{sec:options}.
  2241. %
  2242. % \DescribeOption{width} |width|$=$\meta{length}
  2243. % \hfill\tcboxverb{Default: 0.3\linewidth}\\ The default width of
  2244. % each hemistich that the verse consists of. It may be expressed in
  2245. % any accepted unit of measurement, such as |4cm| or |2in|. However,
  2246. % one must keep in mind that the total length of the two hemistichs
  2247. % added to the one of the gutter that separates them must not exceed
  2248. % the length of the base line, unless one wishes to have the
  2249. % hemistichs distributed on subsequent lines.
  2250. %
  2251. % \DescribeOption{gutter} |gutter|$=$\meta{width}
  2252. % \hfill\tcboxverb{Default: 0.15 x (hemistich width)}\\ The gutter
  2253. % consists of the blank space that is between the two hemistichs. By
  2254. % default, it is commensurate with the width of the hemistich, but it
  2255. % may be expressed in any accepted unit of measurement as well.
  2256. %
  2257. % \DescribeOption{metre} |metre|$=$\meta{name}
  2258. % \hfill\tcboxverb{Default: none}\\ If the name of the metre is
  2259. % expressed, it is printed after the lines and set flush left in
  2260. % |voc|, |fullvoc| and |novoc| modes or flush right in |trans| mode.
  2261. %
  2262. % \DescribeOption{delim} |delim|$=$|true|\verb+|+|false|
  2263. % \hfill\tcboxverb{Default: false}\\ This named argument does not
  2264. % need a value as it defaults to |true| if it is used. If so, a
  2265. % delimiter is printed between each of the hemistichs. By default, it
  2266. % is set to the \enquote*{star} character \enquote*{*}. The
  2267. % \DescribeMacro{\SetHemistichDelim}\cs{SetHemistichDelim}\marg{delimiter}
  2268. % command may be used at any point of the document to change this
  2269. % default setting.
  2270. %
  2271. % \DescribeOption{utf} |utf|$=$|true|\verb+|+|false|
  2272. % \hfill\tcboxverb{Default: false}\\ As the preceding one, this
  2273. % named argument does not need a value as it defaults to |true| if it
  2274. % is used. If so, Unicode Arabic input is expected in the |arabverse|
  2275. % environment instead of \textsc{ascii} Arab\TeX\ or Buckwalter input
  2276. % schemes. See \vref{sec:unicode-input} for more details.
  2277. %
  2278. % \DescribeOption{color} |color|$=$\meta{color name}
  2279. % \hfill\tcboxverb{Default: not set}\\
  2280. % \newfeature[v1.13] The color in which lines of poetry are to be
  2281. % rendered.
  2282. %
  2283. % \label{ref:poetry-export}
  2284. % \DescribeOption{export} |export|$=$|true|\verb+|+|false|
  2285. % \hfill\tcboxverb{Default: false}\\
  2286. % \newfeature[v.1.13] This named argument does not need a value as it
  2287. % defaults to |true| if it is used. If |export| is set as a global
  2288. % option as well (see above \vpageref{export-mode}), all the lines
  2289. % will be converted to Unicode and exported to the external selected
  2290. % file. See below \vref{sec:arabtex2utf} for more details.
  2291. %
  2292. % \DescribeMacro{\bayt} Inside the |arabverse| environment, each line
  2293. % is typeset by the \cs{bayt} command which takes two mandatory
  2294. % arguments and may accept one optional
  2295. % argument.\footnote{\label{ref:bayt-star}A \enquote*{starred} version
  2296. % \cs{bayt*} is also defined. \package{arabluatex} uses it internally
  2297. % when \texttt{export} is set to \texttt{true} to instruct some Lua
  2298. % functions that lines of poetry have already been processed. That
  2299. % aside, \cs{bayt} and \cs{bayt*} do the same, and only \cs{bayt}
  2300. % should be used.} Additionally, every \cs{bayt} command \emph{must}
  2301. % be followed with |\\| like so:---%
  2302. % \iffalse
  2303. %<*example>
  2304. % \fi
  2305. \begin{tcblisting}{text only}
  2306. \cs{bayt}\marg{\arb[trans]{.sadr}}\oarg{\arb[trans]{tadwIr}}%
  2307. \marg{\arb[trans]{`ajuz}}|\\|
  2308. \end{tcblisting}
  2309. % \iffalse
  2310. %</example>
  2311. % \fi
  2312. %
  2313. % That two subsequent hemistichs should be connected with one another
  2314. % is technically named \arb[trans]{tadwIr}. Should that happen, either
  2315. % the \arb[trans]{.sadr} or the \arb[trans]{`ajuz} or both of them,
  2316. % may be connected to one another by letters that are naturally bound
  2317. % to the following or the preceding ones over the
  2318. % \arb[trans]{tadwIr}. The optional argument of the \cs{bayt} command
  2319. % is designed to deal with the various situations that may arise:---
  2320. % \begin{enumerate}
  2321. % \item If the two hemistichs be connected with one another by a
  2322. % prominent horizontal flexible stroke, the \arb[trans]{ta.twIl} should
  2323. % be used, like so: |[--]| (see \vref{sec:tatwil}). Of course, the
  2324. % ending word of the \arb[trans]{.sadr} and the word at the
  2325. % commencement of the \arb[trans]{`a^guz} must have the
  2326. % \arb[trans]{ta.twIl} too so that the proper shapes of the letters be
  2327. % selected. Consider for example the following:---
  2328. % \iffalse
  2329. %<*example>
  2330. % \fi
  2331. \begin{example}
  2332. \begin{arabverse}[mode=fullvoc, width=.3\linewidth]
  2333. \bayt{lA 'ar_A man `ahidtu fI-hA fa-'abkI 'l---}[--]{---yawma
  2334. dalhaN wa-mA yaruddu 'l-bukA'u}\\
  2335. \end{arabverse}
  2336. \end{example}
  2337. % \iffalse
  2338. %</example>
  2339. % \fi%
  2340. % As one can see, \emph{triple hyphens} have been used. In the
  2341. % \arb[trans]{.sadr}, the first hyphen triggers the rules that are
  2342. % related to the definite article and the \arb[trans]{'alif-u
  2343. % 'l-wa.sl-i},\footnote{See \vref{ref:definite-article}.} while the
  2344. % following two select the figure of the letter \arb[trans]{lAm}
  2345. % connected with a following letter. In the \arb[trans]{`a^guz}, the
  2346. % last two hyphens select the letter \arb[trans]{yA'} connected with a
  2347. % preceding letter, while the first one is simply discarded in this
  2348. % mode, but still may appear as it should, if the |trans| mode be
  2349. % selected:---%
  2350. % \iffalse
  2351. %<*example>
  2352. % \fi
  2353. \begin{example}
  2354. \begin{arabverse}[mode=trans, width=.4\linewidth]
  2355. \bayt{lA 'ar_A man `ahidtu fI-hA fa-'abkI 'l---}[--]{---yawma
  2356. dalhaN wa-mA yaruddu 'l-bukA'u}\\
  2357. \end{arabverse}
  2358. \end{example}
  2359. % \iffalse
  2360. %</example>
  2361. % \fi%
  2362. % \item In some other cases, it may seem difficult, if not fairly
  2363. % impossible, to split a given word into two parts. This happens
  2364. % mostly because of the \arb[trans]{^saddaT}. Consider for example
  2365. % the following:---
  2366. % \iffalse
  2367. %<*example>
  2368. % \fi
  2369. \begin{example}
  2370. \begin{arabverse}[mode=fullvoc, width=.25\linewidth,
  2371. gutter=1cm]
  2372. \bayt{.gayra 'annI qad 'asta`Inu `al_A 'l-ha--}[--mmi ]{'i_dA
  2373. _haffa bi-'l-_tawiyyi 'l-na^gA'u}\\
  2374. \bayt{bi-zaf--UfiN ka-'anna-hA hiq|--laTuN}[ 'ummu ]{ri'AliN
  2375. dawwiyyaTuN saqfA'u}\\
  2376. \end{arabverse}
  2377. \end{example}
  2378. % \iffalse
  2379. %</example>
  2380. % \fi%
  2381. % In the first line, the word \arb{al-hammi} should be split into
  2382. % \arb{al-ham"-- --mi} as the first part of it belongs to the
  2383. % \arb[trans]{.sadr} and the second to the \arb[trans]{`a^guz}. One
  2384. % solution to avoid splitting this word in such a way is to write
  2385. % inside the \arb[trans]{tadwIr} the part of it that belongs to either
  2386. % hemistich, without omitting to add a space after it. In the second
  2387. % line, the word \arb{'ummu} should be split into \arb{'um"-- --mu},
  2388. % so that the only way to avoid splitting it into two parts is to
  2389. % write it all inside the \arb[trans]{tadwIr}. In that case, as the
  2390. % word is to be placed in the middle, it has been surrounded by
  2391. % spaces.
  2392. % \end{enumerate}
  2393. %
  2394. % \paragraph{Scaling and distortion of characters}
  2395. % The |arabverse| environment and the \cs{bayt} command are designed
  2396. % to typeset the verses in a two-column, fixed width layout. This may
  2397. % result in a somewhat distorted text. Should that happen, one may
  2398. % adapt the layout by modifying the values of the above described
  2399. % |width| and |gutter| named arguments until the visual aspect of the
  2400. % layout be satisfactory. It has to be noted that distortion and
  2401. % warping may be even more perceptible in Roman than in Arabic
  2402. % characters.
  2403. %
  2404. % \DescribeMacro{\StretchBayt} \cs{StretchBayt}\verb+[true|false]+
  2405. % \hfill\tcboxverb{Default: true}\\
  2406. % \newfeature[v1.20] \cs{StretchBayt} takes one optional argument,
  2407. % either |true| or |false| and can be used to remove the stretching
  2408. % form lines of Arabic poetry. As a side effect, there will be more
  2409. % space between words, but this can be compensated by inserting double
  2410. % hyphens between letters (on this technique, see
  2411. % \vref{sec:tatwil}). Should it be desired to extend further the
  2412. % strokes, four hyphens may be inserted (|----|), viz. a multiple of
  2413. % two. \cs{StretchBayt} may be used at any point of the document, even
  2414. % between two subsequent lines of poetry. Note that
  2415. % \cs{StretchBayt}|[false]| may require to carefully adjust the width
  2416. % of the hemistichs to avoid overlapping.
  2417. %
  2418. % \paragraph{Footnotes}
  2419. % Footnotes are not set by default inside the \cs{bayt} command, but
  2420. % there are two easy ways to have them printed.
  2421. %
  2422. % If they are little in number, each footnote may be split into pairs
  2423. % of \cs{footnote\allowbreak{}mark}|{}| (please mind the braces or
  2424. % \enquote{declare} |footnotemark| using \cs{MkArbBreak} to take it
  2425. % out of the Arabic environment\footnote{See
  2426. % \vref{sec:declare-new-commands}.}) in the argument of the \cs{bayt}
  2427. % command and \cs{footnotetext} outside the \cs{bayt} command.
  2428. %
  2429. % If the footnotes are abundant in number, it is advised to load the
  2430. % \package{footnotehyper} package which \package{arabluatex} will then
  2431. % use to typeset any kind of footnote that is called from the
  2432. % arguments of the \cs{bayt} command.\footnote{The \package{footnote}
  2433. % package can also be used for the same effect. However, it must be
  2434. % loaded \emph{after} \package{arabluatex}.}
  2435. %
  2436. % \paragraph{Line numbering}
  2437. % Inside the |arabverse| environment, the |linenumbers| environment of
  2438. % the \package{lineno} package can be used to have the lines of
  2439. % succeeding verses numbered. Please refer to the documentation of
  2440. % this package for more information or to the example below for a
  2441. % basic implementation of this technique.
  2442. %
  2443. % \subsection{Example}
  2444. % \label{sec:poetry-example}
  2445. % Here follow the first lines of \prname{imru'u 'l-qaysi}'s
  2446. % \arb[trans]{\uc{m}u`allaqaT}. In this example, \cs{SetArbDflt*} has
  2447. % been selected so as to mark the \arb[trans]{'id.gAm} that is fit to
  2448. % this declamatory poetry:---\footnote{Please note that for the time
  2449. % being only the assimilation rules that are laid on
  2450. % \vref{ref:assimilation} are applied. See
  2451. % \vref{sec:classic-modern-typesetting} for more information. None of
  2452. % the editions of the \arb[trans]{\uc{M}u`allaqAt} that I know of
  2453. % feature the \arb[trans]{'id.gAm} in the Arabic text, although it is
  2454. % often strongly marked in declamation.}%
  2455. % \iffalse
  2456. %<*example>
  2457. % \fi
  2458. \begin{code}
  2459. \begin{arab}[fullvoc]
  2460. qAla imru'u 'l-\uc{q}aysi fI mu`allaqati-hi:
  2461. \end{arab}
  2462. \begin{arabverse}[mode=fullvoc, metre={(al-.darbu 'l-_tAnI mina
  2463. 'l-`arU.di 'l-'_Ul_A mina 'l-.tawIli)}]
  2464. \SetArbDflt*
  2465. \begin{linenumbers*}
  2466. \bayt{qifA nabki min _dikr_A .habIbiN wa-manzili}{bi-saq.ti
  2467. 'l-liw_A bayna \uc{'l-d}a_hUli fa-\uc{.h}awmali}\\
  2468. \bayt{fa-\uc{t}U.di.ha fa-'l-\uc{m}iqrATi lam ya`fu
  2469. rasmu-hA}{limA nasa^gat-hA min ^ganUbiN wa-^sam'ali}\\
  2470. \bayt{tar_A ba`ara 'l-'ar'Ami fI `ara.sAti-hA}{wa-qI`Ani-hA
  2471. ka-'anna-hu .habbu fulfuli}\\
  2472. \bayt{ka-'annI .gadATa 'l-bayni yawma ta.hammalUA}{lad_A
  2473. samurAti 'l-.hayyi nAqifu .han.zali}\\
  2474. \bayt{wuqUfaN bi-hA .sa.hbI `alayya ma.tiyya-hum}{yaqUlUna
  2475. lA tahlik 'asaN_A wa-ta^gammali}\\
  2476. \bayt{wa-'inna ^sifA'I `abraTuN muharAqaTuN}{fa-hal `inda
  2477. rasmiN dArisiN min mu`awwali}\\
  2478. \end{linenumbers*}
  2479. \end{arabverse}
  2480. \end{code}
  2481. % \iffalse
  2482. %</example>
  2483. % \fi%
  2484. %
  2485. % \medskip
  2486. % \noindent\textbf{\cs{StretchBayt}|[true]| (Default)}:---
  2487. % \begin{arab}[fullvoc]
  2488. % qAla imru'u 'l-\uc{q}aysi fI mu`allaqati-hi:
  2489. % \end{arab}
  2490. %
  2491. % \begin{arabverse}[mode=fullvoc, metre={(al-.darbu 'l-_tAnI mina
  2492. % 'l-`arU.di 'l-'_Ul_A mina 'l-.tawIli)}, width=.25\linewidth]
  2493. % \SetArbDflt*
  2494. % \begin{linenumbers*}
  2495. % \bayt{qifA nabki min _dikr_A .habIbiN wa-manzili}{bi-saq.ti
  2496. % 'l-liw_A bayna \uc{'l-d}a_hUli fa-\uc{.h}awmali}\\
  2497. % \bayt{fa-\uc{t}U.di.ha fa-'l-\uc{m}iqrATi lam ya`fu
  2498. % rasmu-hA}{limA nasa^gat-hA min ^ganUbiN wa-^sam'ali}\\
  2499. % \bayt{tar_A ba`ara 'l-'ar'Ami fI `ara.sAti-hA}{wa-qI`Ani-hA
  2500. % ka-'anna-hu .habbu fulfuli}\\
  2501. % \bayt{ka-'annI .gadATa 'l-bayni yawma ta.hammalUA}{lad_A
  2502. % samurAti 'l-.hayyi nAqifu .han.zali}\\
  2503. % \bayt{wuqUfaN bi-hA .sa.hbI `alayya ma.tiyya-hum}{yaqUlUna lA
  2504. % tahlik 'asaN_A wa-ta^gammali}\\
  2505. % \bayt{wa-'inna ^sifA'I `abraTuN muharAqaTuN}{fa-hal `inda rasmiN
  2506. % dArisiN min mu`awwali}\\
  2507. % \end{linenumbers*}
  2508. % \end{arabverse}
  2509. %
  2510. % \medskip
  2511. %
  2512. % \begin{arab}[trans]
  2513. % qAla imru'u 'l-\uc{q}aysi fI mu`allaqati-hi:
  2514. % \end{arab}
  2515. %
  2516. % \begin{arabverse}[mode=trans, metre={(al-.darbu 'l-_tAnI mina
  2517. % 'l-`arU.di 'l-'_Ul_A mina 'l-.tawIli)}, width=.4\linewidth]
  2518. % \SetArbDflt*
  2519. % \begin{linenumbers*}
  2520. % \bayt{qifA nabki min _dikr_A .habIbiN wa-manzili}{bi-saq.ti
  2521. % 'l-liw_A bayna \uc{'l-d}a_hUli fa-\uc{.h}awmali}\\
  2522. % \bayt{fa-\uc{t}U.di.ha fa-'l-\uc{m}iqrATi lam ya`fu
  2523. % rasmu-hA}{limA nasa^gat-hA min ^ganUbiN wa-^sam'ali}\\
  2524. % \bayt{tar_A ba`ara 'l-'ar'Ami fI `ara.sAti-hA}{wa-qI`Ani-hA
  2525. % ka-'anna-hu .habbu fulfuli}\\
  2526. % \bayt{ka-'annI .gadATa 'l-bayni yawma ta.hammalUA}{lad_A
  2527. % samurAti 'l-.hayyi nAqifu .han.zali}\\
  2528. % \bayt{wuqUfaN bi-hA .sa.hbI `alayya ma.tiyya-hum}{yaqUlUna lA
  2529. % tahlik 'asaN_A wa-ta^gammali}\\
  2530. % \bayt{wa-'inna ^sifA'I `abraTuN muharAqaTuN}{fa-hal `inda rasmiN
  2531. % dArisiN min mu`awwali}\\
  2532. % \end{linenumbers*}
  2533. % \end{arabverse}
  2534. %
  2535. % \medskip
  2536. % \noindent\textbf{\cs{StretchBayt}|[false]|}:---
  2537. % \StretchBayt[false]\\
  2538. % In what follows, |width| has been set to |0.3\linewidth| and double
  2539. % hyphens have been inserted between some letters to prolong their
  2540. % horizontal strokes.
  2541. % \begin{arab}[fullvoc]
  2542. % qAla imru'u 'l-\uc{q}aysi fI mu`allaqati-hi:
  2543. % \end{arab}
  2544. %
  2545. % \begin{arabverse}[mode=fullvoc, metre={(al-.darbu 'l-_tAnI mina
  2546. % 'l-`arU.di 'l-'_Ul_A mina 'l-.tawIli)}, width=.3\linewidth]
  2547. % \SetArbDflt*
  2548. % \begin{linenumbers*}
  2549. % \bayt{qifA nabki min _dikr_A .habIbiN wa-manzili}{bi-saq.ti
  2550. % 'l-liw_A bayna \uc{'l-d}a_hUli fa-\uc{.h}awmali}\\
  2551. % \bayt{fa-\uc{t}U.di.ha fa-'l-\uc{m}iqrATi lam ya`--fu
  2552. % rasmu---hA}{limA nasa^gat-hA mi--n ^gan----UbiN wa-^sam'ali}\\
  2553. % \bayt{ta--r_A ba--`ara 'l-'ar'Ami fI `ara.sAti-hA}{wa-qI--`Ani-hA
  2554. % ka-'anna---hu .ha----bbu fu--{l}--fu----li}\\
  2555. % \bayt{ka-'annI .ga--dATa 'l-bay--ni ya--wma ta.hammalUA}{lad_A
  2556. % samurAti 'l-.hayyi nAqifu .han.zali}\\
  2557. % \bayt{wuq--UfaN bi-hA .sa.hbI `a--layya ma--.tiyya---hu--m}
  2558. % {ya--q--Ul--Una lA tahli--k 'asaN_A wa-ta^gamma----li}\\
  2559. % \bayt{wa-'inna ^si----f----A'I `a--{b}----raTuN muharAqa----TuN}
  2560. % {fa---ha--l `inda rasmiN dArisiN min mu`awwali}\\
  2561. % \end{linenumbers*}
  2562. % \end{arabverse}
  2563. %
  2564. % \medskip
  2565. %
  2566. % In what follows, |width| has been set to |0.375\linewidth| and
  2567. % |\scriptsize| has been used so as to avoid overlapping.
  2568. % \begin{arab}[trans]
  2569. % qAla imru'u 'l-\uc{q}aysi fI mu`allaqati-hi:
  2570. % \end{arab}
  2571. %
  2572. % \begin{arabverse}[mode=trans, metre={(al-.darbu 'l-_tAnI mina
  2573. % 'l-`arU.di 'l-'_Ul_A mina 'l-.tawIli)}, width=.375\linewidth]
  2574. % \SetArbDflt*
  2575. % \scriptsize
  2576. % \begin{linenumbers*}
  2577. % \bayt{qifA nabki min _dikr_A .habIbiN wa-manzili}{bi-saq.ti
  2578. % 'l-liw_A bayna \uc{'l-d}a_hUli fa-\uc{.h}awmali}\\
  2579. % \bayt{fa-\uc{t}U.di.ha fa-'l-\uc{m}iqrATi lam ya`fu
  2580. % rasmu-hA}{limA nasa^gat-hA min ^ganUbiN wa-^sam'ali}\\
  2581. % \bayt{tar_A ba`ara 'l-'ar'Ami fI `ara.sAti-hA}{wa-qI`Ani-hA
  2582. % ka-'anna-hu .habbu fulfuli}\\
  2583. % \bayt{ka-'annI .gadATa 'l-bayni yawma ta.hammalUA}{lad_A
  2584. % samurAti 'l-.hayyi nAqifu .han.zali}\\
  2585. % \bayt{wuqUfaN bi-hA .sa.hbI `alayya ma.tiyya-hum}{yaqUlUna lA
  2586. % tahlik 'asaN_A wa-ta^gammali}\\
  2587. % \bayt{wa-'inna ^sifA'I `abraTuN muharAqaTuN}{fa-hal `inda rasmiN
  2588. % dArisiN min mu`awwali}\\
  2589. % \end{linenumbers*}
  2590. % \end{arabverse}
  2591. % \StretchBayt[true]
  2592. %
  2593. % \section{Special applications}
  2594. % \label{sec:special-applications}
  2595. % \phantomsection
  2596. % \paragraph{Linguistics}
  2597. % The same horizontal stroke as the \arb[trans]{ta.twIl} (see
  2598. % \vref{sec:tatwil}) may be encoded \meta{B}; \meta{BB} will receive
  2599. % the \arb[trans]{ta^sdId}. This is useful to make linguistic
  2600. % annotations and comments on vowels:---
  2601. % \begin{quote}
  2602. % |Bu| |Ba| |Bi| |BuN| |BaN| |BiN| \arb[voc]{Bu Ba Bi BuN BaN BiN}
  2603. % \arb[trans]{Bu Ba Bi BuN BaN BiN}, |BBu| |BBa| |BBi| \arb[voc]{BBu
  2604. % BBa BBi} \arb[trans]{BBu BBa BBi}, |B--aN| \arb[voc]{B--aN}
  2605. % \arb[trans]{B--aN}, |B"| \arb[voc]{B"}\,.
  2606. % \end{quote}
  2607. %
  2608. % \paragraph{Brackets}
  2609. % \phantomsection
  2610. % \newfeature[v1.4.3] The various bracket symbols are useful in
  2611. % technical documents such as critical editions for indicating that
  2612. % some words or some letters must be added or
  2613. % removed. \package{arabluatex} will automatically fit those symbols
  2614. % to the direction of the text. For the time being, the following
  2615. % symbols are supported:
  2616. % \begin{itemize}
  2617. % \item parentheses: |()|
  2618. % \item square brackets: |[]|
  2619. % \item angle brackets: |<>|
  2620. % \item braces: |{}|
  2621. % \end{itemize}
  2622. %
  2623. % \DescribeMacro{\abraces} Parentheses, square and angle brackets may
  2624. % be input directly at the keyboard; however, words or letters that
  2625. % are to be read between braces must be passed as arguments to the
  2626. % \cs{abraces} command:---%
  2627. % \iffalse
  2628. %<*example>
  2629. % \fi
  2630. \begin{example}
  2631. \begin{arab}
  2632. \abraces{wa-qAla} 'inna 'abI kAna mina 'l-muqAtilaTi
  2633. wa-kAna--<--t> 'ummI min `u.zamA'i buyUti 'l-zamAzimaTi.
  2634. \end{arab}
  2635. \end{example}
  2636. % \iffalse
  2637. %</example>
  2638. % \fi
  2639. %
  2640. % \paragraph{Additional Arabic marks}
  2641. % \label{sec:arabic-marks}
  2642. % In addition to common letters, many symbols and ligatures are
  2643. % encoded in Arabic Unicode standard, such as honorifics consisting of
  2644. % complex ligatures, and annotation signs used in the
  2645. % \arb[trans]{\uc{qur'An}} or in classical poetry.
  2646. %
  2647. % \DescribeMacro{\arbmark}
  2648. % \newfeature[v1.11]\cs{arbmark}\oarg{rl\textbar{}lr}\marg{shorthand}
  2649. % can be used to insert such characters either in Unicode or in
  2650. % romanized Arabic environments. It takes as argument a shorthand
  2651. % defined beforehand in a default list which consists of the following
  2652. % at the time of writing:---
  2653. %
  2654. % \begin{longtable}{llp{.3\linewidth}p{.3\linewidth}}
  2655. % \bottomrule
  2656. % \caption[]{Additional Arabic marks}
  2657. % \endfoot
  2658. % \toprule
  2659. % \captionlistentry{Additional Arabic marks}
  2660. % Codepoint & Shorthand & Glyph & Transliteration \\ \midrule
  2661. % \endfirsthead
  2662. % \toprule
  2663. % Codepoint & Shorthand & Glyph & Transliteration \\ \midrule
  2664. % \endhead\label{tab:arabtex-additional-marks}%
  2665. % |FDFD| & |bismillah| & \arb{\arbmark{bismillah}} &
  2666. % \arbmark{bismillah} \\
  2667. % |FDF5| & |salam| & \arb{\arbmark{salam}} & \arbmark{salam} \\
  2668. % |FDFA| & |slm| & \arb{\arbmark{slm}} & \arbmark{slm} \\
  2669. % |FDFB| & |jalla| & \arb{\arbmark{jalla}} & \arbmark{jalla} \\
  2670. % \end{longtable}
  2671. %
  2672. % \newfeature[v1.13]
  2673. % The mark to be inserted is determined by contextual analysis, or by
  2674. % an optional argument, either |rl| to have the Arabic glyph printed,
  2675. % or |lr| to print the tranliterated equivalent.
  2676. %
  2677. % \DescribeMacro{\newarbmark} \newfeature[v1.11] \cs{newarbmark} is
  2678. % also provided should one wish to define new marks in addition to the
  2679. % marks defined above. This command takes three arguments, like so:---
  2680. % \arabluabox{\cs{newarbmark}\marg{shorthand}\marg{RTL
  2681. % codepoint}\marg{LTR rendition}}
  2682. %
  2683. % As regards the right-to-left codepoint, it may be either typed in
  2684. % Unicode or selected as Unicode codepoint. To that end, the \LaTeX\
  2685. % command \tcboxverb{\symbol{"XYZT}} or its plain \TeX\ variant
  2686. % \tcboxverb{\char"XYZT\relax} may be used, where |XYZT| are
  2687. % uppercase hex digits (|0| to |9| or |A| to |F|).
  2688. %
  2689. % It is also possible to use the so-called `|^^^^| notation' like so:
  2690. % \tcboxverb{^^^^xyzt}, where |xyzt| are lowercase hex digits (|0|
  2691. % to |9| or |a| to |f|).
  2692. %
  2693. % As regards the third argument (left-to-right rendition), it may be
  2694. % either left empty or typed by means of
  2695. % \cs{arb}|[trans]|\marg{arabtex code} so as to have it printed in
  2696. % romanized Arabic.%
  2697. % \iffalse
  2698. %<*example>
  2699. % \fi
  2700. \begin{tcblisting}{text only}
  2701. It must be noted that \cs{newarbmark} expects Arab\TeX\ input scheme
  2702. inside \cs{arb}|[trans]{}| to the exclusion of \textsf{buckwalter}
  2703. input scheme.
  2704. \end{tcblisting}
  2705. % \iffalse
  2706. %</example>
  2707. % \fi%
  2708. %
  2709. % The example below provides an implementation of this technique. It
  2710. % may be observed that \cs{arbcolor} is used so as to have the marks
  2711. % printed in red:---%
  2712. % \iffalse
  2713. %<*example>
  2714. % \fi
  2715. \begin{example}
  2716. \SetArbDflt*
  2717. \newarbmark{sly}{\arbcolor[red]{^^^^06d6}}{}
  2718. \newarbmark{jim}{\arbcolor[red]{^^^^06da}}{}
  2719. \begin{arab}
  2720. sUraTu 'l-nisA'i, 19:
  2721. \end{arab}
  2722. \begin{center}
  2723. \begin{arab}
  2724. \arbmark{bismillah}
  2725. \end{arab}
  2726. \end{center}
  2727. \begin{arab}[fullvoc]
  2728. y_a'ayyuhA 'lla_dIna 'a'manUA lA ya.hillu la-kum 'an tari_tUA
  2729. 'l-nisA'a karhaN\arbmark{sly} wa-lA ta`.dulU-hunna li-ta_dhabUA
  2730. bi-ba`.di mA 'a'taytumU-hunna 'illA 'an ya'tIna bi-fA.hi^saTiN
  2731. mubayyinaTiN\arbmark{jim} wa-`A^sirU-hunna
  2732. bi-'l-ma`rUfi\arbmark{jim} fa-'in karihtumU-hunna fa-`as_A_a
  2733. 'an takrahUA ^say'aN wa-ya^g`ala 'l-l_ahu fI-hi _hayraN
  2734. ka_tIraN ((19))
  2735. \end{arab}
  2736. \end{example}
  2737. % \iffalse
  2738. %</example>
  2739. % \fi
  2740. %
  2741. % \paragraph{\texorpdfstring{The \enquote*{Zero width joiner}
  2742. % character (\texttt{U+200D})}%
  2743. % {The ‘Zero width joiner’ character (\texttt{U+200D})}}
  2744. % \phantomsection%
  2745. % \newfeature[v1.18]%
  2746. % The \enquote*{Zero width joiner} character (|U+200D|) belongs to the
  2747. % \enquote*{General Punctuation} block (range |2000|--|206F|) of the
  2748. % Unicode standard. It is a non-printing character which, when it is
  2749. % placed between two characters that would for some reason not be
  2750. % connected, causes them to be printed in their connected forms.
  2751. %
  2752. % It is encoded |&| in Arab\TeX\ scheme.
  2753. %
  2754. % In elegantly printed books where many of the letters are interwoven
  2755. % with one another so as to form ligatures, it may be convenient to
  2756. % bring the letters into line in some instances. In the following
  2757. % example, the \enquote*{zero width joiner} is used to prevent two
  2758. % adjacent letters, viz.\ \arb[novoc]{s} and \arb[novoc]{.h}, from
  2759. % standing one above the other in the name of \prname{'is.h_aq}
  2760. % (\arb[fullvoc]{'is.h_aq"}):\footnote{\cs{underLine} and
  2761. % \cs{highLight} are taken from the \package{lua-ul} package which is
  2762. % loaded by \package{arabluatex}. See \textcite{pkg:lua-ul}.}---
  2763. % \iffalse
  2764. %<*example>
  2765. % \fi
  2766. \begin{example}
  2767. \begin{arab}[fullvoc]
  2768. huwa 'abU zaydiN .hunaynu bnu 'is&\underLine{&.h_a}qa
  2769. 'l-`a\underLine{bA}diyyu bi-fat.hi 'l-`ayni wa-ta_hfIfi 'l-bA'i.
  2770. huwa 'abU zaydiN .hunaynu bnu 'is&\highLight{&.h_a}qa
  2771. 'l-`a\highLight{bA}diyyu bi-fat.hi 'l-`ayni wa-ta_hfIfi 'l-bA'i.
  2772. \end{arab}
  2773. \end{example}
  2774. % \iffalse
  2775. %</example>
  2776. % \fi
  2777. %
  2778. % \subsection{\texorpdfstring{The \prname{qur'An}}{The Qurʾān}}
  2779. % \label{sec:the-quran}
  2780. % This sub-part is destined to become a part of its own, as fine
  2781. % typesetting of \prname{qur'An}ic text is planned in the versions of
  2782. % \package{arabluatex} to come in the medium-term. New functions and
  2783. % new Arabic modes will be available as \package{arabluatex} will
  2784. % mature.
  2785. %
  2786. % \DescribeMacro{\ayah}\newfeature[v1.15]For the time being,
  2787. % \cs{ayah}\marg{3-digit number} is provided so as to typeset the
  2788. % number of the \arb[trans]{'AyaT} that it is referred to inside the
  2789. % dedicated mark---Unicode |U+06DD|: \txarb{^^^^06dd}---in Arabic
  2790. % script or inside parentheses in romanized Arabic:---
  2791. % \begin{quote}
  2792. % |\ayah{123}| \arb{\ayah{123}} \arb[trans]{\ayah{123}}.
  2793. % \end{quote}
  2794. %
  2795. % An example follows:---
  2796. % \iffalse
  2797. %<*example>
  2798. % \fi
  2799. \begin{example}
  2800. \SetArbDflt*
  2801. \newarbmark{alifsp}{^^^^0627}{\arb[trans]{'alif} }
  2802. \newarbmark{lamsp}{^^^^0644^^^^0653}{\arb[trans]{lAm} }
  2803. \newarbmark{mim}{^^^^0645^^^^0653}{\arb[trans]{mIm}}
  2804. \begin{arab}[fullvoc]
  2805. min ((sUraTi \uc{'l-b}aqaraTi)):
  2806. \end{arab}
  2807. \begin{arab}[fullvoc]
  2808. \arbmark{alifsp}\arbmark{lamsp}\arbmark{mim}~\ayah{1}
  2809. _d_alika 'l-kit_abu lA rayba fI-hi hudaN_A
  2810. li-l-muttaqIna~\ayah{2} 'lla_dIna yu'minUna bi-'l-.gaybi
  2811. wa-yuqImUna 'l-.sal_aUTa wa-mimmA razaqn_a-hum
  2812. yunfiqUna~\ayah{3}
  2813. \end{arab}
  2814. \end{example}
  2815. \begin{tcblisting}{text only}
  2816. \SetArbDflt*
  2817. \begin{arab}[trans]
  2818. min ((sUraTi \uc{'l-b}aqaraTi)):
  2819. \end{arab}
  2820. \begin{arab}[trans]
  2821. \arbmark{alifsp}\arbmark{lamsp}\arbmark{mim}~\ayah{1}
  2822. _d_alika 'l-kit_abu lA rayba fI-hi hudaN_A
  2823. li-l-muttaqIna~\ayah{2} 'lla_dIna yu'minUna bi-'l-.gaybi
  2824. wa-yuqImUna 'l-.sal_aUTa wa-mimmA razaqn_a-hum
  2825. yunfiqUna~\ayah{3}
  2826. \end{arab}
  2827. \end{tcblisting}
  2828. % \iffalse
  2829. %</example>
  2830. % \fi
  2831. %
  2832. % \paragraph{Caveat}
  2833. % For some reason, most of the Arabic fonts do not show the number
  2834. % properly: some are only able to display at most two digits, while
  2835. % others display the digits outside the \enquote*{end of
  2836. % \arb[trans]{'AyaT}} sign, let alone those that print the digits
  2837. % stacked. To the knowledge of the writer, this should be reported to
  2838. % the developers of those fonts.
  2839. %
  2840. % \section{Color}
  2841. % \label{sec:color}
  2842. % \newfeature[v1.12]\package{arabluatex} is able to render in color
  2843. % either words, parts of words or diacritics. As the techniques
  2844. % implemented in this section may lead to some complexity, the reader
  2845. % should first become well acquainted with the following
  2846. % points:\footnote{Regarding the colors themselves and the way new
  2847. % colors can be defined in addition to those that are already
  2848. % available, please refer to the \package{xcolor} package.}---
  2849. % \begin{enumerate}
  2850. % \item The \enquote{pipe} character (\textbar, \vref{sec:pipe});
  2851. % \item \enquote*{Quoting} technique (\vref{sec:quoting}), and more
  2852. % specifically \enquote*{quoting the \arb[trans]{hamzaT}}
  2853. % (\vpageref{sec:quoting-hamza});
  2854. % \item Putting back on broken contextual analysis rules
  2855. % (\vref{sec:arbnull});
  2856. % \item Arabic marks (\vref{sec:arabic-marks}).
  2857. % \end{enumerate}
  2858. %
  2859. % \DescribeMacro{\arbcolor} \cs{arbcolor} takes the text to be colored
  2860. % into \meta{color} as an argument:---
  2861. % \arabluabox{\cs{arbcolor}\oarg{color}\marg{Arabic text}}
  2862. %
  2863. % \iffalse
  2864. %<*example>
  2865. % \fi
  2866. \begin{example}
  2867. \begin{arab}
  2868. \arbcolor[red]{al-bAbu 'l-_hAmisu} fI .tabaqAti 'l-'a.tibbA'i
  2869. 'lla_dIna kAnUA mun_du zamAni \uc{^gAlInUsa} wa-qarIbaN
  2870. min-hu. \arbcolor[red]{\uc{^gAlInUsu}}: wa-l-na.da` 'awwalaN
  2871. kalAmaN kulliyyaN fI 'a_hbAri \uc{^gAlInUsa} wa-mA kAna
  2872. `alay-hi...
  2873. \end{arab}
  2874. \begin{arab}[trans]
  2875. \arbcolor[red]{al-bAbu 'l-_hAmisu} fI .tabaqAti 'l-'a.tibbA'i
  2876. 'lla_dIna kAnUA mun_du zamAni \uc{^gAlInUsa} wa-qarIbaN
  2877. min-hu. \arbcolor[red]{\uc{^gAlInUsu}}: wa-l-na.da` 'awwalaN
  2878. kalAmaN kulliyyaN fI 'a_hbAri \uc{^gAlInUsa} wa-mA kAna
  2879. `alay-hi...
  2880. \end{arab}
  2881. \end{example}
  2882. % \iffalse
  2883. %</example>
  2884. % \fi
  2885. %
  2886. % As this example shows, \cs{arbcolor} has been used to render
  2887. % headings in red with the same encoding both in vocalized and in
  2888. % romanized Arabic. The same technique also applies to syllabes inside
  2889. % words. \package{arabluatex} takes care of selecting the appropriate
  2890. % shape of the letters while coloring them:---
  2891. % \begin{quote}\textbf{\enquote*{voc} mode}:\\
  2892. % |i^stara\arbcolor[brown]{y}tu-hu| |bi-_tama\arbcolor[red]{niN}|
  2893. % \\
  2894. % |'a`\arbcolor[blue]{^ga}ba-ka|
  2895. % \arb{i^stara\arbcolor[brown]{y}tu-hu bi-_tama\arbcolor[red]{niN}
  2896. % 'a`\arbcolor[blue]{^ga}ba-ka}
  2897. % \arb[trans]{i^stara\arbcolor[brown]{y}tu-hu
  2898. % bi-_tama\-\arbcolor[red]{niN} 'a`\arbcolor[blue]{^ga}ba-ka}.
  2899. % \end{quote}
  2900. % \begin{quote}\textbf{\enquote*{fullvoc} mode}:\\
  2901. % |i^stara\arbcolor[brown]{y}tu-hu| |bi-_tama\arbcolor[red]{niN}|
  2902. % \\
  2903. % |'a`\arbcolor[blue]{^ga}ba-ka|
  2904. % \arb[fullvoc]{i^stara\arbcolor[brown]{y}tu-hu
  2905. % bi-_tama\arbcolor[red]{niN} 'a`\arbcolor[blue]{^ga}ba-ka}
  2906. % \arb[trans]{i^stara\arbcolor[brown]{y}tu-hu
  2907. % bi-_tama\-\arbcolor[red]{niN} 'a`\arbcolor[blue]{^ga}ba-ka}.
  2908. % \end{quote}
  2909. %
  2910. % \subsection{Tricks of the trade}
  2911. % \label{sec:color-tricks}
  2912. % \paragraph{Diacritics}
  2913. % Depending on the mode selected, either |voc|, |novoc| or |fullvoc|,
  2914. % coloring the diacritics requires more attention for the insertion of
  2915. % \cs{arbcolor} may prevent contextual analysis from being applied.
  2916. %
  2917. % Furthermore, depending on the surrounding letters, the standard
  2918. % encoding of short vowels \meta{u, a, i} may result either in
  2919. % diacritics or in a connective \arb[trans]{'alif} with the
  2920. % \arb[trans]{wa.slaT} or its accompanying vowel. As for the
  2921. % \arb[trans]{sukUn}, it is generated by contextual analysis. Thus
  2922. % applying colors to bare diacritics requires them to have specific
  2923. % encodings.
  2924. %
  2925. % \Vref{tab:arbcolor-diacritics} gives the Arab\TeX\ equivalents for
  2926. % the diacritics to be printed inside or just after \cs{arbcolor}.
  2927. %
  2928. % \begin{longtable}{lllll}
  2929. % \bottomrule
  2930. % \caption[]{Arab\TeX\ diacritics for \cs{arbcolor}}
  2931. % \endfoot
  2932. % \toprule
  2933. % \captionlistentry{Arab\TeX\ diacritics for \cs{arbcolor}}
  2934. % Diacritic & \multicolumn{3}{l}{Transliteration\footnotemark}
  2935. % & Arab\TeX\ notation \\
  2936. % & \texttt{dmg} & \texttt{loc} & \texttt{arabica} & \\ \midrule
  2937. % \endfirsthead
  2938. % \toprule
  2939. % Diacritic & \multicolumn{3}{l}{Transliteration}
  2940. % & Arab\TeX\ notation \\
  2941. % & \texttt{dmg} & \texttt{loc} & \texttt{arabica} & \\ \midrule
  2942. % \endhead \footnotetext{See below \vref{sec:transliteration}.}
  2943. % \label{tab:arbcolor-diacritics}
  2944. % \arb{B.a} & \dmg{.a} & \loc{.a} & \brill{.a} & \verb|.a| \\
  2945. % \arb{B.u} & \dmg{.u} & \loc{.u} & \brill{.u} & \verb|.u| \\
  2946. % \arb{B.i} & \dmg{.i} & \loc{.i} & \brill{.i} & \verb|.i| \\ \midrule
  2947. % \arb{Bo} & \dmg{o} & \loc{o} & \brill{o} & \verb|o| \\
  2948. % \end{longtable}
  2949. %
  2950. % The following examples show how the letters, or the diacritics above
  2951. % or under them or both the letters and the diacritics can be rendered
  2952. % in different colors:---
  2953. % \begin{quote}\textbf{\enquote*{voc} mode}:\\
  2954. % |i^staraytu-hu| |bi-_taman\arbcolor[red]{iN}|
  2955. % |'a`^g\arbcolor[red]|\allowbreak|{.a}ba-ka|
  2956. % \arb{i^staraytu-hu bi-_taman\arbcolor[red]{iN}
  2957. % 'a`^g\arbcolor[red]{.a}ba-ka}
  2958. % \arb[trans]{i^staraytu-hu bi-_taman\arbcolor[red]{iN}
  2959. % 'a`^g\arbcolor[red]{.a}ba-ka}.
  2960. %
  2961. % |i^staraytu-hu| |bi-_tama\arbcolor[red]{n}iN|
  2962. % |'a`\arbcolor[red]|\allowbreak|{^g}.aba-ka|
  2963. % \arb{i^staraytu-hu bi-_tama\arbcolor[red]{n}iN
  2964. % 'a`\arbcolor[red]{^g}.aba-ka}
  2965. % \arb[trans]{i^staraytu-hu bi-_tama\arbcolor[red]{n}iN
  2966. % 'a`\arbcolor[red]{^g}.aba-ka}.
  2967. %
  2968. % |i^staraytu-hu| |bi-_tama\arbcolor[red]{n}\arbcolor[blue]{iN}|
  2969. % \\
  2970. % |'a`\arbcolor[red]|\allowbreak|{^g}\arbcolor[blue]{.a}ba-ka|
  2971. % \arb{i^staraytu-hu bi-_tama\arbcolor[red]{n}\arbcolor[blue]{iN}
  2972. % 'a`\arbcolor[red]{^g}\arbcolor[blue]{.a}ba-ka} \linebreak
  2973. % \arb[trans]{i^staraytu-hu
  2974. % bi-_tama\arbcolor[red]{n}\arbcolor[blue]{iN}
  2975. % 'a`\arbcolor[red]{^g}\arbcolor[blue]{.a}ba-ka}.
  2976. % \end{quote}
  2977. %
  2978. % \begin{quote}\textbf{\enquote*{fullvoc} mode}:\\
  2979. % |i^staray"\arbcolor[red]{o}tu-hu| |bi-_taman"\arbcolor[red]{iN}|
  2980. % \\
  2981. % |'a`^g"\arbcolor[red]{.a}ba-ka|
  2982. % \arb[fullvoc]{i^staray"\arbcolor[red]{o}tu-hu
  2983. % bi-_taman"\arbcolor[red]{iN} 'a`^g"\arbcolor[red]{.a}ba-ka}
  2984. % \arb[trans]{i^staray"\arbcolor[red]{o}tu-hu
  2985. % bi-_taman"\arbcolor[red]{iN} 'a`^g"\arbcolor[red]{.a}ba-ka}.
  2986. %
  2987. % |i^stara\arbcolor[red]{y"}otu-hu| |bi-_tama\arbcolor[red]{n"}iN|
  2988. % \\
  2989. % |'a`\arbcolor[red]|\allowbreak|{^g"}.aba-ka|
  2990. % \arb[fullvoc]{i^stara\arbcolor[red]{y"}otu-hu
  2991. % bi-_tama\arbcolor[red]{n"}iN 'a`\arbcolor[red]{^g"}.aba-ka}
  2992. % \arb[trans]{i^stara\arbcolor[red]{y"}otu-hu
  2993. % bi-_tama\arbcolor[red]{n"}iN 'a`\arbcolor[red]{^g"}.aba-ka}.
  2994. %
  2995. % |i^stara\arbcolor[red]{y"}\arbcolor[blue]{o}tu-hu|
  2996. % \\
  2997. % |bi-_tama\arb|\allowbreak|color[red]{n"}\arbcolor[blue]{iN}|
  2998. % |'a`\arbcolor[red]|\\|{^g"}\arb|
  2999. % |color[blue]{.a}ba-ka|
  3000. % \arb[fullvoc]{i^stara\arbcolor[red]{y"}\arbcolor[blue]{o}tu-hu
  3001. % bi-_tama\arbcolor[red]{n"}\arbcolor[blue]{iN}
  3002. % 'a`\arbcolor[red]{^g"}\arbcolor[blue]{.a}ba-ka}
  3003. % \arb[trans]{i^stara\arbcolor[red]{y"}\arbcolor[blue]{o}tu-hu
  3004. % bi-_tama\arbcolor[red]{n"}\arbcolor[blue]{iN}
  3005. % 'a`\arbcolor[red]{^g"}\arbcolor[blue]{.a}ba-ka}.
  3006. % \end{quote}
  3007. %
  3008. % As can be seen, |fullvoc| required the letters |y|, |n| and |^g|
  3009. % before \cs{arbcolor} to be \enquote*{quoted}. Otherwise, unwanted
  3010. % \arb[trans]{sukUn}\txtrans{s} would have been generated because of
  3011. % the absence of a vowel after those consonants.
  3012. %
  3013. % \paragraph{\texorpdfstring{\arb[trans]{tanwIn}}{tanwīn}}
  3014. % \cs{arbnull} must be used with \arb[trans]{fat.haTAn} (\arb{BaN}) so
  3015. % as to put back on contextual analysis rules:---
  3016. % \begin{quote}
  3017. % |mu`allim\arbcolor[red]{\arbnull{m}aN}|
  3018. % \arb{mu`allim\arbcolor[red]{\arbnull{m}aN}}
  3019. % \arb[trans]{mu`allim\arbcolor[red]{\arbnull{m}aN}},\\
  3020. % |istisqA'\arbcolor[red]{\arbnull{A'}aN}|
  3021. % \arb{istisqA'\arbcolor[red]{\arbnull{A'}aN}}
  3022. % \arb[trans]{istisqA'\arbcolor[red]{\arbnull{A'}aN}},\\
  3023. % |^say'\arbcolor[red]{\arbnull{ay'}aN}|
  3024. % \arb{^say'\arbcolor[red]{\arbnull{ay'}aN}}
  3025. % \arb[trans]{^say'\arbcolor[red]{\arbnull{ay'}aN}},\\
  3026. % \verb+^gAmi`aT|\arbcolor[red]{\arbnull{T}aN}+
  3027. % \arb{^gAmi`aT|\arbcolor[red]{\arbnull{T}aN}}
  3028. % \arb[trans]{^gAmi`aT|\arbcolor[red]{\arbnull{T}aN}}.
  3029. % \end{quote}
  3030. % \begin{quoting}
  3031. % \textsc{Rem.} Note that in the last example
  3032. % (\arb[trans]{^gAmi`aT|\arbcolor[red]{\arbnull{T}aN}}), the
  3033. % \enquote*{pipe} character has been inserted before
  3034. % \cs{arbcolor}. Otherwise, the |dmg| mode of the transliteration
  3035. % rules would have interpreted the \arb[trans]{tA' marbU.taT} as
  3036. % \emph{final} (e.g. \txtrans{h} instead of the expected
  3037. % \txtrans{t}).\footnote{See also \vpageref{ref:ta-marbutah-pipe}
  3038. % \enquote{Discarding the \arb[trans]{'i`rAb}} for more
  3039. % information.}
  3040. % \end{quoting}
  3041. %
  3042. % The \arb[trans]{tanwIn} preceding a \arb[novoc]{_A} conveys even
  3043. % more intricate business to the rendering with the utmost accuracy in
  3044. % both romanized and non-romanized modes. First, a new Arabic mark
  3045. % needs to be defined. It should print \arb[novoc]{_A} in Arabic
  3046. % script and not a thing in transliteration. It is to be appended after
  3047. % \cs{arbcolor}, like so:---
  3048. % \iffalse
  3049. %<*example>
  3050. % \fi
  3051. \begin{example}
  3052. \newarbmark{Y}{^^^^0649}{}
  3053. \arb{hud\arbcolor[red]{aN\arbnull{_A}}\arbmark{Y}}
  3054. \arb[trans]{hud\arbcolor[red]{aN\arbnull{_A}}\arbmark{Y}}
  3055. \end{example}
  3056. % \iffalse
  3057. %</example>
  3058. % \fi%
  3059. %
  3060. % \paragraph{\texorpdfstring{\arb[trans]{wa.slaT} and
  3061. % \arb[trans]{maddaT}}{waṣlah and maddah}}
  3062. % Both can be generated with the help of \cs{arbnull}:---
  3063. % \begin{quote}
  3064. % |wa-\arbcolor[red]{\arbnull{wa}i}stisqA'uN|
  3065. % \arb[fullvoc]{wa-\arbcolor[red]{\arbnull{wa}i}stisqA'uN}
  3066. % \arb[trans]{wa-\arbcolor[red]{\arbnull{wa}i}stisqA'uN}\footnote{To
  3067. % the knowledge of the writer, the \arb[trans]{wa.slaT} alone is not
  3068. % part of the Arabic Unicode block.}.
  3069. %
  3070. % |fI| |"al".i-\arbcolor[red]{\arbnull{'l-}i}btidA'i|\\
  3071. % \arb[fullvoc]{fI "al".i-\arbcolor[red]{\arbnull{'l-}i}btidA'i}
  3072. % \arb[trans]{fI "al".i-\arbcolor[red]{\arbnull{'l-}i}btidA'i}.
  3073. %
  3074. % |\arbcolor[red]{'a'\arbnull{k}}kulu|
  3075. % \arb{\arbcolor[red]{'a'\arbnull{k}}kulu}
  3076. % \arb[trans]{\arbcolor[red]{'a'\arbnull{k}}kulu},\\
  3077. % |\arbcolor[red]{'A\arbnull{k}}kiluN|
  3078. % \arb{\arbcolor[red]{'A\arbnull{k}}kiluN}
  3079. % \arb[trans]{\arbcolor[red]{'A\arbnull{k}}kiluN}.
  3080. % \end{quote}
  3081. %
  3082. % The Unicode codepoint of the \arb[trans]{maddaT} is 0653, while bare
  3083. % \arb[trans]{'alif} is 0627. So:--- %
  3084. % \iffalse
  3085. %<*example>
  3086. % \fi
  3087. \begin{example}
  3088. \newarbmark{alifmaddahred}{^^^^0627\arbcolor[red]{^^^^0653}}%
  3089. {\arb[trans]{\arbcolor[red]{'a'\arbnull{k}}}}
  3090. \arb{\arbmark{alifmaddahred}kulu}
  3091. \arb[trans]{\arbmark{alifmaddahred}kulu}.
  3092. \end{example}
  3093. % \iffalse
  3094. %</example>
  3095. % \fi%
  3096. %
  3097. % \begin{quoting}
  3098. % \textsc{Rem.} In the preceding example, any consonant could have
  3099. % been passed as argument to the \cs{arbnull} command.
  3100. % \end{quoting}
  3101. %
  3102. % \paragraph{\texorpdfstring{\arb[trans]{^sad\-daT}}{šaddah}}
  3103. % In the following example, it is assumed that the
  3104. % \arb[trans]{^saddaT} above the letter \arb[novoc]{l} in
  3105. % \arb[fullvoc]{al-mu`allimUna}, \arb[trans]{al-mu`allimUna}, is to be
  3106. % rendered in red. Thus the Arabic mark must generate the
  3107. % \arb[trans]{^saddaT} alone---of which the Unicode codepoint is
  3108. % 0651---in Arabic script and the letter \enquote*{l} in
  3109. % transliteration:--- %
  3110. %\iffalse
  3111. %<*example>
  3112. % \fi
  3113. \begin{example}
  3114. \newarbmark{lamshaddah}{^^^^0651}{l}
  3115. \arb[fullvoc]{al-mu`al"\arbcolor[red]{\arbmark{lamshaddah}}.imUna}
  3116. \arb[trans]{al-mu`al"\arbcolor[red]{\arbmark{lamshaddah}}.imUna}.
  3117. \end{example}
  3118. % \iffalse
  3119. %</example>
  3120. % \fi%
  3121. %
  3122. % \paragraph{\texorpdfstring{The definite article and the euphonic
  3123. % \arb[trans]{ta^sdId}}{The definite article and the euphonic tašdīd}}
  3124. % The intricate business of rendering in color the initial
  3125. % \arb[trans]{'alif al-wa.sl} of the definite article followed by a
  3126. % solar consonant must be unraveled.
  3127. %
  3128. % From the examples provided above, in |fI 'l-nAsi| \arb[fullvoc]{fI
  3129. % 'l-nAsi} \arb[trans]{fI 'l-nAsi}, the initial \arb[trans]{'alif-u
  3130. % 'l-wa.sl-i} can be rendered in red like so:
  3131. % |\arbcolor[red]{\arbnull{al-}a}|
  3132. % \arb[fullvoc]{\arbcolor[red]{\arbnull{al-}a}}. Then, the following
  3133. % two letters, namely |l-n|, must print the string \arb[trans]{lAm}
  3134. % $+$ \arb[trans]{nUn} $+$ \arb[trans]{^saddaT} in Arabic, and exactly
  3135. % \txtrans{n-n} in transliteration. Thus an Arabic mark is
  3136. % needed:--- %
  3137. % \iffalse
  3138. %<*example>
  3139. % \fi
  3140. \begin{example}
  3141. \newarbmark{lnn}{^^^^0644^^^^0646^^^^0651}{n-n}
  3142. \arb[fullvoc]{fI\arbnull{al-}
  3143. \arbcolor[red]{\arbnull{al-}a}\arbmark{lnn}Asi}
  3144. \arb[trans]{fI\arbnull{al-}
  3145. \arbcolor[red]{\arbnull{al-}a}\arbmark{lnn}Asi}.
  3146. \end{example}
  3147. % \iffalse
  3148. %</example>
  3149. % \fi%
  3150. %
  3151. % \paragraph{\texorpdfstring{\arb[trans]{hamzaT}}{hamzah}}
  3152. % The \enquote*{quoting} technique provides an easy way to determine
  3153. % the carrier of the \arb[trans]{hamzaT}, as shown in
  3154. % \vref{tab:quoted-hamza}:---
  3155. % \begin{quote}
  3156. % \verb+yatasA\arbnull{'a}\arbcolor[red]{|"'}.alUna+
  3157. % \arb{yatasA\arbnull{'a}\arbcolor[red]{|"'}.alUna}
  3158. % \arb[trans]{yatasA\arbnull{'a}\-\arbcolor[red]{|"'}.a\-lUna},
  3159. % \\
  3160. % \verb+^say\arbcolor[red]{|"'}\arbnull{'}aN+
  3161. % \arb{^say\arbcolor[red]{|"'}\arbnull{'}aN}
  3162. % \arb[trans]{^say\arbcolor[red]{|"'}\arbnull{'}aN},
  3163. % \verb+^say\arbcolor[red]+\\\verb+{|"'}iN+
  3164. % \arb{^say\arbcolor[red]{|"'}iN}
  3165. % \arb[trans]{^say\arbcolor[red]{|"'}iN},
  3166. % |\arbcolor[red]{a"'}.as\arbcolor[red]{y"'}.ilaTuN|
  3167. % \arb{\arbcolor[red]{a"'}.as\arbcolor[red]{y"'}.ilaTuN}
  3168. % \arb[trans]{\arbcolor[red]{a"'}.as\arbcolor[red]{y"'}.ilaTuN}.
  3169. % \end{quote}
  3170. %
  3171. %
  3172. % \section{Transliteration}
  3173. % \label{sec:transliteration}
  3174. % It may be more appropriate to speak of \enquote{romanization} than
  3175. % \enquote{transliteration} of Arabic. As seen above in
  3176. % \vref{sec:options} \vpagerefrange{sec:options}{sec:local-options},
  3177. % the \enquote{transliteration mode} may be selected globally or locally.
  3178. %
  3179. % This mode transliterates the Arab\TeX\ input into one of the
  3180. % accepted standards. As said above \vpageref{ref:describe-trans},
  3181. % three standards are supported at present:
  3182. % \begin{description}
  3183. % \item[dmg] \emph{Deutsche Morgenländische Gesellschaft}, which was
  3184. % adopted by the International Convention of Orientalist Scholars in
  3185. % Rome in 1935.\footnote{See \textcite{dmg}.} |dmg| transliteration
  3186. % convention is selected by default;
  3187. % \item[loc] \emph{Library of Congress}: this standard is part of a
  3188. % large set of standards for romanization of non-roman scripts
  3189. % adopted by the American Library Association and the Library of
  3190. % Congress;\footnote{See
  3191. % \url{http://www.loc.gov/catdir/cpso/roman.html} for the
  3192. % \href{http://www.loc.gov/catdir/cpso/romanization/arabic.pdf}{source
  3193. % document concerning Arabic language}.}
  3194. % \item[arabica] \newfeature[v1.8]
  3195. % \changes{v1.8}{2017/03/30}{\texttt{arabica} transliteration
  3196. % standard is now supported} \emph{Journal of Arabic and Islamic
  3197. % Studies}/\emph{Revue d'études arabes et islamiques}: this standard
  3198. % is most widely used by scholars in the field of Arabic
  3199. % studies.\footnote{See
  3200. % \url{http://www.brill.nl/files/brill.nl/specific/authors_instructions/ARAB.pdf}.}
  3201. % \end{description}
  3202. % More standards will be included in future releases of
  3203. % \package{arabluatex}.
  3204. %
  3205. % \paragraph{Convention} \DescribeMacro{\SetTranslitConvention} The
  3206. % transliteration mode, which is set to |dmg| by default, may be
  3207. % changed at any point of the document by the
  3208. % \cs{SetTranslitConvention}\marg{mode} command , where \meta{mode}
  3209. % may be either |dmg|, |loc| or |arabica|. This command is also
  3210. % accepted in the preamble should one wish to set the transliteration
  3211. % mode globally, e.g.:---%
  3212. % \iffalse
  3213. %<*example>
  3214. % \fi
  3215. \begin{code}
  3216. \usepackage{arabluatex}
  3217. \SetTranslitConvention{loc}
  3218. \end{code}
  3219. % \iffalse
  3220. %</example>
  3221. % \fi
  3222. %
  3223. % \paragraph{Style} \DescribeMacro{\SetTranslitStyle} Any
  3224. % transliterated Arabic text is printed in italics by default. This
  3225. % also can be changed either globally in the preamble or locally at
  3226. % any point of the document by the \cs{SetTranslitStyle}\marg{style}
  3227. % command, where \meta{style} may be any font shape selection
  3228. % command, e.g. \cs{upshape}, \cs{itshape}, \cs{slshape}, and so forth.
  3229. %
  3230. % \paragraph{Font} \newfeature[v1.4] \DescribeMacro{\SetTranslitFont}
  3231. % \cs{SetTranslitFont}\marg{font selection command} allows any
  3232. % specific font to be selected for rendering transliterated text with
  3233. % the font-selecting commands of the \package{fontspec} or
  3234. % \package{luaotfload} package. Of course, this font must have been
  3235. % defined properly. To take one example, here is how the \emph{Gentium
  3236. % Plus} font can be used for rendering transliterated text:---
  3237. % \iffalse
  3238. %<*example>
  3239. % \fi
  3240. \begin{code}
  3241. \newfontfamily\translitfont{Gentium Plus}[Ligatures=TeX]
  3242. \SetTranslitFont{\translitfont}
  3243. \end{code}
  3244. % \iffalse
  3245. %</example>
  3246. % \fi
  3247. %
  3248. % \paragraph{Proper names} \DescribeMacro{\uc} Proper names or book
  3249. % titles that must have their first letters uppercased may be passed
  3250. % as arguments to the \cs{uc}\marg{word} command. \cs{uc} is a
  3251. % clever command, for it will give the definite article
  3252. % \arb[trans]{al-} in lower case in all positions. Moreover, if the
  3253. % inital letter, apart from the article, cannot be uppercased,
  3254. % viz. \arb[trans]{|"'} or \arb[trans]{`}, the letter next to it will be
  3255. % uppercased:---
  3256. % \begin{quote}
  3257. % |\uc{.hunayn-u}| |bn-u| |\uc{'is.h_aq-a}|
  3258. % \arb[voc]{\uc{.hunayn-u} bn-u \uc{'is.h_aq-a}}
  3259. % \arb[trans]{\uc{.hunayn-u} bn-u \uc{'is.h_aq-a}},
  3260. % |\uc{`u_tm_an-u}| \arb[voc]{\uc{`u_tm_an-u}}
  3261. % \arb[trans]{\uc{`u_tm_an-u}}, |.daraba| |\uc{zayd-u}| |bn-u|
  3262. % |\uc{_h_alidiN}| |\uc{sa`d-a}| |bn-a| |\uc{`awf-i}| |bn-i|
  3263. % |\uc{|\allowbreak|`abd-i}| |\uc{'l-l_ah-i}|
  3264. % \arb[fullvoc]{.daraba \uc{zayd-u} bn-u \uc{_h_alidiN}
  3265. % \uc{sa`d-a} bn-a \uc{`awf-i} bn-i \uc{`abd-i} \uc{'l-l_ah-i}}
  3266. % \arb[trans]{.daraba \uc{zayd-u} bn-u \uc{_h_alidiN} \uc{sa`d-a}
  3267. % bn-a \uc{`awf-i} bn-i \uc{`abd-i} \uc{'l-l_ah-i}}.
  3268. % \end{quote}
  3269. % However, \cs{uc} must be used cautiously in some very particular
  3270. % cases, for the closing brace of its argument may prevent a rule from
  3271. % being applied. To take an example, as seen above
  3272. % \vpageref{ref:muhammaduni}, the transliteration of
  3273. % \arb[fullvoc]{\uc{m}u.hammaduN 'l-nabI} must be
  3274. % \arb[trans]{\uc{m}u.hammaduN 'l-nabI}, as nouns having the
  3275. % \arb[trans]{tanwIn} take a \arb[trans]{kasraT} in pronunciation
  3276. % before \arb[trans]{'alifu 'l-wa.sli}. In that case, encoding
  3277. % \arb[fullvoc]{mu.hammaduN} like so: |\uc{mu.hammaduN}| is wrong,
  3278. % because the closing brace would prevent \package{arabluatex} from
  3279. % detecting the sequence \meta{-uN} immediately followed by
  3280. % \meta{'l-}. Fortunately, this can be circumvented in a
  3281. % straightforward way by inserting only part of the noun in the
  3282. % argument of \cs{uc} vz. up to the first letter that is to be
  3283. % uppercased, like so: |\uc{m}u.hammaduN|.
  3284. %
  3285. % \paragraph{Hyphenation}
  3286. % In case transliterated Arabic words break the \TeX\ hyphenation
  3287. % algorithm, one may use the |\-| command to insert discretionary
  3288. % hyphens. This command will be discarded in all of the Arabic modes
  3289. % of \package{arabluatex}, but will be processed by any of the
  3290. % transliteration modes:---
  3291. % \begin{quote}
  3292. % |\uc{'abU}| |\uc{bakriN}| |\uc{mu\-.ham\-madu}| |bnu|
  3293. % |\uc{za\-ka| |\-riy\-yA'a}| |\uc{'l-rAziyyu}| \arb{\uc{'abU}
  3294. % \uc{bakriN} \uc{mu\-.ham\-mad-u} bnu \uc{za\-ka\-riy\-yA'a}
  3295. % \uc{'l-rAziyyu}} \arb[trans]{\uc{'abU} \uc{bakriN}
  3296. % \uc{mu\-.ham\-mad-u} bn-u \uc{za\-ka\-riy\-yA'-a}
  3297. % \uc{'l-rAziyyu}}.
  3298. % \end{quote}
  3299. %
  3300. % \paragraph{\texorpdfstring{\enquote*{Long} pro\-per
  3301. % names}{‘Long’ proper names}}
  3302. % \newfeature[v1.10] \cs{uc} is also able to process proper names
  3303. % consisting of several subsequent words:---
  3304. % \begin{quote}
  3305. % |\arb[trans]{\uc{'abU| |zaydiN| |.hunaynu| |bnu| |'is.h_aqa|
  3306. % |'l-`ibAdiyyu}}| \arb[trans]{\uc{'abU zaydiN .hunaynu bnu
  3307. % 'is.h_aqa 'l-`ibAdiyyu}}.
  3308. % \end{quote}
  3309. %
  3310. % \paragraph{Proper names outside Arabic environments}
  3311. % \changes{v1.10}{2018/01/03}{\cs{uc} supersedes \cs{cap}}
  3312. % \DescribeMacro{\prname}\newfeature[v1.10] Transliterated proper
  3313. % names inserted in paragraphs of English text should be printed in
  3314. % the same typeface as the surrounding text. \cs{prname}\marg{Arabic
  3315. % proper name} is provided to that effect:\footnote{Just as \cs{uc},
  3316. % \cs{prname} is also able to process proper names consisting of
  3317. % several subsequent words.}---
  3318. %\iffalse
  3319. %<*example>
  3320. % \fi
  3321. \begin{example}
  3322. From \textcite[i. 23 C]{Wright}:--- If the name following
  3323. \arb[fullvoc]{ibnuN} be that of the mother or the grandfather, the
  3324. \arb[fullvoc]{"a} is retained; as \arb[fullvoc]{`Is_A ibnu maryama},
  3325. \enquote{Jesus the son of Mary}; \arb[fullvoc]{`ammAru ibnu
  3326. man.sUriN}, \enquote{\prname{`ammAr} the (grand)son of
  3327. \prname{man.sUr}}.
  3328. \end{example}
  3329. % \iffalse
  3330. %</example>
  3331. % \fi
  3332. %
  3333. % The following example shows how \cs{prname} can be used in
  3334. % conjunction with the \package{nameauth} package to have Arabic
  3335. % proper names printed first in full then in partial
  3336. % forms:\footnote{See the documentation of \package{nameauth} for more
  3337. % details: \url{https://ctan.org/pkg/nameauth}}--- %
  3338. %\iffalse
  3339. %<*example>
  3340. % \fi
  3341. \begin{example}
  3342. \begin{nameauth}
  3343. \< Hunayn & \prname{'abU zayd} & \prname{.hunayn}, \prname{{i}bn
  3344. 'is.h_aq al-`ibAdiyy} & > %
  3345. \< Razi & \prname{'abU bakr mu.hammad ibn zakariyyA'} &
  3346. \prname{al-rAziyy} & > %
  3347. \end{nameauth}
  3348. On first occurrence, proper names are printed as \Hunayn, \Razi.
  3349. Then as \Hunayn, \Razi.
  3350. \end{example}
  3351. % \iffalse
  3352. %</example>
  3353. % \fi
  3354. %
  3355. % \begin{quoting}\label{ref:prname-star}
  3356. % \textsc{Rem.} \DescribeMacro{\prname*} \package{arabluatex} also
  3357. % provides \cs{prname*} which only renders in upright roman style
  3358. % already transliterated proper names without applying any further
  3359. % processing. It is mostly used internally and applied to proper
  3360. % names exported in Unicode to an external selected
  3361. % file.\footnote{See below \vref{sec:arabtex2utf} for more details.}
  3362. % \end{quoting}
  3363. %
  3364. % \subsection{Additional note on \texttt{dmg} convention}
  3365. % \label{sec:additional-note-dmg}
  3366. % \newfeature[v1.3] According to \textcite[6]{dmg}, Arabic
  3367. % \arb[trans]{'i`rAb} may be rendered into |dmg| in three different
  3368. % ways:
  3369. % \begin{enumerate}
  3370. % \item \label{ref:dmg-full-rend}In full:
  3371. % \NoArbUp\arb[trans]{\uc{`amruNU}}\ArbUpDflt\,;
  3372. % \item \label{ref:dmg-up-rend}As superscript text:
  3373. % \arb[trans]{\uc{`amruNU}}\,;
  3374. % \item \label{ref:irab-discarded}Discarded: \arb[trans]{\uc{`amr}}.
  3375. % \end{enumerate}
  3376. % \DescribeMacro{\arbup} By default, \package{arabluatex} applies rule
  3377. % \ref{ref:dmg-up-rend}. Once delimited by a set of Lua functions,
  3378. % \arb[trans]{'i`rAb} is passed as an argument on to a \cs{arbup}
  3379. % command which is set to \cs{textsuperscript}.
  3380. %
  3381. % \DescribeMacro{\NoArbUp} \DescribeMacro{\ArbUpDflt} \cs{NoArbUp} may
  3382. % be used either in the preamble or at any point of the document in
  3383. % case one wishes to apply rule \ref{ref:dmg-full-rend}. The default
  3384. % rule \ref{ref:dmg-up-rend} can be set back with \cs{ArbUpDflt} at
  3385. % any point of the document.
  3386. %
  3387. % \DescribeMacro{\SetArbUp} Finally, \cs{SetArbUp}\marg{formatting
  3388. % directives} can be used to customize the way \arb[trans]{'i`rAb} is
  3389. % displayed. To take one example, here is how Arabic
  3390. % \arb[trans]{'i`rAb} may be rendered as subscript text:---
  3391. % \iffalse
  3392. %<*example>
  3393. % \fi
  3394. \begin{example}
  3395. \SetArbUp{\textsubscript{#1}}
  3396. Arabic |dmg| transliteration for \arb{ra'aytu ^gAmi`aN
  3397. muhaddamaTaN mi'_danatu-hu}: \arb[trans]{ra'aytu
  3398. ^gAmi`aN muhaddamaTaN mi'_danatu-hu.}
  3399. \end{example}
  3400. % \iffalse
  3401. %</example>
  3402. % \fi
  3403. %
  3404. % As shown in the above example, |#1| is the token that is replaced
  3405. % with the actual \arb[trans]{tanwIn} in the formatting directives of
  3406. % the \cs{SetArbUp} command.
  3407. %
  3408. % \paragraph{\texorpdfstring{\arb[trans]{'i`rAb} boundaries}{ʾiʿrāb
  3409. % boundaries}}
  3410. % Every declinable noun (\arb[trans]{mu`rab}) may be declined either
  3411. % with or without \arb[trans]{tanwIn}, viz. \arb[trans]{mun.sarifuN}
  3412. % or \arb[trans]{.gayr-u mun.sarifiN}. The former is automatically
  3413. % parsed by \package{arabluatex}, whereas the latter has to be
  3414. % delimited with an hyphen, like so:---
  3415. % \begin{quote}
  3416. % \arb[trans]{\textbf{mun.sarif}}: |mu`allimuN|
  3417. % \arb[voc]{mu`allimuN} \arb[trans]{mu`allimuN}, |kA'inuN|
  3418. % \arb[voc]{kA'inuN} \arb[trans]{kA'inuN}, |kA'inAtuN|
  3419. % \arb[voc]{kA'inAtuN} \arb[trans]{kA'inAtuN}, |\uc{`amraNU}|
  3420. % \arb[voc]{\uc{`amraNU}} \arb[trans]{\uc{`amraNU}}, |fataN_A|
  3421. % \arb[voc]{fataN_A} \arb[trans]{fataN_A}, |qA.diNI| \arb{qA.diNI}
  3422. % \arb[trans]{qA.diNI}.
  3423. %
  3424. % \arb[trans]{\textbf{.gayr mun.sarif}}: |al-mu`allim-u|
  3425. % \arb[voc]{al-mu`allim-u} \arb[trans]{al-mu`allim-u}, |kitAb-Ani|
  3426. % \arb[voc]{kitAb-Ani} \arb[trans]{kitAb-Ani}, |ra^sa'-Ani|
  3427. % \arb[voc]{ra^sa'-Ani} \arb[trans]{ra^sa'-Ani}, |sAriq-Una|
  3428. % \arb[voc]{sAriq-Una} \arb[trans]{sAriq-Una}, |qA.d-Una|
  3429. % \arb[voc]{qA.d-Una} \arb[trans]{qA.d-Una}, |al-.zulm-Atu|
  3430. % \arb[voc]{al-.zulm-Atu} \arb[trans]{al-.zulm-Atu}.
  3431. % \end{quote}
  3432. %
  3433. % \begin{quoting}
  3434. % \textsc{Rem.}~\emph{a.} As the \arb[trans]{tanwIn} is passed over
  3435. % in pronunciation when it is followed by the letters
  3436. % \arb[novoc]{r}, \arb[novoc]{l}, \arb[novoc]{m}, \arb[novoc]{w},
  3437. % \arb[novoc]{y} (see \vref{ref:assimilation}), it may be desirable
  3438. % to further distinguish it by putting it above the line, but not to
  3439. % do the same for \arb[trans]{.gayr mun.sarif} terminations. This
  3440. % can be achieved by simply omitting the hyphen before any
  3441. % \arb[trans]{.gayr mun.sarif} termination:---\\
  3442. % |kAna| |.ganiyyaN| |l_akinna-hu| |labisa| |^gubbaTaN| |mumazzaqaN|
  3443. % |'aydu-hA| \arb[voc]{kAna .ganiyyaN l_akinna-hu labisa ^gubbaTaN
  3444. % mumazzaqaN 'aydu-hA} \arb[trans]{kAna .ganiyyaN l_akinna-hu labisa
  3445. % ^gubbaTaN mumazzaqaN 'aydu-hA}.
  3446. %
  3447. % \textsc{Rem.}~\emph{b.} Although the hyphen before the
  3448. % \arb[trans]{tanwIn} is optional as \package{arabluatex} always
  3449. % parses nouns with such termination, it may also be used to mark
  3450. % better the inflectional endings:---\\
  3451. % |mana`a| |'l-nAs-a| |kAffaT-aN| |min| |mu_hA.tabati-hi|
  3452. % |'a.had-uN| |bi-sayyidi-nA| \arb[voc]{mana`a 'l-nAs-a kAffaT-aN
  3453. % min mu_hA.tabati-hi 'a.had-uN bi-sayyidi-nA} \arb[trans]{mana`a
  3454. % 'l-nAs-a kAffaT-aN min mu_hA.tabati-hi 'a.had-uN bi-sayyidi-nA}.
  3455. % \end{quoting}
  3456. %
  3457. % \paragraph{\texorpdfstring{Discar\-ding the
  3458. % \arb[trans]{'i`rAb}}{Discarding the ʾiʿrāb}}
  3459. % \label{ref:ta-marbutah-pipe}
  3460. % As said above (\vref{ref:irab-discarded}), the \arb[trans]{'i`rAb}
  3461. % may be discarded in some cases, as in transliterated proper names or
  3462. % book titles. \package{arabluatex} is able to render words ending
  3463. % with \arb[trans]{tA' marbU.taT} in different ways, depending on
  3464. % their function:---
  3465. % \begin{enumerate}
  3466. % \item Nouns followed by an adjective in apposition: |madInaT|
  3467. % |kabIraT| \arb[trans]{madInaT kabIraT}, |al-madInaT| |al-kabIraT|
  3468. % \arb[trans]{al-madInaT al-kabIraT}.
  3469. % \item Nouns followed by another noun in the genitive (contruct
  3470. % state): |.hikmaT| |al-l_ah| \arb[trans]{.hikmaT| \uc{al-l_ah}},
  3471. % |fi.d.daT| |al-darAhim| \arb[trans]{fi.d.daT al-darAhim}.
  3472. % \end{enumerate}
  3473. % \begin{quoting}
  3474. % \textsc{Rem.} It may so happen, as in the absence of the article
  3475. % before the annexed word, that \package{arabluatex} be unable to
  3476. % determine which of the above two cases the word ending with
  3477. % \arb[trans]{tA' marbU.taT} falls into. The \enquote*{pipe}
  3478. % character (see \vref{sec:pipe}) may be appended to that word to
  3479. % indicate that what follows is in the construct state:
  3480. % |\uc{r}isAlaT| |fI| |tartIb| \verb+qirA'aT|+ |kutub|
  3481. % |\uc{^g}AlInUs| \arb[trans]{\uc{r}isAlaT fI tartIb qirA'aT|
  3482. % kutub \uc{^g}AlInUs}.
  3483. % \end{quoting}
  3484. %
  3485. %
  3486. % \paragraph{Uncertain short vowels}
  3487. % In some printed books, it may happen that more than one short vowel
  3488. % be placed on a consonant in cases where the vocalization is
  3489. % uncertain or ambiguous, like so: \arb[voc]{fa`uaila}. In
  3490. % transliteration, the uncertain vowels go between slashes and are
  3491. % separated by commas: |fa`uaila| \arb[voc]{fa`uaila}
  3492. % \arb[trans]{fa`uaila}.
  3493. %
  3494. % \subsection{Examples}
  3495. % \label{sec:examples-translit}
  3496. % Here follows in transliteration the story of
  3497. % \arb[trans]{\uc{ju.hA}} and his donkey (\arb[voc]{\uc{ju.hA
  3498. % wa-.himAru-hu}}). See the code \vpageref{ref:juha-code}:---
  3499. %
  3500. % \SetTranslitConvention{dmg}
  3501. % \begin{arab}[trans]
  3502. % \LR{\textbf{\emph{\enquote*{dmg}} standard:}} 'at_A .sadIquN 'il_A
  3503. % \uc{ju.hA} ya.tlubu min-hu .himAra-hu li-yarkaba-hu fI safraTiN
  3504. % qa.sIraTiN fa-qAla la-hu: \enquote{sawfa 'u`Idu-hu 'ilay-ka fI
  3505. % 'l-masA'-i wa-'adfa`u la-ka 'ujraTaN.} fa-qAla \uc{ju.hA}:
  3506. % \enquote{'anA 'AsifuN jiddaN 'annI lA 'asta.tI`u 'an 'u.haqqiqa
  3507. % la-ka ra.gbata-ka fa-'l-.himAr-u laysa hunA 'l-yawm-a.} wa-qabla
  3508. % 'an yutimma \uc{ju.hA} kalAma-hu bada'a 'l-.himAr-u yanhaqu fI
  3509. % 'i.s.tabli-hi. fa-qAla la-hu .sadIqu-hu: \enquote{'innI 'asma`u
  3510. % .himAra-ka yA \uc{ju.hA} yanhaqu.} fa-qAla la-hu \uc{ju.hA}:
  3511. % \enquote{.garIbuN 'amru-ka yA .sadIqI 'a-tu.saddiqu 'l-.himAr-a
  3512. % wa-tuka_d_diba-nI?}
  3513. % \end{arab}
  3514. %
  3515. % \SetTranslitConvention{loc}
  3516. % \begin{arab}[trans]
  3517. % \LR{\textbf{\emph{\enquote*{loc}} standard:}} 'at_A .sadIquN 'il_A
  3518. % \uc{ju.hA} ya.tlubu min-hu .himAra-hu li-yarkaba-hu fI safraTiN
  3519. % qa.sIraTiN fa-qAla la-hu: \enquote{sawfa 'u`Idu-hu 'ilay-ka fI
  3520. % 'l-masA'-i wa-'adfa`u la-ka 'ujraTaN.} fa-qAla \uc{ju.hA}:
  3521. % \enquote{'anA 'AsifuN jiddaN 'annI lA 'asta.tI`u 'an 'u.haqqiqa
  3522. % la-ka ra.gbata-ka fa-'l-.himAr-u laysa hunA 'l-yawm-a.} wa-qabla
  3523. % 'an yutimma \uc{ju.hA} kalAma-hu bada'a 'l-.himAr-u yanhaqu fI
  3524. % 'i.s.tabli-hi. fa-qAla la-hu .sadIqu-hu: \enquote{'innI 'asma`u
  3525. % .himAra-ka yA \uc{ju.hA} yanhaqu.} fa-qAla la-hu \uc{ju.hA}:
  3526. % \enquote{.garIbuN 'amru-ka yA .sadIqI 'a-tu.saddiqu 'l-.himAr-a
  3527. % wa-tuka_d_diba-nI?}
  3528. % \end{arab}
  3529. % \SetTranslitConvention{dmg}
  3530. %
  3531. % \SetTranslitConvention{arabica}
  3532. % \begin{arab}[trans]
  3533. % \LR{\textbf{\emph{\enquote*{arabica}} standard:}} 'at_A .sadIquN
  3534. % 'il_A \uc{ju.hA} ya.tlubu min-hu .himAra-hu li-yarkaba-hu fI
  3535. % safraTiN qa.sIraTiN fa-qAla la-hu: \enquote{sawfa 'u`Idu-hu
  3536. % 'ilay-ka fI 'l-masA'-i wa-'adfa`u la-ka 'ujraTaN.} fa-qAla
  3537. % \uc{ju.hA}: \enquote{'anA 'AsifuN jiddaN 'annI lA 'asta.tI`u 'an
  3538. % 'u.haqqiqa la-ka ra.gbata-ka fa-'l-.himAr-u laysa hunA 'l-yawm-a.}
  3539. % wa-qabla 'an yutimma \uc{ju.hA} kalAma-hu bada'a 'l-.himAr-u
  3540. % yanhaqu fI 'i.s.tabli-hi. fa-qAla la-hu .sadIqu-hu: \enquote{'innI
  3541. % 'asma`u .himAra-ka yA \uc{ju.hA} yanhaqu.} fa-qAla la-hu
  3542. % \uc{ju.hA}: \enquote{.garIbuN 'amru-ka yA .sadIqI 'a-tu.saddiqu
  3543. % 'l-.himAr-a wa-tuka_d_diba-nI?}
  3544. % \end{arab}
  3545. % \SetTranslitConvention{dmg}
  3546. %
  3547. % \section{Buckwalter input scheme}
  3548. % \label{sec:buckwalter-scheme}
  3549. % \newfeature[v1.4] Even though \package{arabluatex} is primarily
  3550. % designed to process the Arab\TeX\ notation, it can also process the
  3551. % Buckwalter input scheme to a large extent.\footnote{See
  3552. % \url{http://www.qamus.org/transliteration.htm}} The Buckwalter
  3553. % scheme is actually processed in two steps, as it is first converted
  3554. % into Arab\TeX. Then, once this is accomplished, the Arab\TeX\ scheme
  3555. % is processed through the above described functions. In this way, the
  3556. % Buckwalter input scheme can make the most of the
  3557. % \package{arabluatex} special features that are presented in
  3558. % \vref{sec:options}.
  3559. %
  3560. % \DescribeMacro{\SetInputScheme} The input scheme, which is set to
  3561. % |arabtex| by default, may be changed at any point of the document by
  3562. % the \cs{SetInputScheme}\marg{scheme} command, where \meta{scheme}
  3563. % may be either |arabtex| or |buckwalter|. This command is also
  3564. % accepted in the preamble should one wish to set the input scheme
  3565. % globally, like so:---
  3566. % \iffalse
  3567. %<*example>
  3568. % \fi
  3569. \begin{code}
  3570. \usepackage{arabluatex}
  3571. \SetInputScheme{buckwalter}
  3572. \end{code}
  3573. % \iffalse
  3574. %</example>
  3575. % \fi
  3576. %
  3577. % \paragraph{\texorpdfstring{\enquote*{base}, \enquote*{\texttt{xml}}
  3578. % and \enquote*{safe} schemes}{‘base’, ‘xml’ and ‘safe’ schemes}}
  3579. % \package{arabluatex} can use any of the so-called Buckwalter
  3580. % \enquote*{base}, \enquote*{\texttt{xml}} or \enquote*{safe} schemes
  3581. % as they are described in \textcite[25--26]{Habash}.\footnote{I am
  3582. % grateful to Graeme Andrews who suggested that the \enquote*{safe}
  3583. % scheme be included in \package{arabluatex}.} However, the following
  3584. % limitation apply to the \enquote*{base} and \enquote*{\texttt{xml}}
  3585. % schemes: the braces |{| and |}|, which are used to encode
  3586. % \arb[novoc]{"a} and \arb[novoc]{y"'}, must be replaced with square
  3587. % brackets viz. |[| and |]| respectively.
  3588. %
  3589. % It is therefore recommended to use the Buckwalter \enquote*{safe}
  3590. % scheme.
  3591. %
  3592. % \Vref{tab:buckwalter-scheme} gives the Buckwalter equivalents that
  3593. % are currently used by \package{arabluatex}. The additional
  3594. % characters that are defined in \vref{tab:additional-arabic-codings}
  3595. % are also available.
  3596. %
  3597. % \begin{longtable}{llllll}
  3598. % \bottomrule
  3599. % \caption[]{Buckwalter input scheme}
  3600. % \endfoot
  3601. % \toprule
  3602. % \captionlistentry{Buckwalter input scheme}
  3603. % Letter & \multicolumn{3}{l}{Transliteration\footnotemark}
  3604. % & \multicolumn{2}{l}{Buckwalter notation} \\
  3605. % & \texttt{dmg} & \texttt{loc} & \texttt{arabica} & |base/xml| &
  3606. % |safe| \\ \midrule
  3607. % \endfirsthead
  3608. % \toprule
  3609. % Letter & \multicolumn{3}{l}{Transliteration}
  3610. % & \multicolumn{2}{l}{Buckwalter notation} \\
  3611. % & \texttt{dmg} & \texttt{loc} & \texttt{arabica} & |base/xml| &
  3612. % |safe| \\ \midrule
  3613. % \endhead \footnotetext{See \vref{sec:transliteration}.}
  3614. % \label{tab:buckwalter-scheme}
  3615. % \arb[novoc]{a} & \dmg{a} & \loc{a} & \brill{a} & |A| & |A| \\
  3616. % \arb[novoc]{b} & \dmg{b} & \loc{b} & \brill{b} & |b| & |b| \\
  3617. % \arb[novoc]{t} & \dmg{t} & \loc{t} & \brill{t} & |t| & |t| \\
  3618. % \arb[novoc]{_t} & \dmg{_t} & \loc{_t} & \brill{_t} & |v| & |v| \\
  3619. % \arb[novoc]{j} & \dmg{j} & \loc{j} & \brill{j} & |j| & |j| \\
  3620. % \arb[novoc]{.h} & \dmg{.h} & \loc{.h} & \brill{.h} & |H| & |H| \\
  3621. % \arb[novoc]{x} & \dmg{x} & \loc{x} & \brill{x} & |x| & |x| \\
  3622. % \arb[novoc]{d} & \dmg{d} & \loc{d} & \brill{d} & |d| & |d| \\
  3623. % \arb[novoc]{_d} & \dmg{_d} & \loc{_d} & \brill{_d} & |*| & |V| \\
  3624. % \arb[novoc]{r} & \dmg{r} & \loc{r} & \brill{r} & |r| & |r| \\
  3625. % \arb[novoc]{z} & \dmg{z} & \loc{z} & \brill{z} & |z| & |z| \\
  3626. % \arb[novoc]{s} & \dmg{s} & \loc{s} & \brill{s} & |s| & |s| \\
  3627. % \arb[novoc]{^s} & \dmg{^s} & \loc{^s} & \brill{^s} & |$| & |c| \\
  3628. % \arb[novoc]{.s} & \dmg{.s} & \loc{.s} & \brill{.s} & |S| & |S| \\
  3629. % \arb[novoc]{.d} & \dmg{.d} & \loc{.d} & \brill{.d} & |D| & |D| \\
  3630. % \arb[novoc]{.t} & \dmg{.t} & \loc{.t} & \brill{.t} & |T| & |T| \\
  3631. % \arb[novoc]{.z} & \dmg{.z} & \loc{.z} & \brill{.z} & |Z| & |Z| \\
  3632. % \arb[novoc]{`} & \dmg{`} & \loc{`} & \brill{`} & |E| & |E| \\
  3633. % \arb[novoc]{.g} & \dmg{.g} & \loc{.g} & \brill{.g} & |g| & |g| \\
  3634. % \arb[novoc]{f} & \dmg{f} & \loc{f} & \brill{f} & |f| & |f| \\
  3635. % \arb[novoc]{q} & \dmg{q} & \loc{q} & \brill{q} & |q| & |q| \\
  3636. % \arb[novoc]{k} & \dmg{k} & \loc{k} & \brill{k} & |k| & |k| \\
  3637. % \arb[novoc]{l} & \dmg{l} & \loc{l} & \brill{l} & |l| & |l| \\
  3638. % \arb[novoc]{m} & \dmg{m} & \loc{m} & \brill{m} & |m| & |m| \\
  3639. % \arb[novoc]{n} & \dmg{n} & \loc{n} & \brill{n} & |n| & |n| \\
  3640. % \arb[novoc]{h} & \dmg{h} & \loc{h} & \brill{h} & |h| & |h| \\
  3641. % \arb[novoc]{w} & \dmg{w} & \loc{w} & \brill{w} & |w| & |w| \\
  3642. % \arb[novoc]{y} & \dmg{y} & \loc{y} & \brill{y} & |y| & |y| \\
  3643. % \arb[novoc]{Y} & \dmg{Y} & \loc{Y} & \brill{Y} & |Y| & |Y| \\
  3644. % \arb[novoc]{T} & \dmg{aT} & \loc{aT} & \brill{aT} & |p| & |p| \\
  3645. % \midrule
  3646. % \arb[novoc]{|"'} & \dmg{|"'} & \loc{|"'} & \brill{|"'} & \verb|'| & |C| \\
  3647. % \arb[novoc]{A"'} & \dmg{A"'} & \loc{A"'} & \brill{A"'} & \verb+|+ & |M| \\
  3648. % \arb[novoc]{a"'} & \dmg{a"'} & \loc{a"'} & \brill{a"'} & \verb|>| & |O| \\
  3649. % \arb[novoc]{w"'} & \dmg{w"'} & \loc{w"'} & \brill{w"'} & \verb|&| & |W| \\
  3650. % \arb[novoc]{i"'} & \dmg{i"'} & \loc{i"'} & \brill{i"'} & \verb|<| & |I| \\
  3651. % \arb[novoc]{y"'} & \dmg{y"'} & \loc{y"'} & \brill{y"'} & \verb|]| & |Q| \\
  3652. % \midrule
  3653. % \arb[novoc]{BB} & --- & --- & --- & \verb|~| & |~| \\
  3654. % \arb[novoc]{"a} & ' & ' & --- & |[| & |L| \\
  3655. % \midrule
  3656. % \arb[voc]{Ba} & \dmg{Ba} & \loc{Ba} & \brill{Ba} & \verb|a| & |a| \\
  3657. % \arb[voc]{Bu} & \dmg{Bu} & \loc{Bu} & \brill{Bu} & \verb|u| & |u| \\
  3658. % \arb[voc]{Bi} & \dmg{Bi} & \loc{Bi} & \brill{Bi} & \verb|i| & |i| \\
  3659. % \arb[voc]{BaN} & \dmg{BaN} & \loc{BaN} & \brill{BaN} & \verb|F| & |F| \\
  3660. % \arb[voc]{BuN} & \dmg{BuN} & \loc{BuN} & \brill{BuN} & \verb|N| & |N| \\
  3661. % \arb[voc]{BiN} & \dmg{BiN} & \loc{BiN} & \brill{BiN} & \verb|K| & |K| \\
  3662. % \arb[voc]{B"} & --- & --- & --- & \verb|o| & |o| \\
  3663. % \midrule
  3664. % \arb[novoc]{B_a} & \dmg{B_a} & \loc{B_a} & \brill{B_a} & |`| & |e| \\
  3665. % \midrule
  3666. % \arb[novoc]{--} (\arb[trans]{ta.twIl}) & --- & --- & --- & |_| & |_| \\
  3667. % \end{longtable}
  3668. %
  3669. % \paragraph{Transliteration}
  3670. % The Buckwalter notation can also be transliterated into any accepted
  3671. % romanization standard of Arabic. See above
  3672. % \vref{sec:transliteration} for more information. However, it should
  3673. % be pointed out again that only accurate coding produces accurate
  3674. % transliteration. It is therefore at the very least highly advisable
  3675. % to use the hyphen for tying the definite article and the inseparable
  3676. % particles (viz. prepositions, adverbs and conjunctions) to words,
  3677. % like so:--- \SetInputScheme{buckwalter}
  3678. % \begin{quote}
  3679. % |Al-EaAlamu| \arb{Al-EaAlam-u} \arb[trans]{Al-EaAlam-u},
  3680. % |Al-camsu| \arb{Al-cams-u} \arb[trans]{Al-cams-u},
  3681. % |bi-SinaAEapi| |Al-T~ib~i|, \arb{bi-SinaAEap-i Al-T~ib~-i}
  3682. % \arb[trans]{bi-SinaAEap-i Al-T~ib~-i}.
  3683. %
  3684. % |wa-Al-l~ehi| \arb{wa-Al-l~eh-i} \arb[trans]{wa-Al-l~eh-i},
  3685. % |Al-Hamdu| |li-l~ehi| \arb{Al-Hamd-u li-l~eh-i}
  3686. % \arb[trans]{Al-Hamd-u li-l~eh-i}.
  3687. % \end{quote}
  3688. % \SetInputScheme{arabtex}
  3689. %
  3690. % Similary, it is not advisable to use \verb+|+ and |[|
  3691. % (\enquote*{base} and \enquote*{\texttt{xml}} schemes) or |M| and |L|
  3692. % (\enquote*{safe} scheme) to encode the \arb[trans]{'alif-u
  3693. % 'l-mamdUdaT-i} and the \arb[trans]{'alif-u 'l-wa.sl-i} for such
  3694. % signs are supposed to be generated by \package{arabluatex} internal
  3695. % functions. Besides, as they do not \emph{per se} convey any
  3696. % morphological information on what they are derived from, they cannot
  3697. % be transliterated accurately. To take one example, %
  3698. % \SetInputScheme{buckwalter}%
  3699. % |<ilY Al-LntiqaADi| gives \arb{>ilY Al-LntiqaADi} as expected, but
  3700. % only |<ilY Al-intiqADi| can be transliterated as \arb[trans]{<ilY
  3701. % Al-intiqaADi} with the correct vowel \meta{i} in place of the %
  3702. % \SetInputScheme{arabtex}%
  3703. % \arb[trans]{'alif-u 'l-wa.sl-i}.
  3704. %
  3705. % \section{Unicode Arabic input}
  3706. % \label{sec:unicode-input}
  3707. % \newfeature[v1.5] As said above in \vref{sec:buckwalter-scheme}
  3708. % about the Buckwalter input scheme, even though \package{arabluatex}
  3709. % is primarily designed to process the Arab\TeX\ notation, it also
  3710. % accepts Unicode Arabic input. It should be noted that
  3711. % \package{arabluatex} does in no way interfere with Unicode Arabic
  3712. % input: none of the |voc|, |fullvoc|, |novoc| or |trans| options will
  3713. % have any effect on plain Unicode Arabic for the time being.
  3714. %
  3715. % That said, there are two ways of inserting Unicode
  3716. % Arabic:
  3717. % \begin{enumerate}
  3718. % \item \DescribeMacro{\txarb} The \cs{txarb}\marg{Unicode Arabic}
  3719. % command for inserting Unicode Arabic text in paragraphs;
  3720. % \item The \DescribeEnv{txarab} |txarab| environment for inserting
  3721. % running paragraphs of Arabic text, like so:---\\%
  3722. % \iffalse
  3723. %<*example>
  3724. % \fi
  3725. \begin{code}
  3726. \begin{txarab}
  3727. <Unicode Arabic text>
  3728. \end{txarab}
  3729. \end{code}
  3730. % \iffalse
  3731. %</example>
  3732. % \fi
  3733. % \end{enumerate}
  3734. %
  3735. % \section{\LaTeX\ Commands in Arabic environments}
  3736. % \label{sec:commands-in-arb}
  3737. % \paragraph{General principle} \label{ref:cmd-inside-arabic}\LaTeX\
  3738. % commands are accepted in Arabic environments. The general principle
  3739. % which applies is that any single-argument command with up to
  3740. % \emph{two optional arguments}---that is:
  3741. % \cs{command}\oarg{opt1}\oarg{opt2}\marg{arg}---such as
  3742. % \cs{emph}\marg{text}, \cs{textbf}\marg{text} and the like, is
  3743. % assumed to have Arabic text in its mandatory argument:---
  3744. % \begin{quote}
  3745. % |\abjad{45}| |kitAbu-hu| |\emph{fI| |'l-\uc{`AdAt-i}}|
  3746. % \arb[voc]{\abjad{45} kitAbu-hu \emph{fI 'l-\uc{`AdAt-i}}}
  3747. % \arb[trans]{\abjad{45} kitAbu-hu \emph{fI
  3748. % 'l-\uc{`AdAt-i}}}.\footnote{This is odd in Arabic script, but
  3749. % using such features as \cs{emph} or \cs{textbf} is a matter of
  3750. % personal taste.}
  3751. % \NewDocumentCommand{\rlframebox}{o o m}{
  3752. % \IfNoValueTF{#2}{\IfNoValueTF{#1}{
  3753. % \framebox{\setRL#3}}{\framebox[#1]{\setRL#3}}
  3754. % }{\framebox[#1][#2]{\setRL#3}}}
  3755. %
  3756. % |\arb{\abjad{45} \rlframebox[1in][s]{kitAbu-hu fI 'l-`AdAti}}|\\
  3757. % \arb{\abjad{45} \rlframebox[1in][s]{kitAbu-hu fI
  3758. % 'l-`AdAti}}\,\footnote{\cs{rlframefox} has been adapted from
  3759. % \cs{framebox} for insertions of right-to-left text.}
  3760. % \end{quote}
  3761. %
  3762. % The same applies to footnotes:---
  3763. % \iffalse
  3764. %<*example>
  3765. % \fi
  3766. \begin{example}
  3767. \renewcommand{\footnoterule}%
  3768. {\hfill\noindent\rule[1mm]{.4\textwidth}{.15mm}}
  3769. \begin{arab}
  3770. 'inna 'abI kAna mina 'l-muqAtilaT-i\footnote{al-muqAtilaT-i:
  3771. al-muqAtil-Ina.}, wa-kAnat 'ummI min `u.zamA'-i buyUt-i
  3772. 'l-zamAzimaT-i\footnote{al-zamAzimaT-u: .tA'ifaT-u mina
  3773. 'l-furs-i.}.
  3774. \end{arab}
  3775. \end{example}
  3776. % \iffalse
  3777. %</example>
  3778. % \fi
  3779. %
  3780. % Some commands, however, do not expect running text in their
  3781. % arguments, or one may wish to insert English text e.g. in footnotes
  3782. % or in marginal notes. \package{arabluatex} provides a set of
  3783. % commands to handle such cases.
  3784. %
  3785. % \DescribeMacro{\LR} \cs{LR}\marg{arg} is designed to typeset its
  3786. % argument from left to right. It may be used in an Arabic
  3787. % environment, either \cs{arb}\marg{Arabic text} or \cs{begin}|{arab}|
  3788. % \meta{Arabic text} \cs{end}|{arab}|, for short insertions of
  3789. % left-to-right text, or to insert any \LaTeX\ command that would
  3790. % otherwise be rejected by \package{arabluatex}, such as commands the
  3791. % argument of which is expected to be a dimension or a unit of
  3792. % measurement.
  3793. %
  3794. % \DescribeMacro{\RL} \cs{RL}\marg{arg} does the same as
  3795. % \cs{LR}\marg{arg}, but typesets its argument from right to left. Even
  3796. % in an Arabic environment, this command may be useful.
  3797. %
  3798. % \DescribeMacro{\LRfootnote} \DescribeMacro{\RLfootnote}
  3799. % \cs{LRfootnote}\marg{text} and \cs{RLfootnote}\marg{text} typeset
  3800. % left-to-right and right-to-left footnotes respectively in Arabic
  3801. % environments. Unlike \cs{footnote}\marg{text}, the arguments of both
  3802. % \cs{LRfootnote} and \cs{RLfootnote} are not expected to be Arabic
  3803. % text. For example, \cs{LRfootnote} can be used to insert English
  3804. % footnotes in running Arabic text:---
  3805. % \iffalse
  3806. %<*example>
  3807. % \fi
  3808. \begin{example}
  3809. \begin{arab}[fullvoc]
  3810. \uc{z}ayd-uN\arbnull{ibnu}\LRfootnote{%
  3811. \enquote{\arb[trans]{\uc{z}ayd} is the son of
  3812. \arb[trans]{\uc{`a}mr}}: the second noun is not in
  3813. apposition to the first, but forms part of the
  3814. predicate\ldots} \arbnull{zayduN}ibn-u \uc{`a}mr-iNU
  3815. \end{arab}
  3816. \end{example}
  3817. % \iffalse
  3818. %</example>
  3819. % \fi
  3820. %
  3821. % When footnotes are typeset from right to left, it may happen that
  3822. % the numbers of the footnotes that are at the bottom of the page be
  3823. % typeset in the wrong direction. For example, instead of an expected
  3824. % number 18, one may get 81. \package{arabluatex} is not responsible
  3825. % for that, but should it happen, it may be necessary to redefine in
  3826. % the preamble the \LaTeX\ macro \cs{thefootnote} like so:---\\
  3827. % \tcboxverb{\renewcommand*{\thefootnote}{\textsuperscript{\LR{\arabic{footnote}}}}}
  3828. % \DescribeMacro{\FixArbFtnmk} Another solution is to put in the
  3829. % preamble, below the line that loads \package{arabluatex}, the
  3830. % \cs{FixArbFtnmk} command. However, for more control over the layout
  3831. % of footnotes marks, it is advisable to use the \package{scrextend}
  3832. % package.\footnote{See \url{http://ctan.org/pkg/koma-script}; read
  3833. % the documentation of \package{KOMA-script} for details about the
  3834. % \cs{deffootnotemark} and \cs{deffootnote} commands.}
  3835. %
  3836. % \DescribeMacro{\LRmarginpar} The
  3837. % \cs{LRmarginpar}\oarg{left}\marg{right} command does for marginal
  3838. % notes the same as \cs{LRfootnote} does for footnotes. Of course, it
  3839. % is supposed to be used in Arabic environments. Note that
  3840. % \cs{marginpar} also works in Arabic environments, but it acts as any
  3841. % other single-argument command inserted in Arabic environments. The
  3842. % general principle laid \vpageref{ref:cmd-inside-arabic} applies.
  3843. %
  3844. % \label{ref:setrl-setlr}
  3845. % \DescribeMacro{\setRL} \DescribeMacro{\setLR} \cs{setRL} and
  3846. % \cs{setLR} can be used to change the direction of paragraphs, either
  3847. % form left to right or from right to left. As an example, an
  3848. % easy way to typeset a right-to-left sectional title follows:---
  3849. % \iffalse
  3850. %<*example>
  3851. % \fi
  3852. \begin{example}
  3853. \setRL
  3854. \section*{\arb{barzawayhi li-buzurjumihra bn-i 'l-buxtikAni}}
  3855. \setLR
  3856. \begin{arab}
  3857. qAla barzawayhi bn-u 'azhar-a, ra's-u 'a.tibbA'-i fAris-a...
  3858. \end{arab}
  3859. \end{example}
  3860. % \iffalse
  3861. %</example>
  3862. % \fi
  3863. %
  3864. % \subsection{New commands}
  3865. % \label{sec:declare-new-commands}
  3866. % \newfeature[v1.9]%
  3867. % In some particular cases, it may be useful to define new commands to
  3868. % be inserted in Arabic environments. From the general principle laid
  3869. % \vpageref{ref:cmd-inside-arabic}, it follows that any command that
  3870. % is found inside an Arabic environment is assumed to have Arabic text
  3871. % in its argument which \package{arabluatex} will process as such
  3872. % before passing it on to the command itself for any further
  3873. % processing. As a result of this feature, such a command as:\\
  3874. % \tcboxverb{\newcommand{\fvarabic}[1]{\arb[fullvoc]{#1}}}\\
  3875. % will work as expected, but will always output non-vocalized Arabic
  3876. % if it is inserted in a |novoc| Arabic environment because its
  3877. % argument will have been processed by the |novoc| rules before the
  3878. % command |\fvarabic| itself can see it.
  3879. %
  3880. % \DescribeMacro{\MkArbBreak} The \cs{MkArbBreak}\marg{csv list of
  3881. % commands} command can be used in the preamble to give any
  3882. % command---either new or already existing---the precedence over
  3883. % \package{arabluatex} inside Arabic environments. It takes as
  3884. % argument a comma-separated list of commands each of which must be
  3885. % stripped of its leading character
  3886. % |\|, like so:---\\
  3887. % \tcboxverb{\MkArbBreak{onecmd, anothercmd, yetanothercmd, ...}}
  3888. %
  3889. % For example, here follows a way to define a new command |\fvred| to
  3890. % distinguish words with a different color and always print them in
  3891. % fully vocalized Arabic:--- %
  3892. % \iffalse
  3893. %<*example>
  3894. % \fi
  3895. \begin{example}
  3896. \MkArbBreak{fvred}
  3897. \newcommand{\fvred}[1]{\arbcolor[red]{\arb[fullvoc]{#1}}}
  3898. \begin{arab}[voc]
  3899. _tumma "intalaqa _dU 'l-qarn-ayni 'il_A 'ummaT-iN 'u_hr_A fI
  3900. \fvred{((ma.tli`-i 'l-^sams-i))} wa-lA binA'-a la-hum
  3901. yu'amminu-hum mina 'l-^sams-i.
  3902. \end{arab}
  3903. \end{example}
  3904. % \iffalse
  3905. %</example>
  3906. % \fi
  3907. %
  3908. % It must be noted that the arguments, either optional or mandatory,
  3909. % of commands declared with \cs{MkArbBreak} are not to be processed by
  3910. % \package{arabluatex}. Therefore, as in the previous example, any of
  3911. % their argument to be rendered in Arabic must be inserted again in
  3912. % \cs{arb}. \newfeature[v1.12]These commands themselves may have up to
  3913. % two optional and/or mandatory arguments followed by one optional
  3914. % argument, like so:---
  3915. % \begin{enumerate}
  3916. % \item \cs{command} (no argument, lowermost combination)
  3917. % \item \cs{command}\oarg{opt1} (one optional argument)
  3918. % \item \cs{command}\marg{arg1} (one mandatory argument)
  3919. % \item \cs{command}\oarg{opt1}\marg{arg1} (one optional and one
  3920. % mandatory argument)
  3921. % \item{} [\ldots]
  3922. % \item \cs{command}\oarg{opt1}\oarg{opt2}\marg{arg1}\marg{arg2}
  3923. % \item
  3924. % \cs{command}\oarg{opt1}\oarg{opt2}\marg{arg1}\marg{arg2}\oarg{opt3}
  3925. % (uppermost combination)
  3926. % \end{enumerate}
  3927. %
  3928. % \DescribeMacro{\MkArbBreak*}\newfeature[v1.12] As said above,
  3929. % \cs{MkArbBreak} prevents \package{arabluatex} from processing the
  3930. % arguments of \enquote*{declared} commands as Arabic text. This
  3931. % technique proves sufficient in most cases. However, a
  3932. % \enquote*{starred} version of this
  3933. % command---\cs{MkArbBreak*}\marg{csv list of commands}---is also
  3934. % provided. It goes a step further, as it directs \package{arabluatex}
  3935. % to \emph{close} the current Arabic environment before any of the
  3936. % \enquote*{declared} commands, then \emph{resume} it just after.
  3937. %
  3938. % \iffalse
  3939. %<*example>
  3940. % \fi
  3941. \begin{tcblisting}{text only}
  3942. It must be noted that \cs{MkArbBreak*} must be used with the utmost
  3943. care and \emph{should never be used} if \cs{MkArbBreak} gives
  3944. satisfaction. At any rate, the latter must always be tested before
  3945. the former.
  3946. \end{tcblisting}
  3947. % \iffalse
  3948. %</example>
  3949. % \fi%
  3950. %
  3951. % \subsection{Environments}
  3952. % \label{sec:environments}
  3953. % \changes{v1.5}{2016/11/14}{Environments may be nested inside the
  3954. % \texttt{arab} environment}
  3955. % \newfeature[v1.5] Environments such as
  3956. % \tcboxverb{\begin{quote} ... \end{quote}} may be nested inside the
  3957. % |arab| environment. Up to one optional argument may be passed to
  3958. % each nested environment, like so:---
  3959. % \iffalse
  3960. %<*example>
  3961. % \fi
  3962. \begin{code}
  3963. \begin{arab}
  3964. \begin{<environment>}[<options>]
  3965. <Arabic text>
  3966. \end{<environment>}
  3967. \end{arab}
  3968. \end{code}
  3969. % \iffalse
  3970. %</example>
  3971. % \fi
  3972. %
  3973. % In the following example, the \package{quoting} package is used:---
  3974. % \iffalse
  3975. %<*example>
  3976. % \fi
  3977. \begin{example}
  3978. \setquotestyle{arabic}
  3979. \begin{arab}[fullvoc]
  3980. kAna \uc{'abU} \uc{'l-hu_dayli} 'ahd_A 'il_A \uc{muwaysiN}
  3981. dajAjaTaN. wa-kAnat dajAjatu-hu 'llatI 'ahdA-hA dUna mA kAna
  3982. yuttaxa_du li-\uc{muwaysiN}. wa-l_akinna-hu bi-karami-hi
  3983. wa-bi-.husni xuluqi-hi 'a.zhara 'l-ta`ajjuba min simani-hA
  3984. wa-.tIbi la.hmi-hA. wa-kAna <\uc{'abU} \uc{'l-hu_dayli}>
  3985. yu`rafu bi-'l-'imsAki 'l-^sadIdi. fa-qAla: \enquote{wa-kayfa
  3986. ra'ayta yA \uc{'abA} \uc{`imrAna} tilka 'l-dajAjaTa?} qAla:
  3987. \enquote{kAnat `ajabaN mina 'l-`ajabi!} fa-yaqUlu:
  3988. \begin{quoting}[begintext=\textquotedblright,
  3989. endtext=\textquotedblleft]
  3990. wa-tadrI mA jinsu-hA? wa-tadrI mA sinnu-hA? fa-'inna
  3991. 'l-dajAjaTa 'inna-mA ta.tIbu bi-'l-jinsi wa-'l-sinni.
  3992. wa-tadrI bi-'ayyi ^say'iN kunnA nusamminu-hA? wa-fI 'ayyi
  3993. makAniN kunnA na`lifu-hA?
  3994. \end{quoting}
  3995. fa-lA yazAlu fI h_a_dA wa-'l-'A_haru ya.d.haku .da.hkaN
  3996. na`rifu-hu na.hnu wa-lA ya`rifu-hu \uc{'abU} \uc{'l-hu_dayli}.
  3997. \end{arab}
  3998. \end{example}
  3999. % \iffalse
  4000. %</example>
  4001. % \fi
  4002. %
  4003. % \subsubsection{Lists}
  4004. % \label{sec:lists}
  4005. % Lists environments are also accepted inside the |arab|
  4006. % environment. One may either use any of the three standard list
  4007. % environments, viz. |itemize|, |enumerate| and |description| or use
  4008. % packages that provide additional refinements such as
  4009. % \package{paralist} or \package{enumitem}.
  4010. %
  4011. % To take a first example, should one wish to typeset a list of
  4012. % manuscripts, the |description| environment can be used like so:---
  4013. % \iffalse
  4014. %<*example>
  4015. % \fi
  4016. \begin{example}
  4017. \setRL\paragraph{\arb[novoc]{rumUzi 'l-kitAbi}}\setLR
  4018. \begin{arab}[novoc]
  4019. \begin{description}
  4020. \item[b] max.tU.tu 'l-maktabaTi 'l-'ahliyyaTi bi-\uc{bArIs} 2860
  4021. `arabiyyuN.
  4022. \item[s] max.tU.tu 'l-maktabaTi 'l-'ahliyyaTi bi-\uc{bArIs} 2859
  4023. `arabiyyuN.
  4024. \item[m] max.tU.tu majlisi \arb[novoc]{^sUrAY malY} .tahrAna 521.
  4025. \end{description}
  4026. \end{arab}
  4027. \end{example}
  4028. % \iffalse
  4029. %</example>
  4030. % \fi
  4031. %
  4032. % As a second example, the contents of a treatise may be typeset with
  4033. % the standard list environments, like so:---
  4034. % \iffalse
  4035. %<*example>
  4036. % \fi
  4037. \begin{example}
  4038. \setRL\centerline{\arb{\textbf{al-qAnUnu fI 'l-.tibbi}}}\setLR
  4039. \begin{arab}
  4040. \begin{itemize}
  4041. \item \textbf{al-fannu 'l-'awwalu} fI .haddi 'l-.tibbi
  4042. wa-maw.dU`Ati-hi mina 'l-'umUri 'l-.tabI`iyyaTi wa-ya^stamilu
  4043. `al_A sittaTi ta`AlImiN
  4044. \begin{itemize}
  4045. \item \textbf{al-ta`lImu 'l-'awwalu} [wa-huwa fa.slAni]
  4046. \begin{itemize}
  4047. \item \textbf{al-fa.slu 'l-'awwalu}
  4048. \end{itemize}
  4049. \end{itemize}
  4050. \end{itemize}
  4051. \end{arab}
  4052. \end{example}
  4053. % \iffalse
  4054. %</example>
  4055. % \fi
  4056. %
  4057. % \label{ref:abjad-list}
  4058. % As a third example, abjad-numbered lists can be typeset in
  4059. % conjunction with the \package{enumitem} package,\footnote{See the
  4060. % documentation of \package{enumitem} for more details:
  4061. % \url{https://ctan.org/pkg/enumitem}} like so:---
  4062. % \iffalse
  4063. %<*example>
  4064. % \fi
  4065. \begin{code}
  4066. % preamble:---
  4067. \usepackage{enumitem}
  4068. \newlist{enumabjad}{enumerate}{10}
  4069. \setlist[enumabjad]{nosep, label={\abjad{\arabic*}}}
  4070. \usepackage{multicol}
  4071. \end{code}
  4072. \begin{example}
  4073. From \textcite[i. 29 B--C]{Wright}:--- The derived forms of the
  4074. triliteral verb are usually reckoned fifteen in number, but the
  4075. learner may pass over the last four, because (with the exception
  4076. of the twelfth) they are of very rare occurrence.
  4077. \RLmulticolcolumns
  4078. \begin{multicols}{3}
  4079. \begin{arab}[fullvoc]
  4080. \begin{enumabjad}
  4081. \item fa`ala
  4082. \item fa``ala
  4083. \item fA`ala
  4084. \item 'af`ala
  4085. \item tafa``ala
  4086. \item tafA`ala
  4087. \item infa`ala
  4088. \item ifta`ala
  4089. \item if`alla
  4090. \item istaf`ala
  4091. \item if`Alla
  4092. \item if`aw`ala
  4093. \item if`awwala
  4094. \item if`anlala
  4095. \item if`anl_A
  4096. \end{enumabjad}
  4097. \end{arab}
  4098. \end{multicols}
  4099. \end{example}
  4100. % \iffalse
  4101. %</example>
  4102. % \fi
  4103. %
  4104. % \paragraph{Caveat}
  4105. % The various French definition files of the \package{babel} package
  4106. % viz. |acadian|, |canadien|, |francais|, |frenchb| or |french| all
  4107. % redefine the list environments, which breaks the standard definition
  4108. % file that is used by \package{arabluatex}. Therefore,
  4109. % \package{babel-french} must be loaded with the |StandardLists=true|
  4110. % option, like so:---%
  4111. % \iffalse
  4112. %<*example>
  4113. % \fi
  4114. \begin{code}
  4115. \usepackage[french]{babel}
  4116. \frenchsetup{StandardLists=true}
  4117. \end{code}
  4118. % \iffalse
  4119. %</example>
  4120. % \fi%
  4121. % This option will prevent \package{babel-french} from interfering
  4122. % with the layout of the document. Then the \package{paralist} or
  4123. % \package{enumitem} packages can be used to make the lists
  4124. % \enquote*{compact} as \package{babel-french} do.
  4125. %
  4126. % \subsection{\package{csquotes}}
  4127. % \label{sec:csquotes}
  4128. % The recommended way of inserting quotation marks in running Arabic
  4129. % text is to use \package{csquotes}. With the help of the
  4130. % \cs{DeclareQuoteStyle} command, one can define an Arabic style, like
  4131. % so:---
  4132. % \iffalse
  4133. %<*example>
  4134. % \fi
  4135. \begin{code}
  4136. \usepackage{csquotes}
  4137. \DeclareQuoteStyle{arabic}
  4138. {\textquotedblright}{\textquotedblleft}
  4139. {\textquoteright}{\textquoteleft}
  4140. \end{code}
  4141. % \iffalse
  4142. %</example>
  4143. % \fi
  4144. % Then, use this newly defined style with \cs{setquotestyle}, like so:---
  4145. % \iffalse
  4146. %<*example>
  4147. % \fi
  4148. \begin{example}
  4149. \setquotestyle{arabic}
  4150. \begin{arab}
  4151. fa-qAla la-hu ju.hA: \enquote{.garIb-uN 'amru-ka yA .sadIqI
  4152. 'a-tu.saddiqu 'l-.himAr-a wa-tuka_d_diba-nI?}
  4153. \end{arab}
  4154. \setquotestyle{english}
  4155. \end{example}
  4156. % \iffalse
  4157. %</example>
  4158. % \fi
  4159. % \begin{quoting}
  4160. % \textsc{Rem.} Do not forget to set back the quoting style to its
  4161. % initial state once the Arabic environment is closed. See the last
  4162. % line in the code above.
  4163. % \end{quoting}
  4164. %
  4165. % \subsection{Two-argument special commands}
  4166. % \label{sec:two-arg-cmds}
  4167. %
  4168. % \paragraph{textcolor}
  4169. % \label{sec:textcolor}
  4170. % The two-argument command \cs{textcolor}\marg{color}\marg{Ara\-bic
  4171. % text} is supported inside \cs{begin}|{arab}| \ldots\
  4172. % \cs{end}|{arab}|. One simple example
  4173. % follows:\footnote{\package{arabluatex} provides its own
  4174. % \cs{arbcolor} command which is able to render syllabes or diacritics
  4175. % in colors. See \vref{sec:color}.}--- %
  4176. % \iffalse
  4177. %<*example>
  4178. % \fi
  4179. \begin{example}
  4180. \begin{arab}
  4181. \textcolor{red}{\uc{m}uha_d_dabu \uc{'l-d}Ini \uc{`a}bdu
  4182. \uc{'l-r}a.hImi bnu \uc{`a}liyyiN} huwa ^say_hu-nA 'l-'imAmu
  4183. 'l-.sadru 'l-kabIru 'l-`Alimu 'l-fA.dilu \uc{m}uha_d_dabu
  4184. \uc{'l-d}Ini \uc{'a}bU \uc{m}u.hammadiN \uc{`a}bdu
  4185. \uc{'l-r}a.hImi bnu \uc{`a}liyyi bni \uc{.h}AmidiN wa-yu`rafu
  4186. bi-\uc{'l-d}a_hwari.
  4187. \end{arab}
  4188. \begin{arab}[trans]
  4189. \textcolor{red}{\uc{m}uha_d_dabu \uc{'l-d}Ini \uc{`a}bdu
  4190. \uc{'l-r}a.hImi bnu \uc{`a}liyyiN} huwa ^say_hu-nA 'l-'imAmu
  4191. 'l-.sadru 'l-kabIru 'l-`Alimu 'l-fA.dilu \uc{m}uha_d_dabu
  4192. \uc{'l-d}Ini \uc{'a}bU \uc{m}u.hammadiN \uc{`a}bdu
  4193. \uc{'l-r}a.hImi bnu \uc{`a}liyyi bni \uc{.h}AmidiN wa-yu`rafu
  4194. bi-\uc{'l-d}a_hwari.
  4195. \end{arab}
  4196. \end{example}
  4197. % \iffalse
  4198. %</example>
  4199. % \fi
  4200. %
  4201. % \paragraph{\package{reledmac}}
  4202. % \label{sec:reledmac}
  4203. % The two-argument command \cs{edtext}\marg{lemma}\marg{commands} is
  4204. % supported inside \cs{begin}|{arab}| \ldots\
  4205. % \cs{end}|{arab}|.\footnote{\cs{pstart} and \cs{pend} are also
  4206. % supported inside the |arab| environment.} As an example, one may get
  4207. % \package{arabluatex} and \package{reledmac} to work together like
  4208. % so:--- %
  4209. % \iffalse
  4210. %<*example>
  4211. % \fi
  4212. \begin{code}
  4213. \beginnumbering
  4214. \pstart
  4215. \begin{arab}
  4216. wa-ya.sIru ta.hta 'l-jild-i
  4217. \edtext{\arb{.sadId-uN}}{\Afootnote{M: \arb{.sadId-aN} E1}}
  4218. \end{arab}
  4219. \pend
  4220. \endnumbering
  4221. \end{code}
  4222. % \iffalse
  4223. %</example>
  4224. % \fi
  4225. %
  4226. % \subsection{\package{quran}}
  4227. % \label{sec:pkg-quran}
  4228. % \changes{v1.5}{2016/11/14}{Compatibility with the \textsf{quran}
  4229. % package} \package{arabluatex} is compatible with the \package{quran}
  4230. % package so that both can be used in conjunction with one another for
  4231. % typesetting the \arb[trans]{\uc{qur'An}}. As \package{quran} draws
  4232. % the text of the \arb[trans]{\uc{qur'An}} from a Unicode encoded
  4233. % database, its commands have to be passed as arguments to the
  4234. % \cs{txarb} command for short insertions in left-to-right paragraphs,
  4235. % or inserted inside the \index{txarab=txarab (environment)}|txarab|
  4236. % environment for typesetting running paragraphs of
  4237. % \arb[trans]{\uc{qur'An}}\emph{ic} text (see above
  4238. % \vref{sec:unicode-input} for more details). Please note that
  4239. % \package{arabluatex} takes care of formatting the Arabic: therefore,
  4240. % it is recommended to load the \package{quran} package with the
  4241. % |nopar| option, after \package{arabluatex} itself has been loaded,
  4242. % like so:--- %
  4243. % \iffalse
  4244. %<*example>
  4245. % \fi
  4246. \begin{code}
  4247. \usepackage{arabluatex}
  4248. \usepackage[nopar]{quran}
  4249. \end{code}
  4250. % \iffalse
  4251. %</example>
  4252. % \fi
  4253. %
  4254. % As an example, the following code will typeset the \arb[trans]{sUraT
  4255. % al-\uc{fAti.haT}}:---
  4256. % \iffalse
  4257. %<*example>
  4258. % \fi
  4259. \begin{example}
  4260. \begin{txarab}
  4261. \quransurah[1]
  4262. \end{txarab}
  4263. \end{example}
  4264. % \iffalse
  4265. %</example>
  4266. % \fi
  4267. %
  4268. % \section{Exporting Unicode Arabic to an external file}
  4269. % \label{sec:arabtex2utf}
  4270. % \newfeature[v.1.13]\package{arabluatex} is able to produce a
  4271. % duplicate of the original |.tex| source file in which all |arabtex|
  4272. % or |buckwalter| strings will have been replaced with Unicode
  4273. % equivalents, either in Arabic script or in any accepted standard of
  4274. % transliteration. Exporting \textsc{ascii} strings to Unicode while
  4275. % preserving the exact selected global or local options is a fairly
  4276. % complex operation which may require {\LuaLaTeX} to be run several
  4277. % times as will be explained below.
  4278. %
  4279. % \subsection{Commands and environments}
  4280. % \paragraph{\texttt{export} global option}
  4281. % \DescribeOption{export} First, \package{arabluatex} must be loaded
  4282. % with the |export| global option enabled,\footnote{See above
  4283. % \vpageref{ref:export-global-opt} for more information.} like
  4284. % so:--- %
  4285. % \iffalse
  4286. %<*example>
  4287. % \fi
  4288. \begin{code}
  4289. % preamble
  4290. \usepackage[export]{arabluatex}
  4291. % or:
  4292. \usepackage[export=true]{arabluatex}
  4293. \end{code}
  4294. % \iffalse
  4295. %</example>
  4296. % \fi
  4297. %
  4298. % Once that is done, compiling the current file will produce a new
  4299. % empty external |.tex| file with the same preamble as the original
  4300. % file.
  4301. %
  4302. % \DescribeMacro{\SetArbOutSuffix} By default, |_out| is appended as a
  4303. % suffix to the external file name. Any other suffix may be set with
  4304. % the command \cs{SetArbOutSuffix}\marg{suffix}.
  4305. %
  4306. % \paragraph{Exporting running paragraphs}
  4307. % \DescribeEnv{arabexport} Then, the |arabexport| environment is
  4308. % provided to actually exporting running paragraphs with or without
  4309. % Arabic environments to the external selected file, like so:--- %
  4310. % \iffalse
  4311. %<*example>
  4312. % \fi
  4313. \begin{code}
  4314. \begin{arabexport}
  4315. <Running paragraphs of either Arabic or non-Arabic text>
  4316. \end{arabexport}
  4317. \end{code}
  4318. % \iffalse
  4319. %</example>
  4320. % \fi
  4321. %
  4322. % \package{arabluatex} converts to Unicode and writes to the external
  4323. % file what is found inside Arabic environments. As to non-Arabic
  4324. % text, it is appended untouched to this file, which is formatted as
  4325. % follows:---
  4326. % \begin{enumerate}
  4327. % \item Unicode Arabic text, either in Arabic script or in
  4328. % transliteration, is inserted as argument of
  4329. % \cs{txarb}\footnote{See above \vref{sec:unicode-input}.} or
  4330. % \cs{txtrans}\footnote{\cs{txtrans} is used internally by several
  4331. % Lua functions to format transliterated Arabic. Therefore, it is
  4332. % not documented.} accordingly.
  4333. % \item \DescribeMacro{\arbpardir}Additionally, Arabic paragraphs may
  4334. % receive \cs{arbpardir}, which \package{arabluatex} uses to
  4335. % determine the direction of Arabic paragraphs to be set by default,
  4336. % or either \cs{setRL} or \cs{setLR} depending on what may have been
  4337. % set locally.\footnote{See above \vpageref{ref:setrl-setlr}.}
  4338. % \item \DescribeMacro{\prname*}Proper names are inserted as arguments
  4339. % of \cs{prname*}.\footnote{See above \vpageref{ref:prname-star}.}
  4340. % \end{enumerate}
  4341. %
  4342. % \paragraph{Appending words or commands to the external file only}
  4343. % \DescribeMacro{\ArbOutFile}\DescribeMacro{\ArbOutFile*}
  4344. % \cs{ArbOutFile}\oarg{newline}\allowbreak\marg{argument} silently
  4345. % exports its argument to the external file. It may take the string
  4346. % |newline| as an optional argument, in which case a carriage return
  4347. % is appended to the contents of the
  4348. % argument. \cs{ArbOutFile*}\oarg{newline}\marg{argument} does the
  4349. % same as \cs{ArbOutFile}, but also inserts its argument into the
  4350. % current |.tex| source file.
  4351. %
  4352. % \paragraph{Exporting Arabic poetry}
  4353. % Lines of Arabic poetry are exported as described above
  4354. % \vpageref{ref:poetry-export} when the |export| option that is
  4355. % specific to the |arabverse| environment is set to |true|. As a
  4356. % result of this particular feature, |arabverse| environments must be
  4357. % left outside |\begin{arabexport}| \ldots\ |\end{arabexport}|.
  4358. %
  4359. % Please note that inside |arabverse| environments \cs{bayt} is
  4360. % replaced with \cs{bayt*}.\footnote{See above \vref{ref:bayt-star} for
  4361. % more information.}
  4362. %
  4363. % \subsection{Nested Arabic environments}
  4364. % The exporting mechanism described above converts only the outermost
  4365. % level of nested Arabic environments. This may be sufficient in some
  4366. % cases, but if nested Arabic environments be found in the original
  4367. % |.tex| source file, then the Unicode converted file must be opened
  4368. % and compiled in turn, and so on until the innermost Arabic
  4369. % environment be converted and exported. In such cases,
  4370. % \package{arabluatex} issues a warning, so that authors do not have
  4371. % to check the entire file that just has been exported:--- %
  4372. % \iffalse
  4373. %<*example>
  4374. % \fi
  4375. \begin{code}
  4376. Package arabluatex Warning: There are still 'arabtex' strings
  4377. to be converted. Please open <jobname><suffix>.tex and compile
  4378. it one more time.
  4379. \end{code}
  4380. % \iffalse
  4381. %</example>
  4382. % \fi
  4383. % Where \meta{jobname} is the name of the original |.tex| source file,
  4384. % and \meta{suffix} the suffix appended to the file that is to be
  4385. % opened and compiled again.
  4386. %
  4387. % \subsection{Further processing of Unicode converted files}
  4388. % \label{sec:further-processing-utf-files}
  4389. % Unicode files can be further processed by document converters such
  4390. % as John McFarlane's |pandoc|\footnote{See
  4391. % \url{http://pandoc.org/}}. To take here one simple example, here is
  4392. % how |file_out.tex| can be converted from {\LuaLaTeX} into Open
  4393. % Document format (|.odt|):---%
  4394. % \iffalse
  4395. %<*example>
  4396. % \fi
  4397. \begin{code}
  4398. pandoc file_out.tex -s -o file_out.odt
  4399. \end{code}
  4400. % \iffalse
  4401. %</example>
  4402. % \fi
  4403. %
  4404. % However, specific commands such as \cs{txarb}, \cs{txtrans} or
  4405. % \cs{prname*}, which are not known to |pandoc|, must be redefined
  4406. % explicitly in the preamble to prevent the converter from gobbling
  4407. % their arguments, like so:---%
  4408. % \iffalse
  4409. %<*example>
  4410. % \fi
  4411. \begin{code}
  4412. % preamble:
  4413. \usepackage{arabluatex} % note that 'export' has been removed
  4414. \renewcommand{\txarb}[1]{#1}
  4415. \renewcommand{\txtrans}[1]{\emph{#1}}
  4416. \renewcommand{\arbup}[1]{\textsuperscript{#1}}
  4417. % now that \prname{} has been replaced with \prname*{} it should
  4418. % be safe to say:
  4419. \renewcommand{\prname}[2]{#2}
  4420. % &c
  4421. \end{code}
  4422. % \iffalse
  4423. %</example>
  4424. % \fi
  4425. %
  4426. % \section{Future work}
  4427. % \label{sec:future-work}
  4428. % A short, uncommented, list of what is planned in the versions of
  4429. % \package{arabluatex} to come follows:
  4430. % \begin{enumerate}
  4431. % \item Short-term:
  4432. % \begin{enumerate}
  4433. % \item \texttt{TEI xml} support: \package{arabluatex} will
  4434. % interoperate with \texttt{TEI xml} through new global and local
  4435. % options that will output Arabic in a \texttt{TEI xml} compliant
  4436. % file in addition to the usual PDF output: see
  4437. % \vpageref{ref:tei-to-come}.
  4438. % \end{enumerate}
  4439. % \item Medium-term:
  4440. % \begin{enumerate}
  4441. % \item More languages: the list of supported languages will
  4442. % eventually be the same as \package{arabtex}: see
  4443. % \vref{fn:arabtex-languages}.
  4444. % \item Formulate propositions for extending the Arab\TeX\ notation
  4445. % and the transliteration tables. Include them in
  4446. % \package{arabluatex}. See \vref{sec:additional-characters}.
  4447. % \end{enumerate}
  4448. % \end{enumerate}
  4449. %
  4450. % \section{GNU Free Documentation License}
  4451. % \label{sec:fdl}
  4452. % \textbf{Version 1.3, 3 November 2008}
  4453. %
  4454. % \begin{center}
  4455. % Version 1.3, 3 November 2008
  4456. %
  4457. % Copyright \copyright{} 2000, 2001, 2002, 2007, 2008 Free
  4458. % Software Foundation, Inc.
  4459. %
  4460. % \bigskip
  4461. %
  4462. % \url{https://fsf.org/}
  4463. %
  4464. % \bigskip
  4465. %
  4466. % Everyone is permitted to copy and distribute verbatim copies
  4467. % of this license document, but changing it is not allowed.
  4468. % \end{center}
  4469. %
  4470. % \needspace{3\baselineskip}
  4471. % \begin{center}
  4472. % {\bf\large Preamble}
  4473. % \end{center}
  4474. %
  4475. % The purpose of this License is to make a manual, textbook, or other
  4476. % functional and useful document \enquote{free} in the sense of
  4477. % freedom: to assure everyone the effective freedom to copy and
  4478. % redistribute it, with or without modifying it, either commercially
  4479. % or noncommercially. Secondarily, this License preserves for the
  4480. % author and publisher a way to get credit for their work, while not
  4481. % being considered responsible for modifications made by others.
  4482. %
  4483. % This License is a kind of \enquote{copyleft}, which means that
  4484. % derivative works of the document must themselves be free in the same
  4485. % sense. It complements the GNU General Public License, which is a
  4486. % copyleft license designed for free software.
  4487. %
  4488. % We have designed this License in order to use it for manuals for
  4489. % free software, because free software needs free documentation: a
  4490. % free program should come with manuals providing the same freedoms
  4491. % that the software does. But this License is not limited to software
  4492. % manuals; it can be used for any textual work, regardless of subject
  4493. % matter or whether it is published as a printed book. We recommend
  4494. % this License principally for works whose purpose is instruction or
  4495. % reference.
  4496. %
  4497. % \needspace{3\baselineskip}
  4498. % \begin{center}
  4499. % {\large\bf 1. APPLICABILITY AND DEFINITIONS\par}
  4500. % \end{center}
  4501. %
  4502. % This License applies to any manual or other work, in any medium,
  4503. % that contains a notice placed by the copyright holder saying it can
  4504. % be distributed under the terms of this License. Such a notice
  4505. % grants a world-wide, royalty-free license, unlimited in duration, to
  4506. % use that work under the conditions stated herein. The
  4507. % \enquote{\textbf{Document}}, below, refers to any such manual or
  4508. % work. Any member of the public is a licensee, and is addressed as
  4509. % \enquote{\textbf{you}}. You accept the license if you copy, modify
  4510. % or distribute the work in a way requiring permission under copyright
  4511. % law.
  4512. %
  4513. % A \enquote{\textbf{Modified Version}} of the Document means any work
  4514. % containing the Document or a portion of it, either copied verbatim,
  4515. % or with modifications and/or translated into another language.
  4516. %
  4517. % A \enquote{\textbf{Secondary Section}} is a named appendix or a
  4518. % front-matter section of the Document that deals exclusively with the
  4519. % relationship of the publishers or authors of the Document to the
  4520. % Document's overall subject (or to related matters) and contains
  4521. % nothing that could fall directly within that overall subject.
  4522. % (Thus, if the Document is in part a textbook of mathematics, a
  4523. % Secondary Section may not explain any mathematics.) The
  4524. % relationship could be a matter of historical connection with the
  4525. % subject or with related matters, or of legal, commercial,
  4526. % philosophical, ethical or political position regarding them.
  4527. %
  4528. % The \enquote{\textbf{Invariant Sections}} are certain Secondary
  4529. % Sections whose titles are designated, as being those of Invariant
  4530. % Sections, in the notice that says that the Document is released
  4531. % under this License. If a section does not fit the above definition
  4532. % of Secondary then it is not allowed to be designated as Invariant.
  4533. % The Document may contain zero Invariant Sections. If the Document
  4534. % does not identify any Invariant Sections then there are none.
  4535. %
  4536. % The \enquote{\textbf{Cover Texts}} are certain short passages of
  4537. % text that are listed, as Front-Cover Texts or Back-Cover Texts, in
  4538. % the notice that says that the Document is released under this
  4539. % License. A Front-Cover Text may be at most 5 words, and a
  4540. % Back-Cover Text may be at most 25 words.
  4541. %
  4542. % A \enquote{\textbf{Transparent}} copy of the Document means a
  4543. % machine-readable copy, represented in a format whose specification
  4544. % is available to the general public, that is suitable for revising
  4545. % the document straightforwardly with generic text editors or (for
  4546. % images composed of pixels) generic paint programs or (for drawings)
  4547. % some widely available drawing editor, and that is suitable for input
  4548. % to text formatters or for automatic translation to a variety of
  4549. % formats suitable for input to text formatters. A copy made in an
  4550. % otherwise Transparent file format whose markup, or absence of
  4551. % markup, has been arranged to thwart or discourage subsequent
  4552. % modification by readers is not Transparent. An image format is not
  4553. % Transparent if used for any substantial amount of text. A copy that
  4554. % is not \enquote{Transparent} is called \enquote{\textbf{Opaque}}.
  4555. %
  4556. % Examples of suitable formats for Transparent copies include plain
  4557. % ASCII without markup, Texinfo input format, LaTeX input format, SGML
  4558. % or XML using a publicly available DTD, and standard-conforming
  4559. % simple HTML, PostScript or PDF designed for human modification.
  4560. % Examples of transparent image formats include PNG, XCF and JPG.
  4561. % Opaque formats include proprietary formats that can be read and
  4562. % edited only by proprietary word processors, SGML or XML for which
  4563. % the DTD and/or processing tools are not generally available, and the
  4564. % machine-generated HTML, PostScript or PDF produced by some word
  4565. % processors for output purposes only.
  4566. %
  4567. % The \enquote{\textbf{Title Page}} means, for a printed book, the
  4568. % title page itself, plus such following pages as are needed to hold,
  4569. % legibly, the material this License requires to appear in the title
  4570. % page. For works in formats which do not have any title page as
  4571. % such, \enquote{Title Page} means the text near the most prominent
  4572. % appearance of the work's title, preceding the beginning of the body
  4573. % of the text.
  4574. %
  4575. % The \enquote{\textbf{publisher}} means any person or entity that
  4576. % distributes copies of the Document to the public.
  4577. %
  4578. % A section \enquote{\textbf{Entitled XYZ}} means a named subunit of
  4579. % the Document whose title either is precisely XYZ or contains XYZ in
  4580. % parentheses following text that translates XYZ in another language.
  4581. % (Here XYZ stands for a specific section name mentioned below, such
  4582. % as \enquote{\textbf{Acknowledgements}},
  4583. % \enquote{\textbf{Dedications}}, \enquote{\textbf{Endorsements}}, or
  4584. % \enquote{\textbf{History}}.) To \enquote{\textbf{Preserve the
  4585. % Title}} of such a section when you modify the Document means that it
  4586. % remains a section \enquote{Entitled XYZ} according to this
  4587. % definition.
  4588. %
  4589. % The Document may include Warranty Disclaimers next to the notice
  4590. % which states that this License applies to the Document. These
  4591. % Warranty Disclaimers are considered to be included by reference in
  4592. % this License, but only as regards disclaiming warranties: any other
  4593. % implication that these Warranty Disclaimers may have is void and has
  4594. % no effect on the meaning of this License.
  4595. %
  4596. % \needspace{3\baselineskip}
  4597. % \begin{center}
  4598. % {\large\bf 2. VERBATIM COPYING\par}
  4599. % \end{center}
  4600. %
  4601. % You may copy and distribute the Document in any medium, either
  4602. % commercially or noncommercially, provided that this License, the
  4603. % copyright notices, and the license notice saying this License
  4604. % applies to the Document are reproduced in all copies, and that you
  4605. % add no other conditions whatsoever to those of this License. You
  4606. % may not use technical measures to obstruct or control the reading or
  4607. % further copying of the copies you make or distribute. However, you
  4608. % may accept compensation in exchange for copies. If you distribute a
  4609. % large enough number of copies you must also follow the conditions in
  4610. % section~3.
  4611. %
  4612. % You may also lend copies, under the same conditions stated above,
  4613. % and you may publicly display copies.
  4614. %
  4615. % \needspace{3\baselineskip}
  4616. % \begin{center}
  4617. % {\large\bf 3. COPYING IN QUANTITY\par}
  4618. % \end{center}
  4619. %
  4620. % If you publish printed copies (or copies in media that commonly have
  4621. % printed covers) of the Document, numbering more than 100, and the
  4622. % Document's license notice requires Cover Texts, you must enclose the
  4623. % copies in covers that carry, clearly and legibly, all these Cover
  4624. % Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
  4625. % the back cover. Both covers must also clearly and legibly identify
  4626. % you as the publisher of these copies. The front cover must present
  4627. % the full title with all words of the title equally prominent and
  4628. % visible. You may add other material on the covers in addition.
  4629. % Copying with changes limited to the covers, as long as they preserve
  4630. % the title of the Document and satisfy these conditions, can be
  4631. % treated as verbatim copying in other respects.
  4632. %
  4633. % If the required texts for either cover are too voluminous to fit
  4634. % legibly, you should put the first ones listed (as many as fit
  4635. % reasonably) on the actual cover, and continue the rest onto adjacent
  4636. % pages.
  4637. %
  4638. % If you publish or distribute Opaque copies of the Document numbering
  4639. % more than 100, you must either include a machine-readable
  4640. % Transparent copy along with each Opaque copy, or state in or with
  4641. % each Opaque copy a computer-network location from which the general
  4642. % network-using public has access to download using public-standard
  4643. % network protocols a complete Transparent copy of the Document, free
  4644. % of added material. If you use the latter option, you must take
  4645. % reasonably prudent steps, when you begin distribution of Opaque
  4646. % copies in quantity, to ensure that this Transparent copy will remain
  4647. % thus accessible at the stated location until at least one year after
  4648. % the last time you distribute an Opaque copy (directly or through
  4649. % your agents or retailers) of that edition to the public.
  4650. %
  4651. % It is requested, but not required, that you contact the authors of
  4652. % the Document well before redistributing any large number of copies,
  4653. % to give them a chance to provide you with an updated version of the
  4654. % Document.
  4655. %
  4656. % \needspace{3\baselineskip}
  4657. % \begin{center}
  4658. % {\large\bf 4. MODIFICATIONS\par}
  4659. % \end{center}
  4660. %
  4661. % You may copy and distribute a Modified Version of the Document under
  4662. % the conditions of sections 2 and 3 above, provided that you release
  4663. % the Modified Version under precisely this License, with the Modified
  4664. % Version filling the role of the Document, thus licensing
  4665. % distribution and modification of the Modified Version to whoever
  4666. % possesses a copy of it. In addition, you must do these things in
  4667. % the Modified Version:
  4668. %
  4669. % \begin{itemize}
  4670. % \item[A.] Use in the Title Page (and on the covers, if any) a title
  4671. % distinct from that of the Document, and from those of previous
  4672. % versions (which should, if there were any, be listed in the
  4673. % History section of the Document). You may use the same title as a
  4674. % previous version if the original publisher of that version gives
  4675. % permission.
  4676. %
  4677. % \item[B.] List on the Title Page, as authors, one or more persons
  4678. % or entities responsible for authorship of the modifications in
  4679. % the Modified Version, together with at least five of the
  4680. % principal authors of the Document (all of its principal authors,
  4681. % if it has fewer than five), unless they release you from this
  4682. % requirement.
  4683. %
  4684. % \item[C.] State on the Title page the name of the publisher of the
  4685. % Modified Version, as the publisher.
  4686. %
  4687. % \item[D.] Preserve all the copyright notices of the Document.
  4688. %
  4689. % \item[E.] Add an appropriate copyright notice for your
  4690. % modifications adjacent to the other copyright notices.
  4691. %
  4692. % \item[F.] Include, immediately after the copyright notices, a
  4693. % license notice giving the public permission to use the Modified
  4694. % Version under the terms of this License, in the form shown in the
  4695. % Addendum below.
  4696. %
  4697. % \item[G.] Preserve in that license notice the full lists of
  4698. % Invariant Sections and required Cover Texts given in the
  4699. % Document's license notice.
  4700. %
  4701. % \item[H.] Include an unaltered copy of this License.
  4702. %
  4703. % \item[I.] Preserve the section Entitled \enquote{History},
  4704. % Preserve its Title, and add to it an item stating at least the
  4705. % title, year, new authors, and publisher of the Modified Version
  4706. % as given on the Title Page. If there is no section Entitled
  4707. % \enquote{History} in the Document, create one stating the title,
  4708. % year, authors, and publisher of the Document as given on its
  4709. % Title Page, then add an item describing the Modified Version as
  4710. % stated in the previous sentence.
  4711. %
  4712. % \item[J.] Preserve the network location, if any, given in the
  4713. % Document for public access to a Transparent copy of the Document,
  4714. % and likewise the network locations given in the Document for
  4715. % previous versions it was based on. These may be placed in the
  4716. % \enquote{History} section. You may omit a network location for a
  4717. % work that was published at least four years before the Document
  4718. % itself, or if the original publisher of the version it refers to
  4719. % gives permission.
  4720. %
  4721. % \item[K.] For any section Entitled \enquote{Acknowledgements} or
  4722. % \enquote{Dedications}, Preserve the Title of the section, and
  4723. % preserve in the section all the substance and tone of each of the
  4724. % contributor acknowledgements and/or dedications given therein.
  4725. %
  4726. % \item[L.] Preserve all the Invariant Sections of the Document,
  4727. % unaltered in their text and in their titles. Section numbers or
  4728. % the equivalent are not considered part of the section titles.
  4729. %
  4730. % \item[M.] Delete any section Entitled \enquote{Endorsements}.
  4731. % Such a section may not be included in the Modified Version.
  4732. %
  4733. % \item[N.] Do not retitle any existing section to be Entitled
  4734. % \enquote{Endorsements} or to conflict in title with any Invariant
  4735. % Section.
  4736. %
  4737. % \item[O.] Preserve any Warranty Disclaimers.
  4738. % \end{itemize}
  4739. %
  4740. % If the Modified Version includes new front-matter sections or
  4741. % appendices that qualify as Secondary Sections and contain no
  4742. % material copied from the Document, you may at your option designate
  4743. % some or all of these sections as invariant. To do this, add their
  4744. % titles to the list of Invariant Sections in the Modified Version's
  4745. % license notice. These titles must be distinct from any other
  4746. % section titles.
  4747. %
  4748. % You may add a section Entitled \enquote{Endorsements}, provided it
  4749. % contains nothing but endorsements of your Modified Version by
  4750. % various parties---for example, statements of peer review or that the
  4751. % text has been approved by an organization as the authoritative
  4752. % definition of a standard.
  4753. %
  4754. % You may add a passage of up to five words as a Front-Cover Text, and
  4755. % a passage of up to 25 words as a Back-Cover Text, to the end of the
  4756. % list of Cover Texts in the Modified Version. Only one passage of
  4757. % Front-Cover Text and one of Back-Cover Text may be added by (or
  4758. % through arrangements made by) any one entity. If the Document
  4759. % already includes a cover text for the same cover, previously added
  4760. % by you or by arrangement made by the same entity you are acting on
  4761. % behalf of, you may not add another; but you may replace the old one,
  4762. % on explicit permission from the previous publisher that added the
  4763. % old one.
  4764. %
  4765. % The author(s) and publisher(s) of the Document do not by this
  4766. % License give permission to use their names for publicity for or to
  4767. % assert or imply endorsement of any Modified Version.
  4768. %
  4769. % \needspace{3\baselineskip}
  4770. % \begin{center}
  4771. % {\large\bf 5. COMBINING DOCUMENTS\par}
  4772. % \end{center}
  4773. %
  4774. % You may combine the Document with other documents released under
  4775. % this License, under the terms defined in section~4 above for
  4776. % modified versions, provided that you include in the combination all
  4777. % of the Invariant Sections of all of the original documents,
  4778. % unmodified, and list them all as Invariant Sections of your combined
  4779. % work in its license notice, and that you preserve all their Warranty
  4780. % Disclaimers.
  4781. %
  4782. % The combined work need only contain one copy of this License, and
  4783. % multiple identical Invariant Sections may be replaced with a single
  4784. % copy. If there are multiple Invariant Sections with the same name
  4785. % but different contents, make the title of each such section unique
  4786. % by adding at the end of it, in parentheses, the name of the original
  4787. % author or publisher of that section if known, or else a unique
  4788. % number. Make the same adjustment to the section titles in the list
  4789. % of Invariant Sections in the license notice of the combined work.
  4790. %
  4791. % In the combination, you must combine any sections Entitled
  4792. % \enquote{History} in the various original documents, forming one
  4793. % section Entitled \enquote{History}; likewise combine any sections
  4794. % Entitled \enquote{Acknowledgements}, and any sections Entitled
  4795. % \enquote{Dedications}. You must delete all sections Entitled
  4796. % \enquote{Endorsements}.
  4797. %
  4798. % \needspace{3\baselineskip}
  4799. % \begin{center}
  4800. % {\large\bf 6. COLLECTIONS OF DOCUMENTS\par}
  4801. % \end{center}
  4802. %
  4803. % You may make a collection consisting of the Document and other
  4804. % documents released under this License, and replace the individual
  4805. % copies of this License in the various documents with a single copy
  4806. % that is included in the collection, provided that you follow the
  4807. % rules of this License for verbatim copying of each of the documents
  4808. % in all other respects.
  4809. %
  4810. % You may extract a single document from such a collection, and
  4811. % distribute it individually under this License, provided you insert a
  4812. % copy of this License into the extracted document, and follow this
  4813. % License in all other respects regarding verbatim copying of that
  4814. % document.
  4815. %
  4816. % \needspace{3\baselineskip}
  4817. % \begin{center}
  4818. % {\large\bf 7. AGGREGATION WITH INDEPENDENT WORKS\par}
  4819. % \end{center}
  4820. %
  4821. % A compilation of the Document or its derivatives with other separate
  4822. % and independent documents or works, in or on a volume of a storage
  4823. % or distribution medium, is called an \enquote{aggregate} if the
  4824. % copyright resulting from the compilation is not used to limit the
  4825. % legal rights of the compilation's users beyond what the individual
  4826. % works permit. When the Document is included in an aggregate, this
  4827. % License does not apply to the other works in the aggregate which are
  4828. % not themselves derivative works of the Document.
  4829. %
  4830. % If the Cover Text requirement of section~3 is applicable to these
  4831. % copies of the Document, then if the Document is less than one half
  4832. % of the entire aggregate, the Document's Cover Texts may be placed on
  4833. % covers that bracket the Document within the aggregate, or the
  4834. % electronic equivalent of covers if the Document is in electronic
  4835. % form. Otherwise they must appear on printed covers that bracket the
  4836. % whole aggregate.
  4837. %
  4838. % \needspace{3\baselineskip}
  4839. % \begin{center}
  4840. % {\large\bf 8. TRANSLATION\par}
  4841. % \end{center}
  4842. %
  4843. % Translation is considered a kind of modification, so you may
  4844. % distribute translations of the Document under the terms of
  4845. % section~4. Replacing Invariant Sections with translations requires
  4846. % special permission from their copyright holders, but you may include
  4847. % translations of some or all Invariant Sections in addition to the
  4848. % original versions of these Invariant Sections. You may include a
  4849. % translation of this License, and all the license notices in the
  4850. % Document, and any Warranty Disclaimers, provided that you also
  4851. % include the original English version of this License and the
  4852. % original versions of those notices and disclaimers. In case of a
  4853. % disagreement between the translation and the original version of
  4854. % this License or a notice or disclaimer, the original version will
  4855. % prevail.
  4856. %
  4857. % If a section in the Document is Entitled \enquote{Acknowledgements},
  4858. % \enquote{Dedications}, or \enquote{History}, the requirement
  4859. % (section~4) to Preserve its Title (section~1) will typically require
  4860. % changing the actual title.
  4861. %
  4862. % \needspace{3\baselineskip}
  4863. % \begin{center}
  4864. % {\large\bf 9. TERMINATION\par}
  4865. % \end{center}
  4866. %
  4867. % You may not copy, modify, sublicense, or distribute the Document
  4868. % except as expressly provided under this License. Any attempt
  4869. % otherwise to copy, modify, sublicense, or distribute it is void, and
  4870. % will automatically terminate your rights under this License.
  4871. %
  4872. % However, if you cease all violation of this License, then your
  4873. % license from a particular copyright holder is reinstated (a)
  4874. % provisionally, unless and until the copyright holder explicitly and
  4875. % finally terminates your license, and (b) permanently, if the
  4876. % copyright holder fails to notify you of the violation by some
  4877. % reasonable means prior to 60 days after the cessation.
  4878. %
  4879. % Moreover, your license from a particular copyright holder is
  4880. % reinstated permanently if the copyright holder notifies you of the
  4881. % violation by some reasonable means, this is the first time you have
  4882. % received notice of violation of this License (for any work) from
  4883. % that copyright holder, and you cure the violation prior to 30 days
  4884. % after your receipt of the notice.
  4885. %
  4886. % Termination of your rights under this section does not terminate the
  4887. % licenses of parties who have received copies or rights from you
  4888. % under this License. If your rights have been terminated and not
  4889. % permanently reinstated, receipt of a copy of some or all of the same
  4890. % material does not give you any rights to use it.
  4891. %
  4892. % \needspace{3\baselineskip}
  4893. % \begin{center}
  4894. % {\large\bf 10. FUTURE REVISIONS OF THIS LICENSE\par}
  4895. % \end{center}
  4896. %
  4897. % The Free Software Foundation may publish new, revised versions of
  4898. % the GNU Free Documentation License from time to time. Such new
  4899. % versions will be similar in spirit to the present version, but may
  4900. % differ in detail to address new problems or concerns. See
  4901. % \url{https://www.gnu.org/licenses/}.
  4902. %
  4903. % Each version of the License is given a distinguishing version
  4904. % number. If the Document specifies that a particular numbered
  4905. % version of this License \enquote{or any later version} applies to
  4906. % it, you have the option of following the terms and conditions either
  4907. % of that specified version or of any later version that has been
  4908. % published (not as a draft) by the Free Software Foundation. If the
  4909. % Document does not specify a version number of this License, you may
  4910. % choose any version ever published (not as a draft) by the Free
  4911. % Software Foundation. If the Document specifies that a proxy can
  4912. % decide which future versions of this License can be used, that
  4913. % proxy's public statement of acceptance of a version permanently
  4914. % authorizes you to choose that version for the Document.
  4915. %
  4916. % \needspace{3\baselineskip}
  4917. % \begin{center}
  4918. % {\large\bf 11. RELICENSING\par}
  4919. % \end{center}
  4920. %
  4921. % \enquote{Massive Multiauthor Collaboration Site} (or \enquote{MMC
  4922. % Site}) means any World Wide Web server that publishes copyrightable
  4923. % works and also provides prominent facilities for anybody to edit
  4924. % those works. A public wiki that anybody can edit is an example of
  4925. % such a server. A \enquote{Massive Multiauthor Collaboration} (or
  4926. % \enquote{MMC}) contained in the site means any set of copyrightable
  4927. % works thus published on the MMC site.
  4928. %
  4929. % \enquote{CC-BY-SA} means the Creative Commons Attribution-Share
  4930. % Alike 3.0 license published by Creative Commons Corporation, a
  4931. % not-for-profit corporation with a principal place of business in San
  4932. % Francisco, California, as well as future copyleft versions of that
  4933. % license published by that same organization.
  4934. %
  4935. % \enquote{Incorporate} means to publish or republish a Document, in
  4936. % whole or in part, as part of another Document.
  4937. %
  4938. % An MMC is \enquote{eligible for relicensing} if it is licensed under
  4939. % this License, and if all works that were first published under this
  4940. % License somewhere other than this MMC, and subsequently incorporated
  4941. % in whole or in part into the MMC, (1) had no cover texts or
  4942. % invariant sections, and (2) were thus incorporated prior to November
  4943. % 1, 2008.
  4944. %
  4945. % The operator of an MMC Site may republish an MMC contained in the
  4946. % site under CC-BY-SA on the same site at any time before August 1,
  4947. % 2009, provided the MMC is eligible for relicensing.
  4948. %
  4949. % \needspace{3\baselineskip}
  4950. % \begin{center}
  4951. % {\large\bf ADDENDUM: How to use this License for your documents\par}
  4952. % \end{center}
  4953. %
  4954. % To use this License in a document you have written, include a copy
  4955. % of the License in the document and put the following copyright and
  4956. % license notices just after the title page:
  4957. %
  4958. % \bigskip
  4959. % \begin{quote}
  4960. % Copyright \copyright{} YEAR YOUR NAME. Permission is granted to
  4961. % copy, distribute and/or modify this document under the terms of
  4962. % the GNU Free Documentation License, Version 1.3 or any later
  4963. % version published by the Free Software Foundation; with no
  4964. % Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
  4965. % A copy of the license is included in the section entitled
  4966. % \enquote{GNU Free Documentation License}.
  4967. % \end{quote}
  4968. % \bigskip
  4969. %
  4970. % If you have Invariant Sections, Front-Cover Texts and Back-Cover
  4971. % Texts, replace the \enquote{with \dots\ Texts.}\ line with this:
  4972. %
  4973. % \bigskip
  4974. % \begin{quote}
  4975. % with the Invariant Sections being LIST THEIR TITLES, with the
  4976. % Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
  4977. % \end{quote}
  4978. % \bigskip
  4979. %
  4980. % If you have Invariant Sections without Cover Texts, or some other
  4981. % combination of the three, merge those two alternatives to suit the
  4982. % situation.
  4983. %
  4984. % If your document contains nontrivial examples of program code, we
  4985. % recommend releasing these examples in parallel under your choice of
  4986. % free software license, such as the GNU General Public License,
  4987. % to permit their use in free software.
  4988. %
  4989. %
  4990. % \StopEventually{}
  4991. %
  4992. % \section{Implementation}
  4993. %
  4994. % \iffalse
  4995. %<*package>
  4996. % \fi
  4997. %
  4998. % The most important part of \package{arabluatex} relies on Lua
  4999. % functions and tables. Read the |.lua| files that accompany
  5000. % \package{arabluatex} for more information.
  5001. % \begin{macrocode}
  5002. \RequirePackage{iftex}
  5003. % \end{macrocode}
  5004. % \package{arabluatex} requires {\LuaLaTeX} of course. Issue a warning
  5005. % if the document is processed with another engine.
  5006. % \begin{macrocode}
  5007. \RequireLuaTeX
  5008. % \end{macrocode}
  5009. % Declare the global options, and define them:
  5010. % \begin{macrocode}
  5011. \RequirePackage{xkeyval}
  5012. \DeclareOptionX{voc}{\def\al@mode{voc}}
  5013. \DeclareOptionX{fullvoc}{\def\al@mode{fullvoc}}
  5014. \DeclareOptionX{novoc}{\def\al@mode{novoc}}
  5015. \DeclareOptionX{trans}{\def\al@mode{trans}}
  5016. \define@boolkey{arabluatex.sty}[@pkg@]{export}[true]{%
  5017. \if@pkg@export%
  5018. \AtBeginDocument{\luadirect{arabluatex.openstream()}%
  5019. \MkArbBreak{@al@ob,@al@cb,@al@cb@sp}}
  5020. \AtEndDocument{\luadirect{arabluatex.closestream()}}
  5021. \else\fi}
  5022. \ExecuteOptionsX{voc}
  5023. \ProcessOptionsX\relax
  5024. \def\al@mode@voc{voc}
  5025. \def\al@mode@fullvoc{fullvoc}
  5026. \def\al@mode@novoc{novoc}
  5027. \def\al@mode@trans{trans}
  5028. % \end{macrocode}
  5029. % Packages that are required by \package{arabluatex}:
  5030. % \begin{macrocode}
  5031. \RequirePackage{xcolor}
  5032. \RequirePackage{luacolor}
  5033. \RequirePackage{etoolbox}
  5034. \RequirePackage{arabluatex-patch}
  5035. \RequirePackage{fontspec}
  5036. \RequirePackage{luacode}
  5037. \RequirePackage{xparse}
  5038. \RequirePackage{adjustbox}
  5039. \RequirePackage{xstring}
  5040. \RequirePackage{lua-ul}
  5041. % \end{macrocode}
  5042. % The following boolean will be set to |true| in |RL| mode:
  5043. % \begin{macrocode}
  5044. \providebool{al@rlmode}
  5045. % \end{macrocode}
  5046. % Here begins the real work: load |arabluatex.lua|:
  5047. % \begin{macrocode}
  5048. \luadirect{dofile(kpse.find_file("arabluatex.lua"))}
  5049. % \end{macrocode}
  5050. % Font setup. If no Arabic font is selected, issue a warning message
  5051. % and attempt to load the Amiri font which is included in \TeX{}live:
  5052. % \begin{macrocode}
  5053. \AtBeginDocument{\ifdefined\arabicfont\relax\else
  5054. \PackageInfo{arabluatex}{%
  5055. \string\arabicfont\ is not defined.\MessageBreak
  5056. arabluatex will try to load Amiri}%
  5057. \newfontfamily\arabicfont{Amiri}[Script=Arabic]\fi}%
  5058. % \end{macrocode}
  5059. % \begin{macro}{\setRL}
  5060. % This neutralizes what may be defined by other packages:
  5061. % \begin{macrocode}
  5062. \AtBeginDocument{\def\setRL{\booltrue{al@rlmode}\pardir TRT%
  5063. \textdir TRT}}
  5064. % \end{macrocode}
  5065. % \end{macro}
  5066. % \begin{macro}{\setLR}
  5067. % The same applies to \cs{setLR}:
  5068. % \begin{macrocode}
  5069. \AtBeginDocument{\def\setLR{\boolfalse{al@rlmode}\pardir TLT%
  5070. \textdir TLT}}
  5071. % \end{macrocode}
  5072. % \end{macro}
  5073. % \begin{macro}{\LR} This command typesets its argument from left to
  5074. % right. As \cs{LR} may be already defined, we need to redefine for
  5075. % it to suit our purpose:
  5076. % \begin{macrocode}
  5077. \AtBeginDocument{\ifdef{\LR}%
  5078. {\RenewDocumentCommand{\LR}{m}{\bgroup\textdir TLT\rmfamily#1\egroup}}
  5079. {\NewDocumentCommand{\LR}{m}{\bgroup\textdir TLT\rmfamily#1\egroup}}}
  5080. % \end{macrocode}
  5081. % \end{macro}
  5082. % \begin{macro}{\RL} This one typesets its argument from right to
  5083. % left. Same remark as above regarding the need of redefinition.
  5084. % \begin{macrocode}
  5085. \AtBeginDocument{\ifdef{\RL}%
  5086. {\RenewDocumentCommand{\RL}{m}{\bgroup\textdir TRT\rmfamily#1\egroup}}
  5087. {\NewDocumentCommand{\RL}{m}{\bgroup\textdir TRT#1\rmfamily\egroup}}}
  5088. % \end{macrocode}
  5089. % \end{macro}
  5090. % \begin{macro}{\MkArbBreak}
  5091. % \changes{v1.9}{2017/07/05}{New \cs{MkArbBreak} command for
  5092. % inserting user-defined macros in Arabic environments} The
  5093. % \cs{MkArbBreak}\marg{csv list of commands} command can be used to
  5094. % give any command---either new or already existing---the precedence
  5095. % over \package{arabluatex} inside Arabic environments. It is
  5096. % actually coded in Lua.
  5097. % \begin{macro}{\MkArbBreak*}
  5098. % \changes{v1.12}{2018/06/24}{\enquote*{starred} version which
  5099. % closes Arabic environments before processing declared commands.}
  5100. % \cs{MkArbBreak*} goes a step further as it directs
  5101. % \package{arabluatex} to close the current Arabic environment before
  5102. % processing any \enquote*{declared} command then resume it just
  5103. % after.
  5104. % \begin{macrocode}
  5105. \NewDocumentCommand{\MkArbBreak}{s m}{%
  5106. \IfBooleanTF{#1}
  5107. {\luadirect{arabluatex.mkarbbreak(\luastringN{#2}, "out")}}
  5108. {\luadirect{arabluatex.mkarbbreak(\luastringN{#2}, "dflt")}}
  5109. }
  5110. % \end{macrocode}
  5111. % \end{macro}
  5112. % \end{macro}
  5113. % \begin{macro}{\aemph} Arabic emphasis. Needs to be redefined as
  5114. % well. The function is actually coded in Lua.
  5115. % \changes{v1.16}{2018/11/06}{Now uses \textsf{ulem}}
  5116. % \changes{v1.19}{2020/03/15}{Now uses \textsf{lua-ul}}
  5117. % \begin{macro}{\aemph*} The \enquote*{starred} version of this
  5118. % command alway puts the stroke over its argument.
  5119. % \changes{v1.9.2}{2017/10/24}{Starred version which always puts the
  5120. % stroke over its argument}As of v1.19, \package{arabluatex} uses
  5121. % \package{lua-ul} to render the strokes, thus allowing line breaks
  5122. % and manual hyphenation for transliterated Arabic.
  5123. % \begin{macro}{\aoline}
  5124. % \begin{macro}{\aoline*}
  5125. % \begin{macro}{\auline}
  5126. % \changes{v1.19}{2020/03/15}{Non context-sensitive command to
  5127. % underline Arabic words is provided}\cs{aoline} and \cs{auline}
  5128. % derive from \cs{newunderlinetype} provided by the \package{lua-ul}
  5129. % package whereas \cs{aoline*}, which uses \cs{overline} in math-mode,
  5130. % is better suited for so-called \arb[trans]{'ab^gad} numbers.
  5131. % \begin{macrocode}
  5132. \newunderlinetype\@aoverLine{\leaders\vrule height 3ex depth -2.9ex}
  5133. \def\aoline{\@ifstar\@aoline\@@aoline}
  5134. \def\@aoline#1{\ensuremath{\overline{\mbox{#1}}}}
  5135. \def\@@aoline#1{{\@aoverLine#1}}
  5136. \newunderlinetype\@aunderLine{\leaders\vrule height -.65ex depth .75ex}
  5137. \def\auline#1{{\@aunderLine#1}}
  5138. \AtBeginDocument{\ifdef{\aemph}%
  5139. {\RenewDocumentCommand{\aemph}{s m}{%
  5140. \IfBooleanTF{#1}{%
  5141. \luadirect{tex.sprint(arabluatex.aemph(\luastringN{#2},
  5142. "over"))}}
  5143. {\luadirect{tex.sprint(arabluatex.aemph(\luastringN{#2},
  5144. "dflt"))}}}}
  5145. {\NewDocumentCommand{\aemph}{s m}{%
  5146. \IfBooleanTF{#1}{%
  5147. \luadirect{tex.sprint(arabluatex.aemph(\luastringN{#2},
  5148. "over"))}}
  5149. {\luadirect{tex.sprint(arabluatex.aemph(\luastringN{#2},
  5150. "dflt"))}}}}}
  5151. % \end{macrocode}
  5152. % \end{macro}
  5153. % \end{macro}
  5154. % \end{macro}
  5155. % \end{macro}
  5156. % \end{macro}
  5157. % \begin{macro}{\arbcolor}\changes{v1.12}{2018/06/24}{Standard color
  5158. % command for Arabic environments}
  5159. % \cs{arbcolor}\oarg{color}\marg{Arabic text} takes the Arabic text to
  5160. % be colored as argument.
  5161. % \begin{macrocode}
  5162. \NewDocumentCommand{\arbcolor}{o m}{%
  5163. \IfNoValueTF{#1}{#2}{\textcolor{#1}{#2}}}
  5164. % \end{macrocode}
  5165. %
  5166. % \end{macro}
  5167. % \begin{macro}{\SetInputScheme}
  5168. % \changes{v1.4}{2016/07/05}{\cs{SetInputScheme} can be used to
  5169. % process other input schemes such as \enquote*{Buckwalter}}
  5170. % \package{arabluatex} is designed for processing Arab\TeX\ input
  5171. % notation. \cs{SetInputScheme} may be used in the preamble or at
  5172. % any point of the document should the user wish to use a different
  5173. % notation such as the \enquote*{Buckwalter scheme}.
  5174. % \begin{macrocode}
  5175. \def\al@input@scheme{arabtex}
  5176. \NewDocumentCommand{\SetInputScheme}{m}{\def\al@input@scheme{#1}}
  5177. % \end{macrocode}
  5178. % \end{macro}
  5179. % \begin{macro}{\SetArbEasy}
  5180. % \changes{v1.2}{2016/05/09}{New \cs{SetArbEasy}/\cs{SetArbDflt} for
  5181. % \enquote*{modern} or \enquote*{classic} Arabic styles.}
  5182. % \begin{macro}{\SetArbEasy*}
  5183. % \changes{v1.4.4}{2016/09/28}{this starred version discards the
  5184. % \arb[trans]{sukUn} in addition to what is already discarded by
  5185. % \cs{SetArbEasy}.}
  5186. % \begin{macro}{\SetArbDflt}
  5187. % By default, \package{arabluatex} applies complex rules to generate
  5188. % euphonic \arb[trans]{ta^sdId}, \arb[trans]{'alif mamdUdaT} and
  5189. % \arb[trans]{sukUn} depending on the modes which are selected,
  5190. % either |voc|, |fullvoc| or |trans|. Such refinements can be
  5191. % discarded with \cs{SetArbEasy}, either globally in the preamble or
  5192. % at any point of the document. Note that \cs{SetArbEasy} keeps the
  5193. % \arb[trans]{sukUn} that is generated, while the starred version
  5194. % \cs{SetArbEasy*} takes it away. Default complex rules can be set
  5195. % back at any point of the document with \cs{SetArbDflt}.
  5196. % \begin{macro}{\SetArbDflt*}
  5197. % \changes{v1.6}{2016/12/17}{This starred version applies the
  5198. % assimilation rules in addition to what \cs{SetArbDflt} already
  5199. % does.} As of v1.6, \package{arabluatex} does not applies any more
  5200. % the assimilation rules that are laid on \vref{ref:assimilation}; a
  5201. % new starred version \cs{SetArbDflt*} is now available to the user
  5202. % should he wish to apply them.
  5203. % \begin{macrocode}
  5204. \def\al@arb@rules{dflt}
  5205. \NewDocumentCommand{\SetArbEasy}{s}{%
  5206. \IfBooleanTF{#1}
  5207. {\def\al@arb@rules{easynosukun}}
  5208. {\def\al@arb@rules{easy}}}
  5209. \NewDocumentCommand{\SetArbDflt}{s}{%
  5210. \IfBooleanTF{#1}
  5211. {\def\al@arb@rules{idgham}}
  5212. {\def\al@arb@rules{dflt}}}
  5213. % \end{macrocode}
  5214. % \end{macro}
  5215. % \end{macro}
  5216. % \end{macro}
  5217. % \end{macro}
  5218. % \begin{macro}{\SetTranslitFont}
  5219. % \changes{v1.4}{2016/07/05}{For selecting a specific font for
  5220. % transliterated texts} By default, the font that is used for
  5221. % transliterated text is the main font of the document. Any other
  5222. % font may also be selected with the font-selecting commands of the
  5223. % \package{fontspec} package.
  5224. % \begin{macrocode}
  5225. \def\al@trans@font{\rmfamily}%
  5226. \NewDocumentCommand{\SetTranslitFont}{m}{\def\al@trans@font{#1}}
  5227. % \end{macrocode}
  5228. % \end{macro}
  5229. % \begin{macro}{\SetTranslitStyle} By default any transliterated
  5230. % Arabic text is printed in italics. This can be changed either
  5231. % globally in the preamble or at any point of the document:
  5232. % \begin{macrocode}
  5233. \def\al@trans@style{\itshape}%
  5234. \NewDocumentCommand{\SetTranslitStyle}{m}{\def\al@trans@style{#1}}
  5235. % \end{macrocode}
  5236. % \end{macro}
  5237. % \begin{macro}{\altrfont}
  5238. % \changes{v1.21}{2020/07/13}{new command \cs{altrfont} to store
  5239. % font and shape information (trans mode)} Finally \cs{altrfont}
  5240. % is used internally by \package{arabluatex} to store family and
  5241. % shape information about the font to be used for transliterated
  5242. % Arabic.
  5243. % \begin{macrocode}
  5244. \def\altrfont{\al@trans@font\al@trans@style}
  5245. % \end{macrocode}
  5246. % \end{macro}
  5247. % \begin{macro}{\SetTranslitConvention}
  5248. % \cs{SetTranslitConvention}\marg{convention} can be used to change
  5249. % the transliteration convention, which is |dmg| by default:
  5250. % \begin{macrocode}
  5251. \def\al@trans@convention{dmg}
  5252. \NewDocumentCommand{\SetTranslitConvention}{m}{%
  5253. \def\al@trans@convention{#1}}
  5254. % \end{macrocode}
  5255. % \end{macro}
  5256. % \begin{macro}{\arbup}
  5257. % \changes{v1.3}{2016/05/28}{\arb[trans]{'i`rAb} is now written as
  5258. % superscript text in \texttt{dmg} mode by default.}
  5259. % \begin{macro}{\NoArbUp}
  5260. % \begin{macro}{\ArbUpDflt}
  5261. % \begin{macro}{\SetArbUp}
  5262. % By default, \cs{arbup} is set to \cs{textsuperscript}. This is how
  5263. % the \arb[trans]{tanwIn} that takes place at the end of a word
  5264. % should be displayed in |dmg| mode. \cs{NoArbUp} may be used
  5265. % either in the preamble or at any point of the document in case one
  5266. % wishes to have the \arb[trans]{tanwIn} on the line. The default
  5267. % rule can be set back with \cs{ArbUpDflt} at any point of the
  5268. % document. Finally \cs{SetArbUp} can be used to customize the way
  5269. % \arb[trans]{tanwIn} is displayed: this command takes the
  5270. % formatting directives as argument, like so:
  5271. % \cs{SetArbUp}\marg{code}.
  5272. % \begin{macrocode}
  5273. \NewDocumentCommand{\al@arbup@dflt}{m}{\textsuperscript{#1}}%
  5274. \NewDocumentCommand{\al@arbup}{m}{\al@arbup@dflt{#1}}
  5275. \NewDocumentCommand{\arbup}{m}{\al@arbup{#1}}
  5276. \NewDocumentCommand{\ArbUpDflt}{}{\let\al@arbup=\al@arbup@dflt}
  5277. \NewDocumentCommand{\NoArbUp}{}{\RenewDocumentCommand{\al@arbup}{m}{##1}}
  5278. \NewDocumentCommand{\SetArbUp}{m}{%
  5279. \RenewDocumentCommand{\al@arbup}{m}{#1}}
  5280. % \end{macrocode}
  5281. % \end{macro}
  5282. % \end{macro}
  5283. % \end{macro}
  5284. % \end{macro}
  5285. % \begin{macro}{\uc} Proper Arabic names or book titles should be
  5286. % passed to the \cs{uc} command so that they have their first letters
  5287. % uppercased. \cs{uc} is actually coded in Lua.
  5288. % \begin{macrocode}
  5289. \NewDocumentCommand{\uc}{m}%
  5290. {\luadirect{tex.sprint(arabluatex.uc(\luastringN{#1}))}}
  5291. % \end{macrocode}
  5292. % \end{macro}
  5293. % \begin{macro}{\Uc} \cs{uc} can be used safely in all of the modes
  5294. % that are provided by \package{arabluatex} as any of the |voc|,
  5295. % |fullvoc| and |novoc| modes discard it on top of any other
  5296. % functions to be run. \cs{Uc} does the same as \cs{uc} except
  5297. % that \emph{it is never discarded}. For that reason, \cs{Uc}
  5298. % \emph{should never be used outside the} |trans|
  5299. % \emph{mode}. \package{arabluatex} uses \cs{Uc} internally so as
  5300. % to prevent \cs{uc} from being discarded in case words that are to
  5301. % be transliterated are inserted into Arabic commands or
  5302. % environments where transliteration is not required. Therefore, it
  5303. % is not documented.
  5304. % \begin{macrocode}
  5305. \let\Uc\uc
  5306. % \end{macrocode}
  5307. % \end{macro}
  5308. % \begin{macro}{\prname}\changes{v1.10}{2018/01/03}{New command for
  5309. % typesetting Arabic proper names in transliteration} \cs{prname} is
  5310. % to be used outside Arabic environments for proper names. It takes as
  5311. % argument one or more Arabic words, each of which will be rendered in
  5312. % upright roman style with its first letter uppercased.
  5313. % \begin{macro}{\prname*}\changes{v1.13}{2018/08/27}{Renders proper
  5314. % names already converted to Unicode in upright roman style}
  5315. % Unlike \cs{prname}, \cs{prname*} does not take |arabtex| or
  5316. % |buckwalter| input as argument, but already Unicode converted
  5317. % names and renders them in upright roman style.
  5318. % \begin{macrocode}
  5319. \NewDocumentCommand{\prname}{s m}{%
  5320. \bgroup\SetTranslitStyle{\relax}%
  5321. \IfBooleanTF{#1}{\txtrans{#2}}{\arb[trans]{\uc{#2}}}\egroup}
  5322. % \end{macrocode}
  5323. % \end{macro}
  5324. % \end{macro}
  5325. % \begin{macro}{\txarb} \cs{txarb} sets the direction to right-to-left
  5326. % and selects the Arabic font. It is used internally by several Lua
  5327. % functions, but available to the user should he wish to insert
  5328. % |utf8| Arabic text in his document.
  5329. % \begin{macro}{\txtrans} \cs{txtrans} is used internally by several
  5330. % Lua functions to insert transliterated Arabic text. Therefore, it is
  5331. % not documented.
  5332. % \begin{macrocode}
  5333. \NewDocumentCommand{\txarb}{+m}{%
  5334. \ifvmode\leavevmode\fi%
  5335. \bgroup\textdir TRT\arabicfont#1\egroup}
  5336. \NewDocumentCommand{\txtrans}{+m}{%
  5337. \bgroup\textdir TLT\altrfont#1\egroup}
  5338. % \end{macrocode}
  5339. % \end{macro}
  5340. % \end{macro}
  5341. % \begin{environment}{txarab}
  5342. % \changes{v1.5}{2016/11/14}{New \texttt{txarab} environment for
  5343. % typesetting running paragraphs in Unicode Arabic} The |txarab|
  5344. % environment does for paragraphs the same as \cs{txarb} does for
  5345. % short insertions of |utf8| Arabic text.
  5346. % \begin{macrocode}
  5347. \NewDocumentEnvironment{txarab}{}{%
  5348. \par%
  5349. \booltrue{al@rlmode}%
  5350. \pardir TRT\textdir TRT\arabicfont}{\par}
  5351. % \end{macrocode}
  5352. % \end{environment}
  5353. % \begin{environment}{txarabtr}
  5354. % |txarabtr| environment is used internally by several Lua functions
  5355. % to insert running paragraphs of transliterated Arabic text
  5356. % Therefore, it is not documented.
  5357. % \begin{macrocode}
  5358. \NewDocumentEnvironment{txarabtr}{}{%
  5359. \par%
  5360. \pardir TLT\textdir TLT%
  5361. \altrfont}{\par}
  5362. % \end{macrocode}
  5363. % \end{environment}
  5364. % \begin{macro}{\arb}
  5365. % The \cs{arb} command detects which Arabic mode is to be used,
  5366. % either globally if no option is set, or locally, then passes its
  5367. % argument to the appropriate Lua function.
  5368. % \begin{macrocode}
  5369. \NewDocumentCommand{\arb}{O{\al@mode} +m}%
  5370. {\edef\@tempa{#1}%
  5371. \ifx\@tempa\al@mode@voc%
  5372. \ifvmode\leavevmode\fi%
  5373. \bgroup\booltrue{al@rlmode}\textdir TRT\arabicfont%
  5374. \luadirect{tex.sprint(arabluatex.processvoc(\luastringN{#2},
  5375. \luastringO{\al@arb@rules}, \luastringO{\al@input@scheme}))}\egroup%
  5376. \else%
  5377. \ifx\@tempa\al@mode@fullvoc%
  5378. \ifvmode\leavevmode\fi%
  5379. \bgroup\booltrue{al@rlmode}\textdir TRT\arabicfont%
  5380. \luadirect{tex.sprint(arabluatex.processfullvoc(\luastringN{#2},
  5381. \luastringO{\al@arb@rules}, \luastringO{\al@input@scheme}))}\egroup%
  5382. \else%
  5383. \ifx\@tempa\al@mode@novoc%
  5384. \ifvmode\leavevmode\fi%
  5385. \bgroup\booltrue{al@rlmode}\textdir TRT\arabicfont%
  5386. \luadirect{tex.sprint(arabluatex.processnovoc(\luastringN{#2},
  5387. \luastringO{\al@arb@rules}, \luastringO{\al@input@scheme}))}\egroup%
  5388. \else%
  5389. \ifx\@tempa\al@mode@trans%
  5390. \bgroup\textdir TLT%
  5391. \luadirect{tex.sprint(arabluatex.processtrans(\luastringN{#2},
  5392. \luastringO{\al@trans@convention},
  5393. \luastringO{\al@arb@rules},
  5394. \luastringO{\al@input@scheme}))}\egroup%
  5395. \else%
  5396. \fi\fi\fi\fi}
  5397. % \end{macrocode}
  5398. % \end{macro}
  5399. % \begin{macro}{\arbmark}
  5400. % \changes{v1.11}{2018/03/31}{New command for inserting additional
  5401. % marks in Arabic environments}
  5402. % \cs{arbmark}\oarg{rl\textbar{}lr}\marg{shorthand} takes one
  5403. % argument from a list of defined elements.
  5404. % \changes{v1.13}{2018/08/27}{New optional argument: either
  5405. % \texttt{rl} or \texttt{lr}} The mark to be inserted is determined
  5406. % by contextual analysis or by an optional argument, either |rl| or
  5407. % |lr|. This command is coded in Lua.
  5408. % \begin{macrocode}
  5409. \NewDocumentCommand{\arbmark}{O{} m}{%
  5410. \bgroup%
  5411. \SetInputScheme{arabtex}%
  5412. \luadirect{tex.sprint(arabluatex.processarbmarks(\luastringN{#2},
  5413. \luastringN{#1}))}%
  5414. \egroup}
  5415. % \end{macrocode}
  5416. % \end{macro}
  5417. % \begin{macro}{\newarbmark}
  5418. % \changes{v1.11}{2018/03/31}{Allows defining additional sets of Arabic
  5419. % marks} \cs{newarbmark} lets the user define additional Arabic
  5420. % marks. As \cs{arbmark}, this command is coded in Lua. It takes
  5421. % three arguments: the abbreviated form to be used as argument of
  5422. % \cs{arbmark}, the rendition in Arabic script and the rendition in
  5423. % romanized Arabic.
  5424. % \begin{macrocode}
  5425. \NewDocumentCommand{\newarbmark}{m m m}{%
  5426. \luadirect{arabluatex.newarbmark(\luastringN{#1}, \luastringN{#2},
  5427. \luastringN{#3})}}
  5428. % \end{macrocode}
  5429. % \end{macro}
  5430. % \begin{environment}{arab}
  5431. % The |arab| environment does for paragraphs the same as \cs{arb} does
  5432. % for short insertions of Arabic text.
  5433. % \begin{macrocode}
  5434. \NewDocumentEnvironment{arab}{!O{\al@mode} +b}%
  5435. {\par\edef\@tempa{#1}%
  5436. \ifx\@tempa\al@mode@voc%
  5437. \booltrue{al@rlmode}%
  5438. \bgroup\pardir TRT\textdir TRT\arabicfont%
  5439. \luadirect{tex.sprint(arabluatex.processvoc(\luastringN{#2},
  5440. \luastringO{\al@arb@rules}, \luastringO{\al@input@scheme}))}\egroup%
  5441. \else%
  5442. \ifx\@tempa\al@mode@fullvoc%
  5443. \booltrue{al@rlmode}%
  5444. \bgroup\pardir TRT\textdir TRT\arabicfont%
  5445. \luadirect{tex.sprint(arabluatex.processfullvoc(\luastringN{#2},
  5446. \luastringO{\al@arb@rules}, \luastringO{\al@input@scheme}))}\egroup%
  5447. \else%
  5448. \ifx\@tempa\al@mode@novoc%
  5449. \booltrue{al@rlmode}%
  5450. \bgroup\pardir TRT\textdir TRT\arabicfont%
  5451. \luadirect{tex.sprint(arabluatex.processnovoc(\luastringN{#2},
  5452. \luastringO{\al@arb@rules}, \luastringO{\al@input@scheme}))}\egroup%
  5453. \else%
  5454. \ifx\@tempa\al@mode@trans%
  5455. \bgroup\pardir TLT\textdir TLT%
  5456. \luadirect{tex.sprint(arabluatex.processtrans(\luastringN{#2},
  5457. \luastringO{\al@trans@convention},
  5458. \luastringO{\al@arb@rules},
  5459. \luastringO{\al@input@scheme}))}\egroup%
  5460. \else \fi\fi\fi\fi}{\par}
  5461. % \end{macrocode}
  5462. % \end{environment}
  5463. % \begin{environment}{arabverse}
  5464. % \changes{v1.6}{2016/12/17}{New environment \texttt{arabverse} for
  5465. % typesetting Arabic poetry} The |arabverse| environment may receive
  5466. % different options: |mode|, |width|, |gutter|, |metre|, |color|,
  5467. % |utf|, |delim| and |export|; all of them are defined here just
  5468. % before the |arabverse|
  5469. % environment. \changes{v1.13}{2018/08/27}{New options
  5470. % \texttt{color} and \texttt{export} to \texttt{arabverse}
  5471. % environment.}
  5472. % \begin{macrocode}
  5473. \newlength{\al@bayt@width}
  5474. \newlength{\al@gutter@width}
  5475. \setlength{\al@bayt@width}{.3\textwidth}
  5476. \setlength{\al@gutter@width}{.15\al@bayt@width}
  5477. \define@key[al]{verse}{width}{\setlength{\al@bayt@width}{#1}}
  5478. \define@key[al]{verse}{gutter}{\setlength{\al@gutter@width}{#1}}
  5479. \define@key[al]{verse}{metre}{\arb{#1}}
  5480. \define@key[al]{verse}{color}[]{\color{#1}}
  5481. \define@boolkey[al]{verse}{utf}[true]{}
  5482. \define@boolkey[al]{verse}{delim}[true]{}
  5483. \define@boolkey[al]{verse}{export}[true]{}
  5484. \define@choicekey[al]{verse}{mode}{fullvoc, voc, novoc,
  5485. trans}{\def\al@mode{#1}}
  5486. \presetkeys[al]{verse}{metre={}, utf=false,
  5487. delim=false}{}
  5488. % \end{macrocode}
  5489. % Then follows the environment itself:
  5490. % \begin{macrocode}
  5491. \NewDocumentEnvironment{arabverse}{!O{}}%
  5492. {\bgroup\setkeys[al]{verse}[width, gutter, color, utf, delim,
  5493. metre]{#1}%
  5494. \if@pkg@export\ifal@verse@export%
  5495. \ArbOutFile{\begin{arabverse}}%
  5496. % \ifx\al@mode\al@mode@trans%
  5497. % \luadirect{arabluatex.tooutfile(\luastringN{[#1]})}%
  5498. % \else%
  5499. \IfSubStr[1]{#1}{utf}%
  5500. {\luadirect{arabluatex.tooutfile(\luastringN{[#1]})}}%
  5501. {\luadirect{arabluatex.tooutfile(\luastringN{[#1, utf]})}}%
  5502. % \fi
  5503. \else\fi\else\fi\egroup%
  5504. \par\centering\noindent\bgroup\setkeys[al]{verse}[metre]{#1}%
  5505. % \ifx\al@mode\al@mode@trans%
  5506. % \ifal@verse@utf\setRL\else\setLR\fi%
  5507. % \else\setRL\fi%
  5508. \ifal@verse@utf%
  5509. \ifx\al@mode\al@mode@trans\setLR\else\setRL\fi%
  5510. \else%
  5511. \ifx\al@mode\al@mode@trans\setLR\else\setRL\fi%
  5512. \fi%
  5513. \arab@v@export[#1]
  5514. }%
  5515. {\endarab@v@export
  5516. \hfill\setkeys[al]{verse}[width, gutter, color, utf, delim, mode,
  5517. export]{#1}%
  5518. \egroup\par%
  5519. \bgroup\setkeys[al]{verse}[width, gutter, color, utf, delim, mode,
  5520. metre]{#1}%
  5521. \if@pkg@export\ifal@verse@export%
  5522. \ArbOutFile{\end{arabverse}}
  5523. \else\fi\else\fi\egroup}
  5524. % \end{macrocode}
  5525. % \begin{macro}{\bayt}
  5526. % \changes{v1.6}{2016/12/17}{New macro \cs{bayt} for typesetting
  5527. % each verse inside the \texttt{arabverse} environment} Each verse
  5528. % consists of two hemistichs; therefore the \cs{bayt} command takes
  5529. % two arguments, the first receives the \arb[trans]{.sadr} and the
  5530. % second the \arb[trans]{`ajuz}. That two subsequent hemistichs
  5531. % should be connected with one another is technically named
  5532. % \arb[trans]{tadwIr}. In some of these cases, the hemistichs may be
  5533. % connected by a prominent horizontal flexible stroke which is drawn
  5534. % by the \cs{al@verse@stroke} command.
  5535. % \begin{macro}{\StretchBayt}
  5536. % \changes{v1.20}{2020/03/23}{Optionally removes stretching from lines
  5537. % of poetry} \cs{StretchBayt}\oarg{true\textbar false} Allows to
  5538. % remove stretching and undesirable warping effect from Arabic lines of
  5539. % poetry. This command accepts one fixed optional argument, either
  5540. % |true| or |false|, and may be used either in the preamble or at any
  5541. % point of the document. By default, it is set to |true|.
  5542. % \end{macro}
  5543. % \begin{macro}{\SetHemistichDelim}
  5544. % \changes{v1.6}{2016/12/17}{New \cs{SetHemistichDelim} command for
  5545. % changing the default delimiter between hemistichs} A hemistich
  5546. % delimiter also may be defined. By default, it is set to the
  5547. % \enquote*{star} character: |*|. The
  5548. % \cs{SetHemistichDelim}\marg{delimiter} command can be used at any
  5549. % point of the document to change this default setting.
  5550. % \end{macro}
  5551. % \begin{macrocode}
  5552. \newif\ifal@warp@bayt
  5553. \al@warp@bayttrue
  5554. \NewDocumentCommand{\StretchBayt}{O{true}}{
  5555. \edef\oarg@true{true}
  5556. \edef\oarg@false{false}
  5557. \edef\@tempa{#1}
  5558. \ifx\@tempa\oarg@true\al@warp@bayttrue
  5559. \else
  5560. \ifx\@tempa\oarg@false\al@warp@baytfalse
  5561. \else
  5562. \PackageError{arabluatex}{\string\StretchBayt\space must be
  5563. either 'true' or 'false'}{}
  5564. \fi
  5565. \fi
  5566. }
  5567. \NewDocumentCommand{\arb@utf}{m}{%
  5568. \ifal@verse@utf\txarb{#1}\else\arb{#1}\fi}
  5569. \def\al@hemistich@delim{*}
  5570. \NewDocumentCommand{\SetHemistichDelim}{m}{\def\al@hemistich@delim{#1}}
  5571. \def\al@verse@stroke{\leavevmode\xleaders\hbox{\arb{--}}\hfill\kern0pt}
  5572. \NewDocumentCommand{\bayt}{s m o m}{%
  5573. \IfBooleanTF{#1}{\relax}{\relax}%
  5574. \ifdefined\savenotes\savenotes\else\fi%
  5575. \edef\al@tatweel{--}%
  5576. \ifal@warp@bayt%
  5577. \adjustbox{width=\al@bayt@width, height=\Height}{\arb@utf{#2}}%
  5578. \else%
  5579. \makebox[\al@bayt@width][s]{\arb@utf{#2}}%
  5580. \fi%
  5581. \IfNoValueTF{#3}{%
  5582. \ifal@verse@delim\makebox[\al@gutter@width][c]{\al@hemistich@delim}%
  5583. \else%
  5584. \hspace{\al@gutter@width}%
  5585. \fi
  5586. }{%
  5587. \edef\@tempa{#3}%
  5588. \ifx\@tempa\al@tatweel%
  5589. \ifx\al@mode\al@mode@trans%
  5590. \hspace{\al@gutter@width}%
  5591. \else%
  5592. \makebox[\al@gutter@width][s]{\al@verse@stroke}%
  5593. \fi%
  5594. \else%
  5595. \ifx\al@mode\al@mode@trans%
  5596. \ifal@warp@bayt%
  5597. \adjustbox{width=\al@gutter@width, height=\Height}{\arb@utf{#3}}%
  5598. \else%
  5599. \makebox[\al@gutter@width][s]{\arb@utf{#3}}%
  5600. \fi%
  5601. \else%
  5602. \makebox[\al@gutter@width][s]{\arb@utf{#3}}%
  5603. \fi\fi}%
  5604. \ifal@warp@bayt%
  5605. \adjustbox{width=\al@bayt@width, height=\Height}{\arb@utf{#4}}%
  5606. \else%
  5607. \makebox[\al@bayt@width][s]{\arb@utf{#4}}%
  5608. \fi%
  5609. \ifdefined\spewnotes\spewnotes\else\fi%
  5610. }
  5611. % \end{macrocode}
  5612. % \end{macro}
  5613. % \end{environment}
  5614. % \begin{macro}{\arind}
  5615. % \changes{v1.18}{2020/02/29}{New command \cs{arind} for building
  5616. % indexes}
  5617. % \cs{arind}\marg{root} is a command specialized in the contruction of
  5618. % indexes. As a mandadory argument, it takes the Arabic root under
  5619. % which a given word is to be indexed. Additionally, it may receive
  5620. % three optional \enquote*{named} arguments: |index|, |root| and
  5621. % |form|.
  5622. % \begin{macrocode}
  5623. \NewDocumentCommand{\SetDefaultIndex}{m}{
  5624. \edef\@tempa{#1}
  5625. \ifx\@tempa\empty
  5626. \def\al@default@index{\jobname}
  5627. \else
  5628. \def\al@default@index{#1}
  5629. \fi
  5630. }
  5631. % \end{macrocode}
  5632. % \begin{macrocode}
  5633. \def\al@index@mode{\al@mode}
  5634. \NewDocumentCommand{\SetIndexMode}{m}{
  5635. \def\al@index@mode{#1}
  5636. }
  5637. % \end{macrocode}
  5638. % \begin{macrocode}
  5639. \define@cmdkeys[al]{index}[alind@]{index,root,form,pipe}
  5640. \NewDocumentCommand{\arind}{o m}{%
  5641. \IfNoValueTF{#1}{%
  5642. \ifdefined\al@default@index%
  5643. \csname index\endcsname[\al@default@index]{#2}%
  5644. \else%
  5645. \csname index\endcsname{#2}%
  5646. \fi%
  5647. }{%
  5648. \bgroup
  5649. \setkeys[al]{index}{#1}%
  5650. \def\al@one{%
  5651. \ifdefined\alind@root
  5652. \ifnum\alind@root < 10%
  5653. !\LR{0\alind@root}%
  5654. \else
  5655. !\LR{\alind@root}%
  5656. \fi
  5657. \else
  5658. !\LR{01}%
  5659. \fi}%
  5660. \def\al@two{%
  5661. \ifdefined\alind@form @\arb[\al@index@mode]{\alind@form}\else\fi}%
  5662. \ifdefined\alind@index%
  5663. \ifdefined\alind@pipe
  5664. \csname index\endcsname[\alind@index]{#2\al@one\al@two|\alind@pipe}%
  5665. \else
  5666. \csname index\endcsname[\alind@index]{#2\al@one\al@two}%
  5667. \fi
  5668. \else%
  5669. \ifdefined\al@default@index%
  5670. \ifdefined\alind@pipe
  5671. \csname index\endcsname[\al@default@index]{%
  5672. #2\al@one\al@two|\alind@pipe}%
  5673. \else
  5674. \csname index\endcsname[\al@default@index]{%
  5675. #2\al@one\al@two}%
  5676. \fi
  5677. \else%
  5678. \ifdefined\alind@pipe
  5679. \csname index\endcsname{#2\al@one\al@two|\alind@pipe}%
  5680. \else
  5681. \csname index\endcsname{#2\al@one\al@two}%
  5682. \fi
  5683. \fi%
  5684. \fi%
  5685. \egroup}}
  5686. % \end{macrocode}
  5687. % \end{macro}
  5688. % \begin{macro}{\abjad} \cs{abjad}\marg{number} expresses its argument
  5689. % in Arabic letters in accordance with the \arb[trans]{'abjad}
  5690. % arrangement of the alphabet. \meta{number} must be between 1 and
  5691. % 1999. It is now coded in Lua so that \package{polyglossia} is no
  5692. % longer needed. See |arabluatex.lua| for more information.
  5693. % \changes{v1.1}{2016/04/26}{New and more flexible \protect\cs{abjad}
  5694. % command.}
  5695. % \begin{macrocode}
  5696. \AtBeginDocument{%
  5697. \ifdefined\abjad%
  5698. \RenewDocumentCommand{\abjad}{m}%
  5699. {\ifbool{al@rlmode}%
  5700. {\aoline*{%
  5701. \luadirect{tex.sprint(arabluatex.abjadify(\luastring{#1}))}}}
  5702. {\luadirect{tex.sprint(arabluatex.abjadify(\luastring{#1}))}}}
  5703. \else%
  5704. \NewDocumentCommand{\abjad}{m}%
  5705. {\ifbool{al@rlmode}%
  5706. {\aoline*{%
  5707. \luadirect{tex.sprint(arabluatex.abjadify(\luastring{#1}))}}}
  5708. {\luadirect{tex.sprint(arabluatex.abjadify(\luastring{#1}))}}}
  5709. \fi}
  5710. % \end{macrocode}
  5711. % \end{macro}
  5712. % \begin{macro}{\ayah}\changes{v1.15}{2018/10/09}{Prints End of Ayah
  5713. % sign}\cs{ayah}\marg{number} prints up to 3-digit numbers inside
  5714. % \enquote*{end of Ayah} sign (|U+06DD|) or inside parentheses
  5715. % depending on the mode which is selected.
  5716. % \begin{macrocode}
  5717. \NewDocumentCommand{\ayah}{m}{%
  5718. \luadirect{tex.sprint(arabluatex.ayah(\luastringN{#1}))}}
  5719. % \end{macrocode}
  5720. % \end{macro}
  5721. %
  5722. % \begin{macro}{\arbnull}
  5723. % \changes{v1.7}{2016/12/24}{New \cs{arbnull} command for putting
  5724. % back on any contextual analysis rule broken by other commands.}
  5725. % The \cs{arbnull} command does nothing by itself. It is processed
  5726. % only if it is found in Arabic context so as to put back on
  5727. % contextual analysis in case it has been broken by other commands.
  5728. % \begin{macrocode}
  5729. \NewDocumentCommand{\arbnull}{m}{\relax}
  5730. % \end{macrocode}
  5731. % \end{macro}
  5732. % \begin{macro}{\abraces}
  5733. % \cs{abraces}\marg{Arabic text} puts its argument between
  5734. % braces. This macro is written in Lua and is dependent on the
  5735. % current value of |tex.textdir|.
  5736. % \changes{v1.4.3}{2016/09/14}{New \cs{abraces} command which
  5737. % expresses its argument between braces.}
  5738. % \begin{macrocode}
  5739. \NewDocumentCommand{\abraces}{+m}{%
  5740. \luadirect{tex.sprint(arabluatex.abraces(\luastringN{#1}))}}
  5741. % \end{macrocode}
  5742. % \end{macro}
  5743. % \begin{macro}{\LRmarginpar} \cs{LRmarginpar} is supposed to be
  5744. % inserted in an Arabic environment. It typsets his argument in a
  5745. % marginal note from left to right.
  5746. % \begin{macrocode}
  5747. \DeclareDocumentCommand{\LRmarginpar}{o m}{%
  5748. \IfNoValueTF{#1}
  5749. {\marginpar{\textdir TLT #2}}
  5750. {\marginpar[\textdir TLT #1]{\textdir TLT #2}}}
  5751. % \end{macrocode}
  5752. % \end{macro}
  5753. % \begin{macro}{\LRfootnote} \cs{LRfootnote} and \cs{RLfootnote} are
  5754. % supposed to be used in Arabic environments for insertions of non
  5755. % Arabic text. \cs{LRfootnote} typesets its argument left-to-right\ldots
  5756. % \begin{macro}{\RLfootnote} while \cs{RLfootnote} typesets its
  5757. % argument left-to-right.
  5758. % \begin{macrocode}
  5759. \DeclareDocumentCommand{\LRfootnote}{m}{\bgroup\pardir
  5760. TLT\textdir TLT\footnote{#1}\egroup}
  5761. \DeclareDocumentCommand{\RLfootnote}{m}{\bgroup\pardir
  5762. TRT\textdir TRT\footnote{#1}\egroup}
  5763. % \end{macrocode}
  5764. % \end{macro}
  5765. % \end{macro}
  5766. % \begin{macro}{\FixArbFtnmk} In the preamble, just below
  5767. % \cs{usepackage}|{arabluatex}|, \cs{FixArbFtnmk} may be of some
  5768. % help in case the footnote numbers at the bottom of the page are
  5769. % printed in the wrong direction. This quick fix uses and loads
  5770. % \package{scrextend} if it is not already loaded.
  5771. % \begin{macrocode}
  5772. \NewDocumentCommand{\FixArbFtnmk}{}{%
  5773. \@ifpackageloaded{scrextend}%
  5774. {\AtBeginDocument{%
  5775. \deffootnote{2em}{1.6em}{\LR{\thefootnotemark}.\enskip}}}%
  5776. {\RequirePackage{scrextend}
  5777. \AtBeginDocument{%
  5778. \deffootnote{2em}{1.6em}{\LR{\thefootnotemark}.\enskip}}}}
  5779. % \end{macrocode}
  5780. % \end{macro}
  5781. %
  5782. % \paragraph*{Exporting Unicode Arabic to external file}
  5783. % \begin{macro}{\SetArbOutSuffix}
  5784. % \changes{v1.13}{2018/08/27}{Sets a suffix to be appended to the
  5785. % filename of the external Unicode file.}By default, |_out| is the
  5786. % suffix to be appended to the external file in which
  5787. % \package{arabluatex} exports Unicode in place of
  5788. % |arabtex| or |buckwalter| strings. Any other suffix may be
  5789. % set with \cs{SetArbOutSuffix}\marg{suffix}.
  5790. % \begin{macrocode}
  5791. \NewDocumentCommand{\SetArbOutSuffix}{m}{
  5792. \luadirect{arabluatex.utffilesuffix(\luastringN{#1})}}
  5793. % \end{macrocode}
  5794. % \end{macro}
  5795. % \begin{macro}{\ArbOutFile}
  5796. % \changes{v1.13}{2018/08/27}{Silently exports its argument in the
  5797. % selected external file.}
  5798. % \cs{ArbOutFile}\oarg{newline}\marg{string} silently exports
  5799. % \meta{string} to the external selected file. It may take |newline|
  5800. % as an optional argument in which case a carriage return is
  5801. % appended to |string|.
  5802. % \begin{macro}{\ArbOutFile*}
  5803. % \cs{ArbOutFile*}\oarg{newline}\marg{string} does the same as
  5804. % \cs{ArbOutFile} but also inserts \meta{string} in the current
  5805. % |.tex| source file.
  5806. % \begin{macrocode}
  5807. \NewDocumentCommand{\ArbOutFile}{s O{no} +m}{%
  5808. \if@pkg@export%
  5809. \IfBooleanTF{#1}{%
  5810. #3\luadirect{arabluatex.tooutfile(\luastringN{#3}, "#2")}}{%
  5811. \luadirect{arabluatex.tooutfile(\luastringN{#3}, "#2")}}%
  5812. \else\IfBooleanTF{#1}{#3}{}\fi}
  5813. % \end{macrocode}
  5814. % \end{macro}
  5815. % \end{macro}
  5816. % \begin{environment}{arabexport}
  5817. % \changes{v1.13}{2018/08/27}{Processes and print its argument in
  5818. % the current file and exports it in full Unicode in the external
  5819. % selected \texttt{.tex} file.} The |arabexport| environment
  5820. % processes and prints its argument unchanged to the current |.pdf|
  5821. % file. Additionally, if \package{arabluatex} is loaded with the
  5822. % |export| option, this argument is exported to the external
  5823. % selected |.tex| file with Unicode in place of the original
  5824. % |arabtex| or |buckwalter| strings.
  5825. % \begin{macrocode}
  5826. \NewDocumentEnvironment{arabexport}{+b}{%
  5827. \if@pkg@export%
  5828. \par
  5829. #1
  5830. \luadirect{arabluatex.doexport("yes")}
  5831. \luadirect{tex.sprint(arabluatex.arbtoutf(\luastringN{#1}))}
  5832. \luadirect{arabluatex.doexport("no")}
  5833. \else\par#1\fi
  5834. }{\par}
  5835. % \end{macrocode}
  5836. % \end{environment}
  5837. % \begin{environment}{arab@v@export} The |arab@v@export| environment
  5838. % does for |arabverse| the same as |arabexport|. It is used
  5839. % internally by |arabverse|.
  5840. % \begin{macrocode}
  5841. \NewDocumentEnvironment{arab@v@export}{O{} +b}{%
  5842. \setkeys[al]{verse}[width, gutter, color, utf, delim, mode,
  5843. metre]{#1}
  5844. \if@pkg@export\ifal@verse@export%
  5845. \par
  5846. #2
  5847. \luadirect{arabluatex.doexport("arabverse")}
  5848. \luadirect{tex.sprint(arabluatex.arbtoutf(\luastringN{#2}))}
  5849. \luadirect{arabluatex.doexport("no")}
  5850. \else\par#2\fi\else\par#2\fi
  5851. }{\par}
  5852. % \end{macrocode}
  5853. % \end{environment}
  5854. % \begin{macro}{\arbpardir}
  5855. % \changes{v1.13}{2018/08/27}{Sets the direction of Arabic paragraphs
  5856. % once they are converted to Unicode.} \cs{arbpardir} is automatically
  5857. % inserted by \package{arabluatex} at the beginning of Arabic
  5858. % paragraphs converted to Unicode so that they are printed in the
  5859. % right direction.
  5860. % \begin{macrocode}
  5861. \NewDocumentCommand{\arbpardir}{}{%
  5862. \ifx\al@mode\al@mode@trans\setLR\else\setRL\fi}
  5863. % \end{macrocode}
  5864. % \end{macro}
  5865. %
  5866. % \subsection*{Errors and Warnings}
  5867. % \begin{macrocode}
  5868. \newcommand{\al@warning}[1]{\PackageWarning{arabluatex}{#1}}
  5869. \newcommand{\al@error}[2]{\PackageError{arabluatex}{#1}{#2}}
  5870. \newcommand{\al@wrong@nesting}{\al@error{%
  5871. (RL/LR)\string\footnote\space is not allowed\MessageBreak inside
  5872. \string\RL{} and \string\RL{} commands}{%
  5873. Get rid of the surrounding \string\RL{} or \string\LR{} command.}}
  5874. \newcommand{\al@wrong@mark}{\al@warning{%
  5875. Unknown Arabic mark in \string\arbmark{}. Replaced
  5876. with\MessageBreak <??>. Please check your code}}
  5877. % \end{macrocode}
  5878. %
  5879. % That is it. Say goodbye before leaving.
  5880. %
  5881. % \iffalse
  5882. %</package>
  5883. % \fi
  5884. %
  5885. % \subsection*{Patches}
  5886. % \label{sec:patches}
  5887. %
  5888. % \iffalse
  5889. %<*patch>
  5890. % \fi
  5891. % \begin{macrocode}
  5892. \NeedsTeXFormat{LaTeX2e}
  5893. \ProvidesPackage{arabluatex-patch}%
  5894. [2016/11/14 v1.0 patches for arabluatex]
  5895. % \end{macrocode}
  5896. % I have put in a separate |.sty| file external lines of code that
  5897. % I had to patch for a good reason. I hate doing this, and hopefully,
  5898. % most of these lines will disappear as soon as they are not required
  5899. % anymore.
  5900. %
  5901. % The following is taken from |latex.ltx|. I had to make this patch
  5902. % for I could not find a way to process the list environments in
  5903. % right-to-left mode. The {\LuaTeX} primitives \cs{bodydir} and
  5904. % \cs{pagedir} will eventually allow us to get rid of this:
  5905. % \begin{macrocode}
  5906. \def\list#1#2{%
  5907. \ifnum \@listdepth >5\relax
  5908. \@toodeep
  5909. \else
  5910. \global\advance\@listdepth\@ne
  5911. \fi
  5912. \rightmargin\z@
  5913. \listparindent\z@
  5914. \itemindent\z@
  5915. \csname @list\romannumeral\the\@listdepth\endcsname
  5916. \def\@itemlabel{#1}%
  5917. \let\makelabel\@mklab
  5918. \@nmbrlistfalse
  5919. #2\relax
  5920. \@trivlist
  5921. \parskip\parsep
  5922. \parindent\listparindent
  5923. \advance\linewidth -\rightmargin
  5924. \advance\linewidth -\leftmargin
  5925. % \end{macrocode}
  5926. % patch begins:
  5927. % \begin{macrocode}
  5928. \ifbool{al@rlmode}{\advance\@totalleftmargin \rightmargin}%
  5929. {\advance\@totalleftmargin \leftmargin}
  5930. % \end{macrocode}
  5931. % patch ends.
  5932. % \begin{macrocode}
  5933. \parshape \@ne \@totalleftmargin \linewidth
  5934. \ignorespaces}
  5935. \def\@item[#1]{%
  5936. \if@noparitem
  5937. \@donoparitem
  5938. \else
  5939. \if@inlabel
  5940. \indent \par
  5941. \fi
  5942. \ifhmode
  5943. \unskip\unskip \par
  5944. \fi
  5945. \if@newlist
  5946. \if@nobreak
  5947. \@nbitem
  5948. \else
  5949. \addpenalty\@beginparpenalty
  5950. \addvspace\@topsep
  5951. \addvspace{-\parskip}%
  5952. \fi
  5953. \else
  5954. \addpenalty\@itempenalty
  5955. \addvspace\itemsep
  5956. \fi
  5957. \global\@inlabeltrue
  5958. \fi
  5959. \everypar{%
  5960. \@minipagefalse
  5961. \global\@newlistfalse
  5962. \if@inlabel
  5963. \global\@inlabelfalse
  5964. {\setbox\z@\lastbox
  5965. \ifvoid\z@
  5966. \kern-\itemindent
  5967. \fi}%
  5968. \box\@labels
  5969. \penalty\z@
  5970. \fi
  5971. \if@nobreak
  5972. \@nobreakfalse
  5973. \clubpenalty \@M
  5974. \else
  5975. \clubpenalty \@clubpenalty
  5976. \everypar{}%
  5977. \fi}%
  5978. \if@noitemarg
  5979. \@noitemargfalse
  5980. \if@nmbrlist
  5981. \refstepcounter\@listctr
  5982. \fi
  5983. \fi
  5984. % \end{macrocode}
  5985. % patch begins:
  5986. % \begin{macrocode}
  5987. \ifbool{al@rlmode}{\sRLbox\@tempboxa{\makelabel{#1}}}{%
  5988. \sbox\@tempboxa{\makelabel{#1}}}%
  5989. \ifbool{al@rlmode}{\global\setbox\@labels\hbox dir TRT}%
  5990. {\global\setbox\@labels\hbox}{%
  5991. % \end{macrocode}
  5992. % patch ends.
  5993. % \begin{macrocode}
  5994. \unhbox\@labels
  5995. \hskip \itemindent
  5996. \hskip -\labelwidth
  5997. \hskip -\labelsep
  5998. \ifdim \wd\@tempboxa >\labelwidth
  5999. \box\@tempboxa
  6000. \else
  6001. \hbox to\labelwidth {\unhbox\@tempboxa}%
  6002. \fi
  6003. \hskip \labelsep}%
  6004. \ignorespaces}
  6005. % \end{macrocode}
  6006. % This is adapted from Vafa Khalighi's \package{bidi} package. Thanks
  6007. % to him.
  6008. % \begin{macrocode}
  6009. \long\def\sRLbox#1#2{\setbox#1\hbox dir TRT{%
  6010. \color@setgroup#2\color@endgroup}}
  6011. % \end{macrocode}
  6012. %
  6013. % \iffalse
  6014. %</patch>
  6015. % \fi
  6016. %
  6017. % \Finale
  6018. \endinput