LaTeX can be found in the most surprising places. It is not only the ability to compose in LaTeX that can be found, it is the ability to export data in a *.tex file which is then compiled to produce the pretty .PDF file. The financial package Grisbi can do that, as well as Gnumeric. It is not uncommon. I have seen others, they just do not come to mind right now. However the programs export only the .tex file, we need the rest of the LaTeX packages to compile. The ability to do a .tex export of files can be found in the desktop Wiki application called Zim. You can find Zim in the Ubuntu repositories. I found Zim one day when I was just skimming through the lists of software as they are found in the Synaptic Package Manager, and I thought that Zim looked interesting. Here is the description from Synaptic:

LaTeX peut être trouvé dans les endroits les plus surprenants. Ce n'est pas seulement la capacité de composer en LaTeX qui peut être trouvée, c'est aussi sa possibilité d'exporter des données dans un fichier *.tex qui est ensuite compilé pour produire un beau fichier .PDF. Le paquet de comptabilité Grisbi peut faire cela, tout comme Gnumeric. Ce n'est pas exceptionnel. J'en ai vu d'autres, mais ils ne me viennent pas à l'esprit maintenant. Comme les programmes n'exportent que le fichier .tex, nous avons besoin du reste des paquets LaTeX pour compiler.

La capacité de réaliser un export de fichiers .tex peut être trouvée dans l'application du wiki de bureau appelée Zim. Vous pouvez trouver Zim dans les dépôts Ubuntu. J'ai trouvé Zim un jour où j'étais en train d'écrémer les listes de logiciels telles qu'on les trouve dans le gestionnaire de paquets Synaptic, et j'ai pensé que Zim semblait intéressant. Voici la description dans Synaptic :

“Zim is a graphical text editor used to maintain a collection of wiki pages. “Each page can contain links to other pages, simple formatting, and inline images. Pages are stored in a folder structure, like in an outliner, and can have attachments. Creating a new page is as easy as linking to a nonexistent page. “All data is stored in plain text files, with wiki formatting. Various plugins provide additional functionality, like a task list manager, an equation editor, a tray icon, and support for version control. “Zim can be used to: * Keep an archive of notes * Take notes during meetings or lectures * Organize task lists * Draft blog entries and emails * Do brainstorming’’ So, all that I was expecting was a text editor that would permit me to link to my files. An editor and some kind of organiser. File format exporting in LaTeX, HTML, MHTML, RST or Markdown is not mentioned, this is a bonus that I found later. In fact, the more I looked into Zim, I realised that this application was much more than as advertised in Synaptic.

« Zim est un éditeur de texte graphique utilisé pour maintenir une collection de pages wiki.

Chaque page contient des liens vers d'autres pages, un formatage simple et des images en ligne. Les pages sont stockées dans une structure de répertoires, et peut avoir des pièces jointes. Créer de nouvelles pages est aussi simple que de faire des liens vers des pages inexistantes.

Toutes les données sont stockées dans des fichiers textes avec un formatage wiki. Divers modules fournissent des fonctionnalités supplémentaires, comme un gestionnaire de liste de tâches, un éditeur d'équations, une icône et la gestion de version.

Zim peut s'utiliser pour : - garder une archive de notes ; - prendre des notes pendant une conférence ou une présentation ; - organiser des listes de tâches ; - faire un brouillon d'entrées de blog ou de mails ; - faire du “brainstorming”. »

Aussi, tout ce à quoi je m'attendais était un éditeur de texte qui m'aurait permis de faire des liens avec mes fichiers. Un éditeur et un quelconque organiseur. L'export dans des formats de fichiers LaTeX, HTML, MHTML, RST ou Markdown n'est pas mentionné ; c'est un bonus que j'ai trouvé par la suite. En fait, plus je regardais dans Zim, plus je réalisais que cette application valait beaucoup mieux que ce qui était annoncé dans Synaptic.

Zim looks like any other text editor, with text formatting such as bold, italic, underline and strike-through. The top menu bar also has a link icon, an attachment icon, and a calendar icon that will start a journal section on your Index column as soon as you click on a day in the calendar. As for page formatting, click on the Format menu and we find just about everything we need for everyday documents and more: Zim is full of surprises, and, hang on, I will get to LaTeX in a few minutes. Under the Edit menu we find Templates, where we can select a template to use for the way Zim looks when you open it, and a choice of six HTML templates. We can choose from three LaTeX document styles, default Markdown, and RST. But wait! There is more! In the Templates menu there is a link to get more templates online at: https://github.com/jaap-karssenberg/zim-wiki/wiki/Templates.

Zim ressemble à n'importe quel éditeur de texte, avec des formats tels que gras, italique, souligné et barré. La barre de menu du haut a une icône de lien, une icône de pièces jointes et une icône de calendrier qui démarrera une section Journal dans votre colonne Index dès que vous cliquez sur un jour du calendrier.

Pour le formatage d'une page, cliquez sur le menu Format et vous trouverez à peu près tout le nécessaire pour les documents quotidiens et plus encore :

Zim est plein de surprises et, patientez, j'arriverai à LaTeX dans quelques minutes. Sous le menu Édition, nous trouvons Modèles, où nous pouvons sélectionner un modèle pour l'aspect de Zim à l'ouverture et un choix de six modèles HTML. Nous pouvons choisir trois styles de document LaTeX, Défaut, Markdown et RST. Mais attendez ! Il y a plus ! Dans le menu des modèles, il y a un lien pour obtenir plus de modèles sur : https://github.com/jaap-karssenberg/zim-wiki/wiki/Templates.

Another Pleasant Surprise: Third-party html export templates There are export templates that will allow you to export your files as a complete Wiki in HTML format. This feature enables us to run an instant website on something as small as a Raspberry Pi. The following is a cut-and-paste from the Zim web site: Eight-Five-Zero A template for exporting content from the Zim program as a website. It is designed to be responsive for viewing in all devices. Specifically, it is designed as “mobile-first,” (dropping navigation to the bottom of the screen), and will enable right-side navigation only if the device is of significant width and in landscape mode. Available on github

Autre surprise agréable : les modèles d'export html de tierces parties

Il y a des modèles d'exportation qui vous permettent d'exporter vos fichiers comme un wiki complet au format HTML. Cette fonctionnalité nous permet de faire tourner un site Web instantanément sur quelque chose d'aussi petit qu'un Raspberry Pi. Ce qui suit est un copier-coller venant du site Web de Zim :

Eight-Five-Zero

Un modèle pour l'exportation du contenu d'un programme Zim comme site Web. Il est conçu pour répondre à un affichage sur tout dispositif. Spécifiquement, il est conçu comme « mobile-first » (avant tout, pour les mobiles, avec la navigation en bas de l'écran) et permettra une navigation à partir du côté droit uniquement si l'appareil a une largeur suffisante et est en mode paysage. Disponible sur github.

Ecodiv-responsive Template to export your Zim notebook as a responsive/adaptive website that can be viewed in desktop and mobile devices alike. You can find more information, or download the template, on this github page. For an example, see http://ecodiv.org/ and http://notebook.ecodiv.org/ Ecodiv-mobile Template to export your Zim notebook as a website with mobile theme. Build with jquerymobile to create a website with a focus on mobile devices, but which will also look good on the desktop. The template offers some pointers to customize the design to fit the user’s need. For more information, or to download the template, go to the github page.

Ecodiv-responsive

Modèle pour exporter votre carnet Zim sous forme de site Web adaptable qui peut être vu de la même façon sur des ordinateurs de bureau et sur des mobiles. Vous pouvez trouver plus d'information, et télécharger le modèle, sur la page de github. Pour un exemple, regarder http://ecodiv.org/ et http://notebook.ecodiv.org/.

Ecodiv-mobile

Modèle pour exporter votre carnet Zim comme site Web avec un thème pour mobile. Construit avec jquerymobile pour créer un site Web orienté vers les dispositifs mobiles, mais qui s'affiche bien aussi sur les ordinateurs de bureau. Le modèle offre des indications pour personnaliser la présentation aux besoins de l'utilisateur. Pour plus d'informations, ou pour télécharger le modèle, allez sur la page github.

LaTeX Exporting Yes it is about time I got to this. Here is a short entry I made to Zim: To export this as a LaTeX file: • Click on File —→Export—→Single Page • Forward • Under Format select LaTeX • Choose a template • Forward • Give the output file a name and/or select the directory it is to go into • Click OK This is the file I created under the “Part” template: + \part{Home} \chapter{Home} Created Wednesday 31 August 2016 \chapter{Hello World} \textbf{Some Thoughts on Software Freedom}

Exportation de LaTeX

Oui, il est temps que je passe à ce sujet. Voici une courte saisie que j'ai faite dans Zim :

Pour exporter ceci dans un fichier LaTeX : • Cliquez sur Fichier > Exporter > Page unique • Suivant • Sous Format, sélectionnez LaTeX • Choisissez un modèle • Suivant • Donner un nom au fichier de sortie et/ou sélectionnez le répertoire dans lequel le mettre • Cliquez sur Enregistrer • Cliquez sur Valider

Voici le fichier que j'ai créé avec le modèle « Part » :

+ \part{Home} \chapter{Home} Créé le mercredi 31 Août 2016 \chapter{Hello World} \textbf{Quelques idées sur le logiciel libre}

There are some things that we have to keep in mind about Free Software. \begin{enumerate}[1] \item “Free software” means software that respects users' freedom and community. Roughly, it means that the users have the freedom to run, copy, distribute, study, change and improve the software. \textbf{Thus, “free software” is a matter of liberty, not price.} \item In computer history, take Richard Stallman, Linus Torvalds, and Tim Berners-Lee out of the equation \emph{and the .dot com billionaires don't happen.} \item At this very moment you are benefiting from the efforts of the three people listed above. Keep in mind that there are many more people who have contributed to free software. \end{enumerate} Copy the .tex file in whole or part into your LaTeX editor, You will need to provide the preamble. There may be gremlins and you may have to make some edits such as: • Remove the [1] from the first line. • Replace any “ or ‘ using your LaTeX editor. • Any words that have capitals in the middle of them are treated by Zim as a link. So a word like CanLii will have to be broken up (Can Lii) and the code for the link removed.

Nous devons garder quelques idées en mémoire à propos du Logiciel libre.

\begin{enumerate}[1] \item « Logiciel libre » veut dire logiciel qui respecte la liberté et la communauté des utilisateurs. En gros, cela signifie que les utilisateurs ont la liberté de faire tourner, copier, distribuer, étudier, modifier et améliorer le logiciel. \textbf{Donc, le « Logiciel libre » est une question de liberté, pas de prix.} \item Dans l'histoire de l'informatique, si vous ne tenez pas compte de Richard Stallman, Linus Torvalds et Tim Berners-Lee, \emph{et il n'y a plus de milliardaires du .com.} \item À l'instant présent, vous bénéficiez des efforts des trois personnages listés ci-dessus. Gardez en tête que beaucoup de gens ont contribué au Logiciel libre. \end{enumerate}

Copiez le fichier .tex en entier ou en partie dans votre éditeur LaTeX. Vous devrez fournir le préambule. Vous pourriez avoir des bizarreries et vous devrez faire quelques modifications telles que : • Retirer le [1] de la première ligne. • Remplacer les ” ou ' avec votre éditeur LaTeX. • Tout mot contenant une majuscule au milieu est considéré par Zim comme un lien. Aussi, un mot comme CanLii devra être coupé(Can Lii) et le code pour le lien supprimé.

Take care of those gremlins and you should have a very nice .PDF file with all of your formatting intact. Your Latex editor will alert you of any changes like this that need to be made. I would not want to use Zim as my main LaTeX editor, but it is nice to know that after you have done some work within Zim, you have an option to export in a LaTeX document format that can be imported into an existing document or be a LaTeX document on its own. I will be using Zim to create an internal website at the law library where I work. Zim automatically saves any edits that you make to the file. I like this feature – I can’t forget to save before closing. To date, it is the best organiser, note taker, journal creator, and backup LaTeX editor, that I have found. Zim is the creation of Jaap Karssenberg (jaap.karssenberg@gmail.com) Thank you Jaap. This article was written using Zim, LibreOffice, and Shutter on a Raspberry Pi3.

Si vous corrigez ces bizarreries, vous devriez avoir un très beau fichier .PDF avec tout votre formatage intact. Votre éditeur LaTeX vous alertera sur des modifications comme celles-ci qui doivent être faites.

Je ne voudrais pas utiliser Zim comme mon éditeur LaTeX principal, mais il est bien de savoir qu'après avoir fait un peu de travail avec Zim, vous avez la possibilité d'exporter dans un format de document LaTeX que vous pouvez importer dans un document existant ou en faire un document LaTeX à part entière.

J'utiliserai Zim pour créer un site Web interne à la bibliothèque juridique où je travaille. Zim sauvegarde automatiquement toutes les modifications que vous faites au fichier. J'aime cette fonctionnalité - je ne peux pas oublier de sauvegarder avant de fermer. En résumé, c'est le meilleur organiseur, preneur de notes, créateur de journal et éditeur LaTeX de secours que j'ai trouvé.

Zim est une création de Jaap Karssenberg (jaap.karssenberg@gmail.com). Merci Jaap.

Cet article a été écrit avec Zim, LibreOffice et Shutter sur un Raspberry Pi3.