Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente | |||
xelatex [Le 22/01/2025, 14:00] 197.11.168.153 |
xelatex [Le 22/01/2025, 23:10] (Version actuelle) Amiralgaby ancienne révision (Le 23/09/2024, 23:01) restaurée |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | \documentclass[11pt,a4paper]{article} | + | {{tag>bureautique mathématiques}} |
- | \usepackage[utf8]{inputenc} | + | |
- | \usepackage[T1]{fontenc} | + | |
- | \usepackage{geometry} | + | |
- | \usepackage{enumitem} | + | |
- | \usepackage{hyperref} | + | |
- | \usepackage{fontspec} | + | |
- | \setmainfont{Arial} | + | |
- | \geometry{margin=1in} | + | ---- |
+ | ====== XeLaTeX, langage de description de document ====== | ||
- | \title{Curriculum Vitae} | + | **XeLaTeX** est une variante de [[latex|LaTeX]], la structure générale du document reste identique et l'immense majorité des commandes et packages continuent de fonctionner comme d'habitude. |
- | \author{Ben Amira Belgacem} | + | |
- | \date{} | + | |
- | \begin{document} | + | Cependant, XeLaTeX comporte plusieurs avantages par rapport à LaTeX : |
+ | * XeLaTeX gère nativement Unicode ; les packages ''inputenc'', ''fontenc'' et ''textcomp'', qui servaient auparavant à contourner les limitations de [[latex|LaTeX]] en matière de codages deviennent donc inutiles et inadaptés ; le fichier source //doit// donc être codé en UTF-8 ; | ||
+ | * XeLaTeX produit directement un fichier au format PDF (même avec du code PSTricks !) ; | ||
+ | * contrairement à la version standard de LaTeX, XeLaTeX vous permet d’utiliser n’importe quelle police de caractères dans vos documents, sans avoir à passer par des paquets de polices (voir ci-dessous). | ||
- | \maketitle | + | ===== Pré-requis ===== |
+ | |||
+ | * Disposer des [[:sudo|droits d'administration]]. | ||
+ | * Disposer d'une connexion à Internet configurée et activée. | ||
- | % Section: Contact Information | + | ===== Installation ===== |
- | \section*{Contact Information} | + | * Pour l'installation minimale, [[:tutoriel:comment_installer_un_paquet|installez le paquet]] **[[apt>texlive-xetex|texlive-xetex]]**. |
- | \begin{itemize}[leftmargin=*] | + | * Pour l'installation complète sans se poser de questions au sujet des paquets supplémentaires, [[:tutoriel:comment_installer_un_paquet|installez le paquet]] **[[apt>texlive-full|texlive-full]]**. |
- | \item \textbf{Name:} Ben Amira Belgacem | + | |
- | \item \textbf{Email:} \href{mailto:benamierabeigacem@gmail.com}{benamierabeigacem@gmail.com} | + | |
- | \item \textbf{Phone:} +216 93 287 025 | + | |
- | \item \textbf{LinkedIn:} \url{https://www.linkedin.com/in/ben-amira-belgacem-913a80199/} | + | |
- | \item \textbf{GitHub:} \url{https://github.com/beigacembenamira} | + | |
- | \item \textbf{Location:} Kébili, Tunisia | + | |
- | \end{itemize} | + | |
- | % Section: Professional Summary | + | ===== Code minimal ===== |
- | \section*{Professional Summary} | + | Pour un article en français : |
- | Full Stack TypeScript Developer with a strong foundation in web development and a passion for creating modern, high-performance applications. Proficient in React, Node.js, Next.js, and NestJS, with hands-on experience in building scalable and efficient solutions. Skilled in state management, REST API development, and database optimization. Adept at working under pressure and delivering projects in demanding environments. Strong understanding of Clean Code principles, design patterns, and best practices in software development. | + | <code latex> |
+ | \documentclass[a4paper]{article} | ||
+ | \usepackage{amssymb, amsmath, mathtools} % pour les mathématiques, si nécessaire. | ||
+ | \usepackage{fontspec} % fontspec et xunicode sont facultatifs | ||
+ | \usepackage{xunicode} % pour les versions postérieures à 2018. | ||
+ | \usepackage[french]{babel} | ||
+ | \begin{document} | ||
- | % Section: Technical Skills | + | \end{document} |
- | \section*{Technical Skills} | + | </code> |
- | \begin{itemize}[leftmargin=*] | + | |
- | \item \textbf{Programming Languages:} TypeScript, JavaScript, HTML, CSS, PHP, C/C++, Java | + | |
- | \item \textbf{Frameworks \& Libraries:} React, Next.js, Node.js, NestJS, Express, Redux Toolkit, React Query | + | |
- | \item \textbf{Databases:} PostgreSQL, SQL, MongoDB | + | |
- | \item \textbf{Development Tools:} Git, GitHub, Docker, pgAdmin, Visual Studio Code | + | |
- | \item \textbf{Design Patterns:} MVC, DAO, Observer | + | |
- | \item \textbf{APIs \& Integration:} REST API, Swagger, Axios, Stripe, Twilio, Nodemailer | + | |
- | \item \textbf{Testing \& Debugging:} Jest, React Testing Library | + | |
- | \item \textbf{Version Control:} Git, GitHub | + | |
- | \item \textbf{Other Skills:} Clean Code, UML, Agile/Scrum, CI/CD | + | |
- | \end{itemize} | + | |
- | % Section: Professional Experience | + | En utilisant eFrench (sans babel) : |
- | \section*{Professional Experience} | + | <code latex> |
+ | \documentclass[a4paper]{article} | ||
+ | \usepackage{amssymb, amsmath, mathtools} % pour les mathématiques, si nécessaire. | ||
+ | \usepackage{fontspec} % fontspec et xunicode sont facultatifs | ||
+ | \usepackage{xunicode} % pour les versions postérieures à 2018. | ||
+ | \usepackage{french} | ||
+ | \begin{document} | ||
- | \subsection*{Freelance Project: Development of a Commercial Management Application} | + | \end{document} |
- | \textbf{AgriPalme Solaire, Qiblili} | \textbf{August 2024 – September 2024} | + | </code> |
- | \begin{itemize}[leftmargin=*] | + | |
- | \item Developed a commercial management application to handle product and supplier data using PostgreSQL. | + | |
- | \item Automated the generation of quotes, invoices, and delivery notes in PDF format using jsPDF. | + | |
- | \item Implemented efficient state and data management with React Query and Redux Toolkit. | + | |
- | \item Applied Clean Code principles and optimized folder structure for maintainability. | + | |
- | \item \textbf{Technologies:} React, Node.js, PostgreSQL, jsPDF, React Query, Redux Toolkit | + | |
- | \item \textbf{GitHub Link:} \url{https://github.com/beigacembenamira/Projet_Frelance_Gestion_de_Stock/tree/main} | + | |
- | \end{itemize} | + | |
- | \subsection*{Freelance Project: Development of a Date Management Application} | + | ===== Compilation ===== |
- | \textbf{Taher Collection, Datte Kébili} | \textbf{October 2024} | + | ==== En ligne de commande ==== |
- | \begin{itemize}[leftmargin=*] | + | <code>xelatex mon_document.tex </code> |
- | \item Designed and developed a modular application using Next.js (frontend) and NestJS (backend) to manage farmers, clients, and products. | + | |
- | \item Implemented a REST API documented with Swagger and secured with JWT authentication. | + | |
- | \item Managed data using PostgreSQL and performed API calls with Axios. | + | |
- | \item Automated PDF invoice generation using jsPDF. | + | |
- | \item Optimized application performance using React.memo and useCallback. | + | |
- | \item \textbf{Technologies:} Next.js, NestJS, PostgreSQL, Swagger, JWT, Axios, jsPDF | + | |
- | \item \textbf{GitHub Link:} \url{https://github.com/beigacembenamira/Gestion_De_Datte/tree/main} | + | |
- | \end{itemize} | + | |
- | \subsection*{Internship: Development of a Self-Checkout Application (SKO)} | + | ==== Avec un éditeur graphique ==== |
- | \textbf{Aures, Kébili} | \textbf{February 2024 – June 2024} | + | La plupart des éditeurs LaTeX gèrent nativement XeLaTeX — c’est le cas de [[LaTeXila]], pour lequel il faut aller dans le menu //LaTeXila → Gérer les outils de construction//, puis cocher la case //XeTeX → PDF (Latexmk)//. L’icône de compilation en XeLaTeX apparaitra alors aux côtés de l’icône de compilation LaTeX que vous utilisez habituellement ; si vous ne compilez qu’en XeLaTeX, il est possible de cacher l’icône pour LaTeX en décochant sa case dans le menu sus-décrit. |
- | \begin{itemize}[leftmargin=*] | + | |
- | \item Developed a modular Self-Checkout application using Next.js (frontend) and NestJS (backend). | + | |
- | \item Managed product data, barcode scanning, and payment processing via Stripe. | + | |
- | \item Automated ticket printing and peripheral control. | + | |
- | \item Implemented a manager module for application customization and statistics tracking. | + | |
- | \item Applied design patterns such as MVC, DAO, and Observer for scalable architecture. | + | |
- | \item \textbf{Technologies:} Next.js, NestJS, Stripe, React Query, Redux Toolkit, MVC, DAO, Observer | + | |
- | \item \textbf{GitHub Links:} \url{Frontend} | \url{Backend} | + | |
- | \end{itemize} | + | |
- | \subsection*{Technician Internship: Design and Implementation of an E-Learning Site} | + | Reportez-vous à la documentation de votre éditeur favori pour savoir comment compiler en XeLaTeX. |
- | \textbf{Aures, Kébili} | \textbf{August 2023} | + | |
- | \begin{itemize}[leftmargin=*] | + | |
- | \item Implemented an MVC structure for smooth data management. | + | |
- | \item Secured user authentication with JWT and managed state with React Hooks. | + | |
- | \item Integrated Stripe for secure online payments and Twilio for SMS notifications. | + | |
- | \item Optimized queries and retrieved data using Axios and RTK Query. | + | |
- | \item \textbf{Technologies:} React, Node.js, JWT, Stripe, Twilio, Axios, RTK Query | + | |
- | \item \textbf{GitHub Link:} \url{link} | + | |
- | \end{itemize} | + | |
- | \subsection*{Worker Internship: Design and Development of a User Interface for an E-Commerce Site} | + | ===== Choisir sa police de caractères (fonctionne aussi avec LuaLaTeX) ===== |
- | \textbf{Aures, Kébili} | \textbf{August 2022} | + | ==== Paramétrage basique ==== |
- | \begin{itemize}[leftmargin=*] | + | Comme dit précédemment, XeLaTeX — de même que [[LuaLaTeX]] — permet de choisir n’importe quelle police installée sur son ordinateur pour l’utiliser dans son document, là où LaTeX impose de choisir parmi un nombre limité de paquets tels que ''times'' ou ''libertine''. |
- | \item Developed modular and reusable components using React and TypeScript. | + | |
- | \item Ensured smooth navigation and efficient state management. | + | |
- | \item \textbf{Technologies:} React, TypeScript | + | |
- | \end{itemize} | + | |
- | % Section: Education | + | Pour choisir sa police, on utilise le module ''fontspec'', qui donne trois commandes à placer dans le préambule du document : |
- | \section*{Education} | + | <code latex> |
+ | \usepackage{fontspec} | ||
+ | \setmainfont{Linux Libertine O} % Police romaine, utilisée dans le corps du document | ||
+ | \setsansfont{Linux Biolinum O} % Police linéale, utilisée par certaines classes comme les classes KomaScript | ||
+ | \setmonofont{Linux Libertine Mono O} % Police à chasse fixe, utilisée pour les U.R.L. et par la commande \texttt | ||
+ | </code> | ||
+ | Dans l’absolu seule la commande ''\setmainfont{}'' est nécessaire pour les classes standard de LaTeX. Lorsque l’on choisit également une police [[wpfr>linéale]] et une police à chasse fixe, il convient de choisir des polices se mariant bien ensemble. | ||
- | \subsection*{Software Engineering Degree} | + | ==== Paramétrage avancé ==== |
- | \textbf{Esprit, Monastir} | \textbf{September 2022 – June 2024} | + | XeLaTeX permet également de gérer le styles des polices de manière très poussée ; on peut par exemple utiliser des [[wpfr>Ligatures (écriture)|ligatures]] stylistiques (« ct » et « st »), des [[wpfr>chiffres elzéviriens]]… |
- | \subsection*{Bachelor’s Degree in Automation} | + | Ces éléments stylistiques s’ajoutent en argument facultatif des commandes de sélection de polices : |
- | \textbf{Higher Institute of Industrial Systems (I.S.S.I.G), Gabes} | \textbf{September 2017 – May 2021} | + | <code latex> |
+ | \setmainfont[Ligatures=Rare,Numbers=Lowercase]{Alegreya} | ||
+ | </code> | ||
+ | sélectionne les ligatures stylistiques et les chiffres elzéviriens. | ||
- | \subsection*{Technical Baccalaureate} | + | ===== Voir aussi ===== |
- | \textbf{Technical High School, Kébili} | \textbf{2017} | + | * [[https://www.tuteurs.ens.fr/logiciels/latex/xetex.html|Page du projet]] (et [[http://www.efrench.org/|Présentation eFrench]]) |
- | % Section: Certifications | + | ---- |
- | \section*{Certifications} | + | |
- | \begin{itemize}[leftmargin=*] | + | |
- | \item \textbf{Object-Oriented Programming with PHP} (Itrax Academy, June 2023) | + | |
- | \item \textbf{JavaScript Algorithms and Data Structures} (freeCodeCamp, March 2023) | + | |
- | \item \textbf{Scrum Foundation Professional Certificate (SFPC v2020)} (CertiProf, January 2023) | + | |
- | \item \textbf{Version Control} (Coursera, January 2023) | + | |
- | \item \textbf{Git and GitHub} (Itrax Academy, June 2023) | + | |
- | \item \textbf{JavaScript Intermediate} (Sololearn) | + | |
- | \item \textbf{Programming with JavaScript} (Coursera, January 2023) | + | |
- | \item \textbf{Introduction to Front-End Development} (Coursera) | + | |
- | \end{itemize} | + | |
- | % Section: Languages | + | //Contributeurs : [[utilisateurs:grigouille]], Raymond Juillerat, dpled.// |
- | \section*{Languages} | + | |
- | \begin{itemize}[leftmargin=*] | + | |
- | \item \textbf{English:} Professional proficiency | + | |
- | \item \textbf{French:} Professional proficiency | + | |
- | \item \textbf{Arabic:} Native proficiency | + | |
- | \end{itemize} | + | |
- | + | ||
- | % Section: Interests | + | |
- | \section*{Interests} | + | |
- | \begin{itemize}[leftmargin=*] | + | |
- | \item Anime | + | |
- | \item Sports | + | |
- | \item Open Source Contributions | + | |
- | \item Technology Trends | + | |
- | \end{itemize} | + | |
- | + | ||
- | \end{document} | + |