{"id":17718601,"url":"https://github.com/linuxscout/adawat-latex","last_synced_at":"2025-07-08T21:36:33.636Z","repository":{"id":48077901,"uuid":"164433550","full_name":"linuxscout/adawat-latex","owner":"linuxscout","description":"Text tools to handle conversion into Latex with arabic support","archived":false,"fork":false,"pushed_at":"2021-08-08T18:17:50.000Z","size":19337,"stargazers_count":6,"open_issues_count":1,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2023-03-11T10:12:24.277Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/linuxscout.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-01-07T13:02:55.000Z","updated_at":"2023-02-05T11:26:04.000Z","dependencies_parsed_at":"2022-08-12T18:10:16.992Z","dependency_job_id":null,"html_url":"https://github.com/linuxscout/adawat-latex","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linuxscout%2Fadawat-latex","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linuxscout%2Fadawat-latex/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linuxscout%2Fadawat-latex/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linuxscout%2Fadawat-latex/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/linuxscout","download_url":"https://codeload.github.com/linuxscout/adawat-latex/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234600980,"owners_count":18858546,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-25T14:55:05.417Z","updated_at":"2025-01-19T04:51:49.399Z","avatar_url":"https://github.com/linuxscout.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![GitHub issues](https://img.shields.io/github/issues/linuxscout/adawat-latex)](https://github.com/linuxscout/adawat-latex/issues)\n[![GitHub forks](https://img.shields.io/github/forks/linuxscout/adawat-latex)](https://github.com/linuxscout/adawat-latex/network)\n[![GitHub stars](https://img.shields.io/github/stars/linuxscout/adawat-latex)](https://github.com/linuxscout/adawat-latex/stargazers)\n[![GitHub license](https://img.shields.io/github/license/linuxscout/adawat-latex)](https://github.com/linuxscout/adawat-latex/blob/master/LICENSE)\n\n# Adawat-latex\nText tools to handle conversion into Latex with arabic support\nبرنامج فيه أدوات لتسهيل نقل النصوص إلى نظام التنضيد لاتخ\n \n## مزايا\n*  مزايا لغوية\n\t* تحويل النص العربي من الرومنة إلى اليونيكود\n\t* كشف مقاطع اللغة العربية وتحديدها\n\t* قلب نص \n\t* تفريق نص إلى كلمات\n* الجداول والقوائم\n\t* تحويل ملف نصي إلى جدول بصيغة لاتخ، HTML و Markdown\n\t* تحويل الأسطر إلى قائمة نقاط مرقمة أو غير مرقمة\n\t* تحويل اسطر إلى جدولات ذات محاذاة في لاتخ\n\t* إستعادة شكل جدول وتقسيم الاسطر إلى أعمدة\n\t* تحويل أسطر إلى جداول بيثون أو json\n* عمليات مركبة\n\tيمكن تركيب أكثر من عملية:\n\t* تقسيم الاسطر إلى أعمدة جدول، ثم تحويلها إلى جدول\n\t* كشف اللغة وتحويل الاسطر إلى نقاط\n\t* كشف اللغة، وتحويل الأسطر إلى جدول\n* Compiste command:\n\tYou can recopy the out put to do more command on the smae text, for example:\n\t* reshape and convert into table\n\t* detect laguage and itemize\n\t* detect laguage and tabulize\n\n## Features\n*  Language features\n   * Transliterate (TIM buckwaleter, Unicode, Sampa)\n   * Detect Arabic language segments\n   * Inverse text\n   * Tokenize\n* tables and Lists  for Latex\n\t* Convert a CSV to tabular\n\t* Converts lines into itemize or enumerate environment\n\t* Converts CSV lines into tabbing environment\n\t* Detect and delimite arabic language for Arabtex environment\n\t* Reshape a lines into CSV tabs\n* Compiste command:\n\tYou can recopy the out put to do more command on the smae text, for example:\n\t* reshape and convert into table\n\t* detect laguage and itemize\n\t* detect laguage and tabulize\n\n### Usage  استعمال\n * Command line  سطر الأوامر\n ```\n python adawat-latex.py  -c tabulize -f inputfile.txt\n ```\n\n * GUI  الواجهة الرسومية\n ```\n python adawat-latex-gui.py\n ```\n\n ![Gui](./docs/adawat-latex.png)\n\n ## How To use   كيفية الاستعمال\n \n \n### Tables and lists  الجداول والقوائم\n* Itemize and Enumerate \n* CSV to latex table\n* CSV to  latex tabbing\n* Reshape a list into a table\n* CSV to JSON or Python table\n* Composite commands\n #### Itemize and Enumerate  قائمة نقاط مرقمة وغير مرقمة\n if you have a list of point and you want to convert it to a list, for example:\n\n use \"itemize\" with parameters option [itemize, enumerate]\n \n إذا لديك  أسطر، وتريد تحويلها إلى قائمة مرقمة أو غير مرقمة استعمل الأمر \"itemize\" \n مع خيارين للقائمة المرقمة وغير المرقمة في لاتخ (itemize, enumerate)\n \n\n\n ```text\nOne entry in the list\nAnother entry in the list\nAnother entry in the list\nAnother entry in the list\n ```\n  Output will be \n  ```tex\n  \\begin{itemize}\n\\item One entry in the list\n\\item Another entry in the list\n\\item Another entry in the list\n\\item Another entry in the list \n\\end{itemize}\n  ```\n  ```tex\n  \\begin{enumerate}\n\\item One entry in the list\n\\item Another entry in the list\n\\item Another entry in the list\n\\item Another entry in the list \n\\end{enumerate}\n\n  ```\n\n#### CSV to table\nيمكن تحويل الأطسر ذات الأعمدة المفصولة بجدولات إلى جدول\nباستعمال الأمر \"tabulize\" \nIf you have a table on Excel or text with tab as délimeter, you can choose \"tabulize\" to convert it into:\n\nالصيغ الممكنة:\n\t* Latex\n\t* HTML\n\t* Markdown\n\n* Input as csv or text delimited by tab  النص المدخل حيث الاعمدة مفصولة بجدولة\n```csv\nhead1\tHead2\thead3\ncell\tcell2\tcell3\ncell\tcell2\tcell3\ncell\tcell2\tcell3\ncell\tcell2\tcell3\n```\n\n* Output as Tex المخرج بصيغة لاتخ\n```tex\n\\begin{table}\n \\begin{tabular}{|c|c|c|}\n\\hline head1 \u0026 Head2 \u0026 head3\\\\\n\\hline cell \u0026 cell2 \u0026 cell3\\\\\n\\hline cell \u0026 cell2 \u0026 cell3\\\\\n\\hline cell \u0026 cell2 \u0026 cell3\\\\\n\\hline cell \u0026 cell2 \u0026 cell3\\\\\n\\hline\n\n    \\end{tabular}\n\n    \\caption{mytab:table}\n\n    \\label{mytab:table}\n\n     \\end{table}                 \n```\n * Output as HTML الناتج بصيغة وب\n```html\n\u003ctable\u003e\n\u003ctr\u003e\u003ctd\u003ehead1 \u003c/td\u003e\u003ctd\u003eHead2 \u003c/td\u003e\u003ctd\u003ehead3\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003ecell \u003c/td\u003e\u003ctd\u003ecell2 \u003c/td\u003e\u003ctd\u003ecell3\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003ecell \u003c/td\u003e\u003ctd\u003ecell2 \u003c/td\u003e\u003ctd\u003ecell3\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003ecell \u003c/td\u003e\u003ctd\u003ecell2 \u003c/td\u003e\u003ctd\u003ecell3\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003ecell \u003c/td\u003e\u003ctd\u003ecell2 \u003c/td\u003e\u003ctd\u003ecell3\u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n```\n\n * Output as Markdown الناتج بصيغة ماركداون\n```md\nhead1 | Head2 | head3\ncell | cell2 | cell3\ncell | cell2 | cell3\ncell | cell2 | cell3\ncell | cell2 | cell3\n```\n\n\n\n#### Make a latex tabbing   تحويل الأسطر إلى جدولة لاتخ\n\nالجدولة في لاتخ هي ضيغة تظهر في شكل اعمدة محاذاة غلى بعضها البعض،\nلذا يمكنك استعمال الأمر \"tabbing\" لتحويل أسطر بها أعمدة إلى جدولة\nمع اختيار علامة الفصل بين الحقول\n\nIf you have a table on Excel or text with tab as délimeter, you can choose \"tabbing\" to convert it into :\n\t* Latex  tabbing \n\nYou can choose different separator (tab, space, etc..) in the input text\n```csv\nhead1\tHead2\thead3\ncell\tcell2\tcell3\ncell\tcell2\tcell3\ncell\tcell2\tcell3\ncell\tcell2\tcell3\n```\n\n* Output as Tex\n```tex\n \\begin{tabbing}\n\\hspace{4cm}\\=\\hspace{4cm}\\=\\hspace{4cm}\\=\\kill\nhead1 \\\u003e Head2 \\\u003e head3\\\\\ncell \\\u003e cell2 \\\u003e cell3\\\\\ncell \\\u003e cell2 \\\u003e cell3\\\\\ncell \\\u003e cell2 \\\u003e cell3\\\\\ncell \\\u003e cell2 \\\u003e cell3\\\\\n\\end{tabbing}                 \n```\n\n##### Reshape a list into a table  إعادة تشكيل أسطر في جدول\nأحيانا بعض البرامج تنسخ الجداول في شكل أسطر تضيع معها معالم الأعمدة، لذا فخاصة \"reshape\"\nتعيد تقسيم الأسطر إلى أعمدة بعدد معين يمكن ضبطه\n\nSome programs copy tables as list instead of table or matrix, which generate problems.\nThe \"Reshape\" command helps to handle this issue\n\n* Original table  الجدول الأصلي\n```text\n1\tone\n2\ttwo\n3\tthree\n```\n * The input as it has copied format of the table,  الجدول بعد نسخه يصبح مجرد أسطر متتابعة\n```python\n1\none\n2\ntwo\n3\nthree\n```\n* Out pur with \"Reshape\" command with \"2\" columns as option  استعمال إعادة التسكيل مع الخيار \"2\"\n```\n1\tone\n2\ttwo\n3\tthree\n```\n\n\n#### CSV to Python list  أسطر إلى جدول بيثون\n\nتحويل ملف نصي ذي أعمدة مفصولة إلى  جدول بيثون،\nحيث العمود الاول للمفتاح والعمود الثاني للقيمة،\nمع وضع اسم الجدول في السطر الأول\n\nIf you have a list of key values in CSV file, you can convert it to python list, or Json, by using \"Python List\" command.\n\nThe first line is the name of table \"Table\", and colomns are separated by tabulation.\n\n* Input as CSV\n```text\nmytable\n1\tone\n2\ttwo\n3\tthree\n```\n * Output as python list\n```python\nmytable={}\nmytable['1']={}\nmytable['one']={}\nmytable[u'one'][u'1']='one'\nmytable[u'one'][u'2']='two'\nmytable[u'one'][u'3']='three'\n```\n\n\n\n\n### Language features وظائف لغوية\n* Transliterate arabic text between (utf, tim bukwalter, Sampa)\n* Detect Arabic segment and tag it\n* Tokenize : convert text into list of words\n* Inverse text\n#### Transliterate  تحويل النص بين الرومنة والحروف العربيو\n \n يمكن نقحرة النص العربي أي كتابته بالأحرف اللاتينية في نظام تيم بولكولتر أو sampa\n والتحويل بين هذه الأنظمة\n \n The transliterate convere arabic text like this :\n* from Unicode(UTF8) to Tim Bulkwalters transcription,\n* from Tim Bulkwalters transcription  to Unicode(UTF8)\n* from Tim Bulkwalters transcription  to SAMPA transcription\n\n * Input as text\n```text\nالسلام عليكم ورحمة الله وبركاته\n```\n * Output as SAMPA\n```text\na:lsla:m ?'ljkm wrxmh a:llh wbrka:th\n```\n\n#### Detect Arabic segment and tag it كشف اللغة وتحديدها\n\nفي ملفات لاتخ، نحتاج إلى وضع علامات على بداية المقاطع بالعربية،\nهذه الوظيفة تفعل ذلك\nبوضع علامات\nمثل: (\\RL, \\begin{arab} environment}\n\n\nIf you have a mix text and you want to put it within a Tex document by using Polyglossia, ArabTex or ArabXeTex packages, you can use \"language command\" with options (\\RL, \\begin{arab} environment}\n\n\n* Input as text\n```text\nThe man said السلام عليكم and he goes.\n```\n * Output as Tex with \"\\RL\" option\n```tex\nThe man said  \\RL{السلام عليكم}  and he goes.\n```\n * Output as Tex with \"arab environment\" option\n```tex\nThe man said  \n\\begin{arab}[utf] السلام عليكم \\end{arab} \n and he goes.\n```\n\n#### Tokenize تفريق النص إلى كلمات\n\nIIf you want to split text into words or tokens, just use tokenize\n\n* Input as text\n```text\nThe man said السلام عليكم and he goes.\n```\n * Output as list of word\n```\nThe\nman\nsaid\nالسلام\nعليكم\nand\nhe\ngoes\n.\n```\n\n\n\n\n#### Inverse text قلب النص\nSome programs generate an arabic inversed text, which needs to be inversed.\nIt can be used for english, or just to inverse a text.\n\nبعض البرامج تعكس الكلمات العربية، لذا تساعدك هذه الوظيفة في استرجاع النص الاصلي\n\n* Input as text\n```text\n.seog eh dna مكيلع مالسلا dias nam ehT\n```\n *  Output as inversed  text\n```\nThe man said السلام عليكم and he goes.\n```\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinuxscout%2Fadawat-latex","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flinuxscout%2Fadawat-latex","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinuxscout%2Fadawat-latex/lists"}