Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.info/blog/inc/libs/clearbricks/common/lib.json.php on line 135
Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.info/blog/inc/libs/clearbricks/common/lib.json.php on line 135
Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.info/blog/inc/libs/clearbricks/common/lib.json.php on line 187
Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.info/blog/inc/libs/clearbricks/common/lib.json.php on line 188
Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.info/blog/inc/libs/clearbricks/common/lib.json.php on line 189
Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.info/blog/inc/libs/clearbricks/common/lib.json.php on line 194
Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.info/blog/inc/libs/clearbricks/common/lib.json.php on line 195
Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.info/blog/inc/libs/clearbricks/common/lib.json.php on line 196
Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.info/blog/inc/libs/clearbricks/common/lib.json.php on line 197
Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.info/blog/inc/libs/clearbricks/common/lib.json.php on line 241
Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.info/blog/inc/libs/clearbricks/common/lib.json.php on line 264
Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.info/blog/inc/libs/clearbricks/common/lib.json.php on line 269
Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.info/blog/inc/libs/clearbricks/common/lib.json.php on line 275
Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.info/blog/inc/libs/clearbricks/common/lib.json.php on line 285
Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.info/blog/inc/libs/clearbricks/common/lib.json.php on line 286
Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.info/blog/inc/libs/clearbricks/common/lib.json.php on line 296
Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.info/blog/inc/libs/clearbricks/common/lib.json.php on line 297
Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.info/blog/inc/libs/clearbricks/common/lib.json.php on line 298
Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.info/blog/inc/libs/clearbricks/common/lib.json.php on line 308
Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.info/blog/inc/libs/clearbricks/common/lib.json.php on line 309
Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.info/blog/inc/libs/clearbricks/common/lib.json.php on line 310
Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.info/blog/inc/libs/clearbricks/common/lib.json.php on line 311
Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.info/blog/inc/libs/clearbricks/common/lib.json.php on line 321
Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.info/blog/inc/libs/clearbricks/common/lib.json.php on line 322
Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.info/blog/inc/libs/clearbricks/common/lib.json.php on line 323
Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.info/blog/inc/libs/clearbricks/common/lib.json.php on line 324
Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.info/blog/inc/libs/clearbricks/common/lib.json.php on line 325
Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.info/blog/inc/libs/clearbricks/common/lib.json.php on line 497
Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.info/blog/inc/libs/clearbricks/common/lib.json.php on line 527
Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.info/blog/inc/libs/clearbricks/common/lib.json.php on line 540
Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.info/blog/inc/libs/clearbricks/common/lib.json.php on line 587
Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.info/blog/inc/libs/clearbricks/common/lib.json.php on line 626
Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.info/blog/inc/libs/clearbricks/common/lib.json.php on line 668
Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.info/blog/inc/libs/clearbricks/common/lib.json.php on line 668
Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.info/blog/inc/libs/clearbricks/common/lib.json.php on line 670
Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.info/blog/inc/libs/clearbricks/common/lib.json.php on line 673
Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.info/blog/inc/libs/clearbricks/common/lib.json.php on line 682
Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.info/blog/inc/libs/clearbricks/common/lib.json.php on line 688
Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.info/blog/inc/libs/clearbricks/common/lib.json.php on line 693
Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/didierve/didierverna.info/blog/inc/libs/clearbricks/common/lib.json.php on line 699
Deprecated: Function get_magic_quotes_gpc() is deprecated in /home/didierve/didierverna.info/blog/inc/libs/clearbricks/common/lib.http.php on line 410
Deprecated: Function get_magic_quotes_gpc() is deprecated in /home/didierve/didierverna.info/blog/inc/libs/clearbricks/common/lib.http.php on line 410
Warning: Cannot modify header information - headers already sent by (output started at /home/didierve/didierverna.info/blog/inc/libs/clearbricks/common/lib.json.php:309) in /home/didierve/didierverna.info/blog/inc/public/lib.urlhandlers.php on line 633
Warning: Cannot modify header information - headers already sent by (output started at /home/didierve/didierverna.info/blog/inc/libs/clearbricks/common/lib.json.php:309) in /home/didierve/didierverna.info/blog/inc/libs/clearbricks/common/lib.http.php on line 272
Warning: Cannot modify header information - headers already sent by (output started at /home/didierve/didierverna.info/blog/inc/libs/clearbricks/common/lib.json.php:309) in /home/didierve/didierverna.info/blog/inc/libs/clearbricks/common/lib.http.php on line 274
Warning: Cannot modify header information - headers already sent by (output started at /home/didierve/didierverna.info/blog/inc/libs/clearbricks/common/lib.json.php:309) in /home/didierve/didierverna.info/blog/inc/libs/clearbricks/common/lib.http.php on line 274
Warning: Cannot modify header information - headers already sent by (output started at /home/didierve/didierverna.info/blog/inc/libs/clearbricks/common/lib.json.php:309) in /home/didierve/didierverna.info/blog/inc/libs/clearbricks/common/lib.http.php on line 274
Warning: Cannot modify header information - headers already sent by (output started at /home/didierve/didierverna.info/blog/inc/libs/clearbricks/common/lib.json.php:309) in /home/didierve/didierverna.info/blog/inc/public/lib.urlhandlers.php on line 110
Warning: Cannot modify header information - headers already sent by (output started at /home/didierve/didierverna.info/blog/inc/libs/clearbricks/common/lib.json.php:309) in /home/didierve/didierverna.info/blog/inc/public/lib.urlhandlers.php on line 130
Warning: Cannot modify header information - headers already sent by (output started at /home/didierve/didierverna.info/blog/inc/libs/clearbricks/common/lib.json.php:309) in /home/didierve/didierverna.info/blog/inc/libs/clearbricks/common/lib.http.php on line 295 Didier Verna's Scientific Blog - LaTeXDidier Verna's scientific blog: Lisp, Emacs, LaTeX and random stuff.2024-05-31T14:07:28+01:00Didier Vernaurn:md5:a22c53786aff986a2da4c770c233a8f9DotclearFiXme 4.5 is outurn:md5:4cd0cbd7249dfa97ac0505dba2ee84c6Thursday, January 3 2019Thursday, January 3 2019Didier VernaLaTeXFiXmeLaTeXreleaseTeX <p>I'm pleased to announce the release of FiXme 4.5 (my collaborative annotation tool for LaTeX).</p>
<p>New in this release:</p>
<pre>
** Public interface for extending FiXme with new key/value options.
** Revamp the AUCTeX support
with help from Arash Esbati and Ikumi Keita.
** Fix PDF signature layouts not working anymore
reported by Soeren Wolfers.
** Fix spurious space at the end of environments contents
reported by Frank Mittelbach.
</pre>
<p>Get it at the <a href="http://www.lrde.epita.fr/~didier/software/latex.php#fixme">usual</a> place.</p>https://www.didierverna.net/blog/index.php?post/2019/01/03/FiXme-4.5-is-out#comment-formhttps://www.didierverna.net/blog/index.php?feed/navlang:en/atom/comments/157FiXme 4.4 is outurn:md5:c63418fb8ec3cddcb8f34732762b40d5Sunday, March 5 2017Sunday, March 5 2017Didier VernaLaTeXFiXmeLaTeXreleaseTeX <p>I'm pleased to announce the release of FiXme 4.4 (my collaborative annotation tool for LaTeX).</p>
<p>New in this release:</p>
<pre>
** Handle existing yet empty lox files properly
meaning, don't actually typeset an empty list of corrections.
** Don't update the lox file in final mode
avoiding potential typesetting artifacts, reported by Lars Madsen.
** Various internals and documentation improvements.
</pre>
<p>Get it at the <a href="http://www.lrde.epita.fr/~didier/software/latex.php#fixme">usual</a> place.</p>https://www.didierverna.net/blog/index.php?post/2017/03/05/FiXme-4.4-is-out#comment-formhttps://www.didierverna.net/blog/index.php?feed/navlang:en/atom/comments/151DoX 2.3 is outurn:md5:fa8019beb82b1f34c14a18ebbf28e02eThursday, January 26 2017Thursday, January 26 2017Didier VernaLaTeXDoXLaTeXreleaseTeX <p>I'm pleased to announce the release of DoX 2.3 (Extensions to the Doc pakcage for LaTeX).</p>
<p>New in this release:</p>
<pre>
** Support Doc's internal \saved@indexname command
thanks to Falk Hanisch.
</pre>
<p>Get it at the <a href="http://www.lrde.epita.fr/~didier/software/latex.php#dox">usual</a> place.</p>https://www.didierverna.net/blog/index.php?post/2017/01/26/DoX-2.3-is-out#comment-formhttps://www.didierverna.net/blog/index.php?feed/navlang:en/atom/comments/149FiXme 4.3 is outurn:md5:49b0bbcf74244eb13e7f62c769b35dd9Wednesday, January 18 2017Wednesday, January 18 2017Didier VernaLaTeXFiXmeLaTeXreleaseTeX <p>I'm pleased to announce the release of FiXme 4.3 (my collaborative annotation tool for LaTeX), after more than 3 years of hyper-sleep.</p>
<p>New in this release:</p>
<pre>
** Add a paragraph about the duplication of notes in captions
upon exchange with Kreuvf.
** Update support for the KOMA-Script classes to the tocbasic interface
reported by Dirk Surmann.
** Separate inline notes from the text they follow
suggested by Victor Porton.
** Fix potential inline layouts color leakage
reported by Victor Porton.
** Fix several bracket parsing problems
thanks to Joseph Wright and Lars Madsen.
</pre>
<p>Get it at the <a href="http://www.lrde.epita.fr/~didier/software/latex.php#fixme">usual</a> place.</p>https://www.didierverna.net/blog/index.php?post/2017/01/18/FiXme-4.3-is-out#comment-formhttps://www.didierverna.net/blog/index.php?feed/navlang:en/atom/comments/148FiXme 4.2 is outurn:md5:aff6c828edd876abeedea030fed0d67dMonday, January 28 2013Monday, January 28 2013Didier VernaLaTeXFiXmereleasesoftware <p>I'm pleased to announce that, after more than two years, I've managed to put up a very small release of FiXme (my collaborative annotations tool for LaTeX2e) in which I didn't even author the two included changes...</p>
<p>Keep the faith. FiXme is still alive !</p>
<p>New in this veresion (4.2):</p>
<pre>
** Improve Danish translation
thanks to Lars Madsen.
** Fix buglet in redefinition of \@wrindex
reported by Norman Gray.
</pre>
<p>Get it at the <a href="http://www.lrde.epita.fr/~didier/software/latex.php#fixme">usual</a> place.</p>https://www.didierverna.net/blog/index.php?post/2013/01/28/FiXme-4.2-is-out#comment-formhttps://www.didierverna.net/blog/index.php?feed/navlang:en/atom/comments/111Star TeX, the Next Generationurn:md5:93c43e63a05de4e3e5699b499982a951Wednesday, March 21 2012Wednesday, March 21 2012Didier VernaLaTeXCommon LispconferenceProgramming LanguagesTeXTUG <p>I'm happy to announce that my contribution to <a href="http://www.tug.org/tug2012/">TUG 2012</a>, the next TeX Users Group International conference, has been accepted. Please find the title and abstract below.</p>
<p><br />
<br /></p>
<p><strong>Star TeX, the Next Generation</strong></p>
<p>In 2010, I asked Donald Knuth why he chose to design and implement TeX as a macro-expansion system (as opposed to more traditional procedure calls). His answer was that:</p>
<ol>
<li>he wanted something relatively simple for his secretary who was not a computer scientist,</li>
<li>the very limited computing resources at that time practically mandated the use of something much lighter than a true programming language.</li>
</ol>
<p>The first part of the answer left me with a slight feeling of skepticism. It remains to be seen that TeX is simple to use, and when or where it is, its underlying implementation has hardly anything to do with it.</p>
<p>The second part of the answer, on the other hand, was both very convincing and arguably now obsolete as well. Time has passed and the situation today is very different from what it was 50 years ago. The available computing power has grown exponentially, and so has our overall skills in language design and implementation.</p>
<p>Several ideas on how to modernize TeX already exist. Some have been actually implemented. In this talk, I will present mine. Interestingly enough, it seems to me that modernizing TeX can start with grounding it in an old yet very modern programming language: Common Lisp. I will present the key features that make this language particularly well suited to the task, emphasizing on points such as extensibility, scriptability and multi-paradigm programming. The presentation will include reflections about the software engineering aspects (internals), as well as about the surface layer of TeX itself. Most notably, I will explore the possibilities of providing a more consistent syntax to the TeX API, while maintaining backward compatibility with the existing code base.</p>https://www.didierverna.net/blog/index.php?post/2012/03/21/Star-TeX%2C-the-Next-Generation#comment-formhttps://www.didierverna.net/blog/index.php?feed/navlang:en/atom/comments/100LaTeX Coding Standardsurn:md5:1f341c87c81160c74a6cf045a54bf013Tuesday, July 19 2011Tuesday, July 19 2011Didier VernaLaTeXconferencepublicationTUG <p>EDIT: the paper is now <a href="http://www.lrde.epita.fr/~didier/research/verna.11.tug.pdf" hreflang="en">freely</a> available for non TUG members.</p>
<p>I'm happy to announce that my contribution to <a href="http://www.tug.org/tug2011/">TUG 2011</a>, the next TeX Users Group International conference, has been accepted. Please find the title and abstract below.</p>
<p><br />
<br /></p>
<p><strong>Towards LaTeX Coding Standards</strong></p>
<p>Because LaTeX (and ultimately TeX) is only a macro-expansion system, the language does not impose any kind of good software engineering practice, program structure or coding style whatsoever. As a consequence, writing beautiful code (for some definition of "beautiful") requires a lot of self-discipline from the programmer.</p>
<p>Maybe because in the LaTeX world, collaboration is not so widespread (most packages are single-authored), the idea of some LaTeX Coding Standards is not so pressing as with other programming languages. Some people may, and probably have developed their own programming habits, but when it comes to the LaTeX world as a whole, the situation is close to anarchy.</p>
<p>Over the years, the permanent flow of personal development experiences contributed to shape my own taste in terms of coding style. The issues involved are numerous and their spectrum is very large: they range from simple code layout (formatting, indentation, naming schemes etc.), mid-level concerns such as modularity and encapsulation, to very high-level concerns like package interaction/conflict management and even some rules for proper social behavior.</p>
<p>In this talk, I will report on all these experiences and describe what I think are good (or at least better) programming practices. I believe that such practices do help in terms of code readability, maintainability and extensibility, all key factors in software evolution. They help me, perhaps they will help you too.</p>https://www.didierverna.net/blog/index.php?post/2011/07/19/LaTeX-Coding-Standards#comment-formhttps://www.didierverna.net/blog/index.php?feed/navlang:en/atom/comments/87DoX 2.2 is releasedurn:md5:800b2bb8adcc39c16c708c6a55fc030eThursday, December 16 2010Thursday, December 16 2010Didier VernaLaTeXDoXreleasesoftware Hello, I'm happy to announce the release of DoX v2.2. DoX is a set of extensions to the Doc package, for LaTeX2e class and style authors.<br /><br />New in this release: the ability to create new control-sequence based documentation items (for instance LaTeX lengths).https://www.didierverna.net/blog/index.php?post/2010/12/16/DoX-2.2-is-released#comment-formhttps://www.didierverna.net/blog/index.php?feed/navlang:en/atom/comments/3CurVe 1.16 is outurn:md5:c17ac21ae829dc6664f56b75109cc105Tuesday, December 14 2010Tuesday, December 14 2010Didier VernaLaTeXCurVereleasesoftware Hello,<br /><br />I'm happy to announce the release of CurVe 1.16. CurVe is a CV class for LaTeX2e.<br /><br />New in this release:<br /><br />- An examples directory<br />- New \text macro to insert plain text in the middle of rubrics,<br />- Support for openbib option which was implicit before<br />- Fix incompatibilities with the splitbib package<br />- Handle the bibentry/hyperref incompatibility directly<br />- Implement old font commands letting packages using them (e.g. fancyhdr) work correctly<br />https://www.didierverna.net/blog/index.php?post/2010/12/14/CurVe-1.16-is-out#comment-formhttps://www.didierverna.net/blog/index.php?feed/navlang:en/atom/comments/5FiNK 2.2 is outurn:md5:3516d2879bb64b692c63b0c25b76aa7dFriday, December 3 2010Friday, December 3 2010Didier VernaLaTeXFiNKreleasesoftware Hello,<br /><br />I'm happy to announce the release of FiNK 2.2. FiNK is the LaTeX2e File Name Keeper. New in this release: FiNK is now compatible with the memoir class.<br /><br />Grab it <a href="http://www.lrde.epita.fr/~didier/software/latex.php#fink" target="_blank">here</a>https://www.didierverna.net/blog/index.php?post/2010/12/03/FiNK-2.2-is-out#comment-formhttps://www.didierverna.net/blog/index.php?feed/navlang:en/atom/comments/7Nice feedback on my TUG 2010 paperurn:md5:f174eebc3c105cf907c14d3f9b6f177fWednesday, December 1 2010Wednesday, December 1 2010Didier VernaLaTeXpublicationTUG Here's a nice comment from a reader of the TUGBoat on my TUG 2010 paper entitled "Classes, Styles, Conflicts: the Biological Realm of LaTeX":<br /><blockquote><p>I really enjoy Didier Verna's paper (pp. 162-172). His analogies between LaTeX and microbiology is truly exciting! Being neither a TeXnician nor a (micro) biologist, the paper gives me more insight about LaTeX while at the same time giving me a glimpse to a world beyond my narrow field of knowledge. Please do extend my compliments to the author.</p>
</blockquote><br />https://www.didierverna.net/blog/index.php?post/2010/12/01/Nice-feedback-on-my-TUG-2010-paper#comment-formhttps://www.didierverna.net/blog/index.php?feed/navlang:en/atom/comments/8Classes, Styles, Conflicts: the Biological Realm of LaTeXurn:md5:16a2fd6bc3228d92fbf768317ac1e2d6Tuesday, October 5 2010Tuesday, October 5 2010Didier VernaLaTeXjournalpublicationTUGboat I'm pleased to announce that my article entitled "Classes, Styles, Conflicts: the Biological Realm of LaTeX" has been published in the TUGboat journal, Volume 32 N.2.<br /><br />There is also a live video recording of the presentation. See <a href="http://www.lrde.epita.fr/~didier/research/publis.php#verna.10.tug" target="_blank">http://www.lrde.epita.fr/~didier/resear ... rna.10.tug</a>https://www.didierverna.net/blog/index.php?post/2010/10/05/Classes%2C-Styles%2C-Conflicts%3A-the-Biological-Realm-of-LaTeX#comment-formhttps://www.didierverna.net/blog/index.php?feed/navlang:en/atom/comments/13Paper accepted at TUG 2010urn:md5:28800bb6a1b3760f3f998978f6e7a560Tuesday, March 9 2010Tuesday, March 9 2010Didier VernaLaTeXconferencepublicationTUG Hello,<br /><br />I'm happy to announce that I will be presenting a paper at TUG 2010, in San Francisco, for the 2^5th birthday of TeX. The abstract is given below:<br /><br /><br />Classes, Styles, Conflicts: the Biological Realm of LaTeX<br /><br /><br />Every LaTeX user faces the "compatibility nightmare" one day or another. With so much intercession capabilities at hand (LaTeX code being able to redefine itself at will), a time comes inevitably when the compilation of a document fails, due to a class/style conflict. In an ideal world, class/style conflicts should only be a concern for package maintainers, not end-users of LaTeX. Unfortunately, the world is real, not ideal, and end-user document compilation does break.<br /><br />As both a class/style maintainer and a document author, I tried several times to come up with some general principles or a systematic approach to handling class/style cross-compatibility in a smooth and gentle manner, but I ultimately failed. Instead, one Monday morning, I woke up with this vision of the LaTeX biotope, an emergent phenomenon whose global behavior cannot be comprehended, because it is in fact the result of a myriad of "macro"-interactions between small entities, themselves in perpetual evolution.<br /><br />In this presentation, I would like to draw bridges between LaTeX and biology, by viewing documents, classes and styles as living beings constantly mutating their geneTeX code in order to survive \renewcommand attacks...<br />https://www.didierverna.net/blog/index.php?post/2010/03/09/Paper-accepted-at-TUG-2010#comment-formhttps://www.didierverna.net/blog/index.php?feed/navlang:en/atom/comments/23FiXme 4.0 is out !urn:md5:680595a11ba8e7ae2de2ef9ba925a9c0Monday, September 21 2009Monday, September 21 2009Didier VernaLaTeXFiXmereleasesoftware I'm happy to announce FiXme version 4.0<br /><br />#### WARNING: this is a major release containing many new features and heavy<br />#### internals refactoring. FiXme 4.0 comes with unprecedented flexibiity,<br />#### unrivalled extensibility and unchallenged backward-INcompatibility.<br /><br /><br />What's new in version 4.0<br />=========================<br />* Support for collaborative annotations<br /> suggested by Michael Kubovy<br />** Support for "targeted" notes and environments<br /> (highlighting a portion of text), suggested by Mark Edgington.<br />** Support for "floating" notes<br /> (not specific to any portion of text), suggested by Rasmus Villemoes.<br />** Support for alternate layout autoswitch in TeX's inner mode<br /> suggested by Will Robertson.<br />** Support for automatic language tracking in multilingual documents<br />** Support for themes<br />** Extended support for user-provided layouts<br />** Support for key=value argument syntax in the whole user interface<br />** New command \fxsetup<br />** Homogenize log and console messages<br />** Heavy internals refactoring<br /><br /><br />Description<br />===========<br />FiXme is a collaborative annotation tool for LaTeX documents. Annotating a<br />document refers here to inserting meta-notes, that is, notes that do not<br />belong to the document itself, but rather to its development or reviewing<br />process. Such notes may involve things of different importance levels, ranging<br />from simple "fix the spelling" flags to critical "this paragraph is a lie"<br />mentions. Annotations like this should be visible during the development or<br />reviewing phase, but should normally disapear in the final version of the<br />document.<br /><br />FiXme is designed to ease and automate the process of managing collaborative<br />annotations, by offering a set of predefined note levels and layouts, the<br />possibility to register multiple note authors, to reference annotations by<br />listing and indexing etc. FiXme is extensible, giving you the possibility to<br />create new layouts or even complete "themes", and also comes with support for<br />AUC-TeX.<br /><br />FiXme homepage: <a href="http://www.lrde.epita.fr/~didier/software/latex.php#fixme" target="_blank">http://www.lrde.epita.fr/~didier/softwa ... .php#fixme</a><br />https://www.didierverna.net/blog/index.php?post/2009/09/21/FiXme-4.0-is-out-%21#comment-formhttps://www.didierverna.net/blog/index.php?feed/navlang:en/atom/comments/29DoX v2.0 (2009/09/21) is outurn:md5:fc3327ed2bd91d570bb222605c70dc2aMonday, September 21 2009Monday, September 21 2009Didier VernaLaTeXDoXreleasesoftware I'm happy to announce the release of DoX v2.0 (2009/09/21).<br /><br />New in this version:<br />* Optional argument to \doxitem idxtype option to change the item's index type<br /><br />* Optional argument to \Describe<Item> and the <Item> environment<br />noprint option to avoid marginal printing<br />noindex option to avoid item indexing<br /><br />* Extend \DescribeMacro, \DescribeEnv and their corresponding environments with the same features<br /><br /><br />The doc package provides LaTeX developers with means to describe the usage and the definition of new commands and environments. However, there is no simple way to extend this functionality to other items (options or counters for instance). DoX is designed to circumvent this limitation, and provides some improvements over the existing functionality as well.https://www.didierverna.net/blog/index.php?post/2009/09/21/DoX-v2.0-%282009/09/21%29-is-out#comment-formhttps://www.didierverna.net/blog/index.php?feed/navlang:en/atom/comments/30DoX version 1.0 (2009/09/11) is now availableurn:md5:d575525be130b3e14ef12094ffa4bc58Monday, September 14 2009Monday, September 14 2009Didier VernaLaTeXDoXreleasesoftware I'm happy to annouce the first public version of the DoX package for LaTeX2e.<br /><br />The doc package provides LaTeX developers with means to describe the usage and the definition of new macros and environments. However, there is no simple way to extend this functionality to other items (options or counters for instance). The dox package is designed to circumvent this limitation.https://www.didierverna.net/blog/index.php?post/2009/09/14/DoX-version-1.0-%282009/09/11%29-is-now-available#comment-formhttps://www.didierverna.net/blog/index.php?feed/navlang:en/atom/comments/31FiXme 3.4 is outurn:md5:76beafa1ab6902395768041d38469783Wednesday, July 22 2009Wednesday, July 22 2009Didier VernaLaTeXFiXmereleasesoftware I'm happy to announce the next edition of FiXme: version 3.4<br /><br />New in this release:<br />** \fixme, \fxerror, \fxwarning and \fxnote are now robust<br />** Fix incompatibility with KOMA-Script classes when the lox file is inexistent<br /><br /><br />FiXme provides you with a way of inserting fixme notes in documents. Such notes can appear in the margin of the document, as index entries, in the log file and as warnings on stdout. It is also possible to summarize them in a list, and in the index. When you switch from draft to final mode, any remaining fixme note will be logged, but removed from the document's body. Additionally, critical notes will abort compilation with an informative message. FiXme also comes with support for AUC-TeX.https://www.didierverna.net/blog/index.php?post/2009/07/22/FiXme-3.4-is-out#comment-formhttps://www.didierverna.net/blog/index.php?feed/navlang:en/atom/comments/32Beamer blocks and the Listings packageurn:md5:209e8ca9299e0a6c351ff87e2850d8b0Wednesday, June 4 2008Wednesday, June 4 2008Didier VernaLaTeXBeamerhacklstlistingsoftware For many of my lectures, I use the Listings package for typesetting code excerpts, and include them in Beamer blocks. Providing nice shortcuts for doing that is not trivial if you want to preserve control over Listings options, and add a new one for the block's title. Here is a way to nicely wrap a call to <code>\lstinputlisting</code> inside a Beamer block.<br /><br />First, let's use the <code>xkeyval</code> package to create a "title" option:<br /><pre>\define@cmdkey[dvl]{lst}[@dvl@lst@]{title}{}</pre><br />Next, a low-level listing input command. This macro takes 4 arguments: an overlay specification, a title for the block, a list of options passed to Listings, and a file name for input:<br /><pre>%% \dvlinputlisting{overlay}{title}{lstoption=,...}{file}<br />\newcommand\dvlinputlisting[4]{%<br /> \begin{block}#1{#2}<br /> %% #### WARNING: I need this hack because keyval-style options<br /> %% mess up the parsing.<br /> \expandafter\lstinputlisting\expandafter[#3]{#4}<br /> \end{block}}</pre><br />And now, you can define all sorts of specialized versions for different languages. For example, here is one for Common Lisp code. The block title is "Lisp" by default, and a "lisp" extension is automatically added to the file name:<br /><pre>%% Language-specific shortcuts:<br />%% The title option is used for the beamer block's title.<br />%% All other options are passed to listings.<br />%% \XXXinputlisting<overlay>[title=,lstoption=,...]{file}<br />\newcommand<>\clinputlisting[2][]{%<br /> \def\@dvl@lst@title{Lisp}%<br /> \setkeys*[dvl]{lst}{#1}%<br /> \edef\@dvl@lst@options{language=lisp,\XKV@rm}%<br /> \dvlinputlisting{#3}{\@dvl@lst@title}{\@dvl@lst@options}{#2.lisp}}</pre><br />Which you could call like this:<br /><pre>\clinputlisting<2->[title={Example 1}, gobble=2]{ex1}</pre><br />As you can see, "title" is an option for the Beamer block, and all the others are dispatched to Listings. Cool.<br /><br /><br />Now, things are getting more complicated when you want nice shortcuts for <em>inline environments</em>, because nesting Beamer blocks with listings doesn't work. Fortunately, I figured out a trick based on the Verbatim package to simulate that. The idea is to store the contents of the listing environment in a temporary file, and use <code>\lstinputlisting</code> as before to include it. Clever right ?<br />:-)<br />Here is a generic environment for doing that. In the opening, we read the environment's contents and store it in the file <code>\jobname.dvl</code>. In the ending, we call our previous macro <code>\dvlinputlisting</code> on that file (actually, on a dynamically created argument list called <code>\@dvl@args</code>:<br /><pre>\usepackage{verbatim}<br />\newwrite\lstvrb@out<br />\def\@dvllisting{%<br /> \begingroup<br /> \@bsphack<br /> \immediate\openout\lstvrb@out\jobname.dvl<br /> \let\do\@makeother\dospecials\catcode`\^^M\active<br /> \def\verbatim@processline{%<br /> \immediate\write\lstvrb@out{\the\verbatim@line}}%<br /> \verbatim@start}<br />\def\@enddvllisting{%<br /> \immediate\closeout\lstvrb@out<br /> \@esphack<br /> \endgroup<br /> \expandafter\dvlinputlisting\@dvl@args}</pre><br />And now, we can define all sorts of specialized versions for every language we're insterested in. Again, here is one for Common Lisp.<br /><pre>\newenvironment<>{cllisting}[1][]{%<br /> \def\@dvl@lst@title{Lisp}%<br /> \setkeys*[dvl]{lst}{#1}%<br /> \edef\@dvl@lst@options{language=lisp,\XKV@rm}%<br /> \xdef\@dvl@args{{#2}{\@dvl@lst@title}{\@dvl@lst@options}{%<br /> \jobname.dvl}}<br /> \@dvllisting}{%<br /> \@enddvllisting}</pre><br />Which you can use like this:<br /><pre>\begin{cllinsting}<2->[title={Example 1},gobble=2]<br /> (defun foo (x) (* 2 x))<br />\end{cllisting}</pre><br />Don't forget that frames containing code excerpts like this are <em>fragile</em>!https://www.didierverna.net/blog/index.php?post/2008/06/04/Beamer-blocks-and-the-Listings-package#comment-formhttps://www.didierverna.net/blog/index.php?feed/navlang:en/atom/comments/49FiNK 2.1.1 is releasedurn:md5:ed5af20f97a138da418d33b0e22336eeWednesday, February 27 2008Wednesday, February 27 2008Didier VernaLaTeXFiNKreleasesoftware I'm happy to announce the release of FiNK 2.1.1. This is a bugfix/documentation only release.<br /><br />FiNK is a LaTeX2e package that keeps track of the files included (\input or \include) in your documents.<br /><br />What's new in this version:<br />** Fix trailing whitespace in \fink@restore<br />** Added some hints about filenames with special characters<br />https://www.didierverna.net/blog/index.php?post/2008/02/27/FiNK-2.1.1-is-released#comment-formhttps://www.didierverna.net/blog/index.php?feed/navlang:en/atom/comments/54CurVe 1.15 is outurn:md5:08927cbeb17a3f28a8244dce3a9e1ae0Monday, February 25 2008Monday, February 25 2008Didier VernaLaTeXCurVereleasesoftware I'm happy to announce the next edition of CurVe, a LaTeX2e class for writing curricula vitae.<br /><br />What's new in this version:<br />** Support for itemize environments, suggested by Mirko Hessel-von Molo.<br />** Added some documentation about vertical spacing problems in |bbl| files, suggested by Seweryn Habdank-Wojewódzki.<br />https://www.didierverna.net/blog/index.php?post/2008/02/25/CurVe-1.15-is-out#comment-formhttps://www.didierverna.net/blog/index.php?feed/navlang:en/atom/comments/55