Classes,
Styles,
Conflicts
Didier Verna
Analogies
Morphological
Functional
GeneT
E
X Material
Infection
Methods
Types
Cures
Vaccines
Anti-viral Agents
Curative Infections
Conclusion
Classes, Styles, Conflicts
The Biological Realm of L
A
T
E
X
Didier Verna
didier@lrde.epita.fr
http://www.lrde.epita.fr/˜didier
TUG 2010 – June 29
1/19
Classes,
Styles,
Conflicts
Didier Verna
Analogies
Morphological
Functional
GeneT
E
X Material
Infection
Methods
Types
Cures
Vaccines
Anti-viral Agents
Curative Infections
Conclusion
The class / styles conflicts nightmare
Classes
C
u
rV
e
, QCM
Styles
FiXme, F
i
NK, QCM, DoX, LstBlocks (soon)
Documents!
Paradoxical situation: “If it ain’t broke, then fix it”
2/19
Classes,
Styles,
Conflicts
Didier Verna
Analogies
Morphological
Functional
GeneT
E
X Material
Infection
Methods
Types
Cures
Vaccines
Anti-viral Agents
Curative Infections
Conclusion
The birth of a baby document
A miracle of nature
When it doesn’t work, you don’t really know why
When it does work, you really don’t know why
3/19
Classes,
Styles,
Conflicts
Didier Verna
Analogies
Morphological
Functional
GeneT
E
X Material
Infection
Methods
Types
Cures
Vaccines
Anti-viral Agents
Curative Infections
Conclusion
Table of contents
1 Analogies
Morphological
Functional
GeneT
E
X Material
2 Infection
Methods
Types
3 Cures
Vaccines
Anti-viral Agents
Curative Infections
4/19
Classes,
Styles,
Conflicts
Didier Verna
Analogies
Morphological
Functional
GeneT
E
X Material
Infection
Methods
Types
Cures
Vaccines
Anti-viral Agents
Curative Infections
Conclusion
Morphological Analogy
A unicellular eukaryote L
A
T
E
X document
\documentclass{article}
\begin{document}
\end{document}
%% Preamble
%% Body
Nuclear Envelope
Plasma Membrane
6/19
Classes,
Styles,
Conflicts
Didier Verna
Analogies
Morphological
Functional
GeneT
E
X Material
Infection
Methods
Types
Cures
Vaccines
Anti-viral Agents
Curative Infections
Conclusion
Functional Analogy
Genetic vs. programmatic material
mRNADNA
Protein
\def\foo{FOO}
\foo
Typesetting
7/19
Classes,
Styles,
Conflicts
Didier Verna
Analogies
Morphological
Functional
GeneT
E
X Material
Infection
Methods
Types
Cures
Vaccines
Anti-viral Agents
Curative Infections
Conclusion
GeneT
E
X Material
Original genome document class
Viruses styles
Contribute some geneT
E
X material
Need to infect a host
Relatively small compared to their host
T
E
XLive 2009:
2462 styles, 327 LoC (av.)
mamastyle: texshade (14470 LoC)
mimistyle: xq (24535 LoC)
8/19
Classes,
Styles,
Conflicts
Didier Verna
Analogies
Morphological
Functional
GeneT
E
X Material
Infection
Methods
Types
Cures
Vaccines
Anti-viral Agents
Curative Infections
Conclusion
Infection Methods
Exogenic
Majority of viral infections
\usepackage in a document
Endogenic
5 – 8% of our own genetic pool (retro-viruses)
\RequirePackage in a class
T
E
XLive 2009: 95% classes have 4 (av.) endogenic
infections
Endosymbiosis
e.g. mitochondria former prokaryotes
L
A
T
E
X needs more! (DoX Doc, key/value processing)
Stylophages
Style / style infection via \RequirePackage
T
E
XLive 2009: 45% styles infected by 2 (av.) styles
Virophage (Raoult 2008): infects the Mimivirus
10/19
Classes,
Styles,
Conflicts
Didier Verna
Analogies
Morphological
Functional
GeneT
E
X Material
Infection
Methods
Types
Cures
Vaccines
Anti-viral Agents
Curative Infections
Conclusion
Infection Types
Prostyles
GeneT
E
X material incorporated into the host’s
Wide range of effects
e.g. F
i
NK (\InputIfFileExists), Hyperref
\let\@ldfoo\foo\def\foo{...\@ldfoo ...}
\renewcommand etc.
Satellites
Delta virus (HDV) over HBV
DoX, Graphicx etc.
Host-dependent
Rely on the host instead of another virus
e.g. Beamer themes
Cheaters
Competition instead of cooperation
e.g. Umbravirus steals coat protein from Luteovirus
LstBlocks (steals from Verbatim)
11/19
Classes,
Styles,
Conflicts
Didier Verna
Analogies
Morphological
Functional
GeneT
E
X Material
Infection
Methods
Types
Cures
Vaccines
Anti-viral Agents
Curative Infections
Conclusion
Cures
Handling viral infections
Prevention
Vaccines
Anti-viral agents
Prevention in the L
A
T
E
X biotope
by documentation
FiXme: officially supports standard classes and KOMA
Hyperrefs README file
There are too many problems with varioref.
Nobody has time to sort them out. Therefore
this package is now unsupported.
13/19
Classes,
Styles,
Conflicts
Didier Verna
Analogies
Morphological
Functional
GeneT
E
X Material
Infection
Methods
Types
Cures
Vaccines
Anti-viral Agents
Curative Infections
Conclusion
Adaptive Immune Systems I
Adaptive Immunity
Acquisition of defenses against a pathogen
Immunological memory:
history of previously encountered infections
Active immunological memory: long-term
Naturally acquired: mumps, measles etc.
Artificially acquired: vaccines
Adaptive immunity in the L
A
T
E
X biotope
Scenario
1 Class C + style S bug
2 Bug report
3 New version of class C or style S
14/19
Classes,
Styles,
Conflicts
Didier Verna
Analogies
Morphological
Functional
GeneT
E
X Material
Infection
Methods
Types
Cures
Vaccines
Anti-viral Agents
Curative Infections
Conclusion
Adaptive Immune Systems II
New version of C
Acquired immunity
\@ifpackageloaded
T
E
XLive 2009
13% classes have an active immune system against 2
(av.) styles
New version of S
viral tropism
\@ifclassloaded
FiXme: tropism of 8 classes
Note: no \@ifpackageloaded “isotropic style”
15/19
Classes,
Styles,
Conflicts
Didier Verna
Analogies
Morphological
Functional
GeneT
E
X Material
Infection
Methods
Types
Cures
Vaccines
Anti-viral Agents
Curative Infections
Conclusion
Antiviral Agents
In biology
Molecules targeted towards specific infections
Organism not prepared in advance
No immunological memory
In L
A
T
E
X (anti-style agents)
Section 6 of the Hyperref manual!
\makeatletter
\let\saved@bibitem\@bibitem
\makeatother
%% And then l a t e r :
\begin{verbatim}
\begingroup
\makeatletter
\let\@bibitem\saved@bibitem
\nobibliography{database}
\endgroup
16/19
Classes,
Styles,
Conflicts
Didier Verna
Analogies
Morphological
Functional
GeneT
E
X Material
Infection
Methods
Types
Cures
Vaccines
Anti-viral Agents
Curative Infections
Conclusion
Curative Infections
\@ifpackageloaded from styles
T
E
XLive 2009: 8% styles
Minitoc: aware of 30 other packages
LstBlocks: curative style
Anti-viral viruses ?
Mice: natural protection against Friend
Gene Fv1
1992: endogenic retro-viral origin
17/19
Classes,
Styles,
Conflicts
Didier Verna
Analogies
Morphological
Functional
GeneT
E
X Material
Infection
Methods
Types
Cures
Vaccines
Anti-viral Agents
Curative Infections
Conclusion
Conclusion (?)
Drawing bridges between unrelated domains
Behavioral patterns (Cf. Design Patterns)
Probably only scratched the surface
Beyond L
A
T
E
X: M4, Lisp . . .
Too much intercession things are out of control
18/19
Classes,
Styles,
Conflicts
Didier Verna
Analogies
Morphological
Functional
GeneT
E
X Material
Infection
Methods
Types
Cures
Vaccines
Anti-viral Agents
Curative Infections
Conclusion
Questions ?
Please don’t ;-)
The first oncogenic style ever:
Recently discovered in the ventilation system of the Sir
Francis Drake Hotel
First strain
\ProvidesPackage{oncogenic}[2010/06/28 v1.0 TUG Virus]
\expandafter\let%
\csname ver@oncogenic.sty\endcsname\relax
\RequirePackage{oncogenic}
Second strain (after mutation)
\ProvidesPackage{oncogenic}[2010/06/29 v2.0 TUG Virus]
\def\@ifl@aded#1#2{\expandafter\@secondoftwo}
\RequirePackage{oncogenic}
19/19