arabluatex.dtx 249 KB

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