Lout (software)
લાઉટ એ જેફરી એચ. કિંગ્સ્ટન દ્વારા શોધાયેલ બેચ દસ્તાવેજ ફોર્મેટર છે. તે લેટેક્સ જેવી શૈલીના દસ્તાવેજનું ઉચ્ચ-સ્તરનું વર્ણન વાંચે છે અને પોસ્ટસ્ક્રિપ્ટ ફાઇલ બનાવે છે જે મોટાભાગના પ્રિન્ટરો પર છાપી શકાય છે. સાદા લખાણ અને પીડીએફ આઉટપુટ પણ ઉપલબ્ધ છે. 'લાઉટ' શબ્દ મુખ્યત્વે દસ્તાવેજની ફોર્મેટિંગ પ્રોગ્રામિંગ ભાષાને નિયુક્ત કરે છે, જ્યારે ભાષાના (એકમાત્ર) અમલીકરણને (જેફરી એચ. કિંગ્સ્ટન દ્વારા) કેટલીકવાર 'બાસર લાઉટ' તરીકે ઓળખવામાં આવે છે. બાસર લાઉટ એ મફત સોફ્ટવેર છે, જે જીએનયુ જનરલ પબ્લિક લાઇસન્સની શરતો હેઠળ વિતરિત કરવામાં આવે છે. લાઉટ તેના કેટલાક ફોર્મેટિંગ અલ્ગોરિધમ્સને ટેક્સમાંથી નકલ કરે છે પરંતુ તેનો હેતુ મેક્રો લેંગ્વેજને બદલે ઉચ્ચ-સ્તરની કાર્યાત્મક પ્રોગ્રામિંગ લેંગ્વેજના ઉપયોગને કારણે પ્રોગ્રામ કરવાનું વધુ સરળ બનાવવાનો છે. જ્યારે લેટેક્સની લાક્ષણિક સ્થાપન, ટેક્સ દ્વિસંગીઓ સાથે મળીને 50 થી 300 એમબી લે છે, ત્યારે લાઉટ લગભગ 1 એમબી છે. આ મુખ્યત્વે ઓછા પેકેજો અને સાધનોને કારણે છે, પરંતુ મેક્રો લેંગ્વેજ સોર્સ કોડને બદલે સી અમલીકરણને પણ આભારી હોઈ શકે છે. લાઉટ સરળતાથી વાંચી શકાય તેવી વપરાશકર્તા માર્ગદર્શિકા સાથે આવે છે, અને મૂળભૂત બાબતો થોડા કલાકોમાં શીખી શકાય છે. તેમાં કોષ્ટકો, ચાર્ટ્સ, સમીકરણો અને આકૃતિઓ બનાવવા માટેના પેકેજોનો સમાવેશ થાય છે, એક પેકેજમાં "આઉટ ઓફ ધ બોક્સ". લાઉટ અહેવાલો અને પુસ્તકો બનાવવા માટે ઉપયોગી છે અને ટાઇપસેટિંગ પર ખૂબ જ ચોક્કસ નિયંત્રણ આપે છે. જ્યારે કે લાઉટ પ્રોગ્રામિંગ ભાષાનો મુખ્ય ભાગ ટેક્સ જેવી જ માત્ર નિમ્ન-સ્તરની કામગીરી પૂરી પાડે છે, ત્યારે બેસર લાઉટ સાથે આવતા પેકેજો સંપૂર્ણ ઉચ્ચ-સ્તરની માર્કઅપ ભાષા પૂરી પાડે છે જેનો ઉપયોગ વપરાશકર્તાઓ દસ્તાવેજો બનાવવા માટે સીધા જ કરી શકે છે, જે રીતે લેટેક્સ જેવું જ છે. એક ખૂબ જ સરળ Lout દસ્તાવેજ આના જેવો દેખાઈ શકે છેઃ #આ એક ટિપ્પણી છે. #ડોક્યુમેન્ટ વર્ગ અને તેની મૂળભૂત શૈલીનો ઉપયોગ કરો. @SysInclude {doc} @Document @InitialFont {ટાઈમ્સ બેઝ 10p}// #દસ્તાવેજની સામગ્રીની શરૂઆત. @Text @Begin @PP આ એક ફકરો છે. કોઈ પણ વ્યક્તિ સરળતાથી @B {bold} અથવા @I {italic} ટેક્સ્ટને એમ્બેડ કરી શકે છે. લખાણની શૈલી પણ સરળતાથી બદલી શકાય છે, જેમ કે {Helvetica Base} @Font {વપરાયેલ ફોન્ટને બદલવું]. @Begin વિભાગો @Section @Title [પ્રથમ વિભાગ] @Begin @PP આ વિભાગની સામગ્રી છે. @End @Section @EndSections @End @Text #દસ્તાવેજનો અંત. દસ્તાવેજના વિવિધ પ્રકારો ઉપલબ્ધ છેઃ દસ્તાવેજ, અહેવાલ, પુસ્તક, પણ સ્લાઇડ્સ (ઓવરહેડ પારદર્શિતા માટે) અને ચિત્ર (એકલ ચિત્રો માટે). બિન-પ્રોગ્રામર માટે પણ દસ્તાવેજની શૈલીને કસ્ટમાઇઝ કરવી સામાન્ય રીતે પ્રમાણમાં સરળ હોય છે. પ્રોગ્રામિંગ લેંગ્વેજની વિશેષતાઓ લાઉટ પ્રોગ્રામિંગ લેંગ્વેજ અન્ય કાર્યાત્મક ભાષાઓ જેવી જ છે. મુખ્ય પ્રોગ્રામિંગ ભાષામાં 30 થી ઓછા આદિમ ઓપરેટર્સનો સમાવેશ થાય છે. કેટલીક લાક્ષણિકતાઓ તેને ખાસ કરીને હાસ્કેલની નજીક બનાવે છે, ખાસ કરીને હકીકત એ છે કે લાઉટ અભિવ્યક્તિઓનું આળસપૂર્વક મૂલ્યાંકન કરવામાં આવે છે. લૉઉટ દસ્તાવેજ ફોર્મેટિંગના અમલીકરણ માટે જરૂરી રચનાઓ પણ પ્રદાન કરે છે જે સામાન્ય રીતે અન્ય પ્રોગ્રામિંગ ભાષાઓમાં જોવા મળતી નથી, જેમ કે ગેલી. મોટાભાગની અન્ય કાર્યાત્મક પ્રોગ્રામિંગ ભાષાઓથી વિપરીત, ઉદાહરણ તરીકે, લાઉટ પ્રથમ-વર્ગના કાર્યો પ્રદાન કરતું નથી. 2019માં સામાન્ય નબળાઈઓ અને એક્સપોઝરમાં લાઉટમાં બે બફર ઓવરફ્લો મુદ્દાઓ સૂચિબદ્ધ કરવામાં આવ્યા છે, જેનો ઉપયોગ જો અવિશ્વસનીય દસ્તાવેજો પર પ્રક્રિયા કરવામાં આવે તો થઈ શકે છે. ડેબિયને ઓક્ટોબર 2020 માં આ મુદ્દાઓને પેચ ન કરવાને કારણે લાઉટને દૂર કર્યું; 2013 થી પેકેજમાં કોઈ જાળવણીકાર ન હતો. બફર ઓવરફ્લોની સમસ્યાઓને સુધારવામાં આવી છે અને સિસ્ટમ હવે https://github.com/william8000/lout સંદર્ભો બાહ્ય લિંક્સ પર જાળવવામાં આવી છે મૂળ હોમ પેજ વર્તમાન, જાળવવામાં આવેલ સિસ્ટમ ફ્રી ટાઇપસેટિંગ સોફ્ટવેર ટાઇપસેટિંગ પ્રોગ્રામિંગ ભાષાઓ