arabluatex.dtx 249 KB

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