return 1;
}
+sub _parse_config_option {
+ my $self = shift;
+ my $line = shift;
+
+ $line =~ s/^\s*//;
+ $line =~ s/\s*$//;
+
+ my ($key, $value) = split m/\s*=\s*/, $line, 2;
+
+ if ($key eq 'tag-style') {
+ $self->set_tag_style(split(m/\s+/, $value, 2));
+ }
+}
+
+sub _parse_config_lines {
+ my $self = shift;
+ my $lines = shift;
+
+ my ($comment_start, $comment_end) = ("", "");
+
+ if (ref $self eq 'LaTeXTemplate') {
+ $comment_start = '\s*%';
+ } elsif (ref $self eq 'HTMLTemplate') {
+ $comment_start = '\s*<!--';
+ $comment_end = '>\s*';
+ } else {
+ $comment_start = '\s*\#';
+ }
+
+ my $num_lines = scalar @{ $lines };
+ my $i = 0;
+
+ while ($i < $num_lines) {
+ my $line = $lines->[$i];
+
+ if ($line !~ m/^${comment_start}\s*config\s*:(.*)${comment_end}$/i) {
+ $i++;
+ next;
+ }
+
+ $self->_parse_config_option($1);
+ splice @{ $lines }, $i, 1;
+ $num_lines--;
+ }
+}
+
sub parse {
my $self = $_[0];
local *OUT = $_[1];
my @lines = <IN>;
close(IN);
- return 0 if (!$self->parse_first_line($lines[0]));
+ $self->_parse_config_lines(\@lines);
my $contents = join("", @lines);
<li><a href="dokumentenvorlagen-und-variablen.html#zuordnung_dateinamen">
Zuordnung von Dateinamen zu den Funktionen</a></li>
+ <li><a href="dokumentenvorlagen-und-variablen.html#tag_style">
+ Anfang und Ende der Tags verändern</a></li>
+
<li><a href="dokumentenvorlagen-und-variablen.html#allgemeine_variablen">
Allgemeine Variablen, die in allen Vorlagen vorhanden sind</a><br>
<p>Dies ist eine Auflistung der Standard-Dokumentenvorlagen und aller
zur Bearbeitung verfügbaren Variablen. Eine Variable wird in
einer Vorlage durch ihren Inhalt ersetzt, wenn sie in der Form
- <code><%variablenname%></code> verwendet wird.</p>
+ <code><%variablenname%></code> verwendet wird. Für LaTeX-
+ und HTML-Vorlagen kann man die Form dieser Tags auch
+ <a href="dokumentenvorlagen-und-variablen.html#tag_style">
+ verändern</a>.
+ </p>
<p>Früher wurde hier nur über LaTeX gesprochen. Inzwischen
unterstützt Lx-Office aber auch OpenDocument-Vorlagen. Sofern
zum Inhaltsverzeichnis</a></small><br>
<hr>
+ <h2><a name="tag_style">
+ Anfang und Ende der Tags verändern</a></h2>
+
+ <p>Der Standardstil für Tags sieht vor, dass ein Tag mit dem
+ Kleinerzeichen und einem Prozentzeichen beginnt und mit dem
+ Prozentzeichen und dem Größerzeichen endet,
+ beispielsweise <code><%customer%></code>. Da diese Form aber
+ z.B. in LaTeX zu Problemen führen kann, weil das Prozentzeichen
+ dort Kommentare einleitet, kann pro HTML- oder
+ LaTeX-Dokumentenvorlage der Stil umgestellt werden.</p>
+
+ <p>Dazu werden in die Datei Zeilen geschrieben, die mit dem für
+ das Format gültigen Kommentarzeichen anfangen,
+ dann <code>config:</code> enthalten, die entsprechende Option setzen
+ und bei HTML-Dokumentenvorlagen mit dem Kommentarendzeichen
+ enden. Beispiel für LaTeX:</p>
+
+ <p><code>% config: tag-style=($ $)</code></p>
+
+ <p>Dies würde Lx-Office dazu veranlassen, Variablen zu ersetzen,
+ wenn sie wie folgt aussehen: <code>($customer$)</code>. Das
+ äquivalente Beispiel für HTML-Dokumentenvorlagen sieht so
+ aus:</p>
+
+ <p><code><!-- config: tag-stye=($ $)></code></p>
+
+ <small><a href="dokumentenvorlagen-und-variablen.html#inhaltsverzeichnis">
+ zum Inhaltsverzeichnis</a></small><br>
+ <hr>
+
<h2><a name="zuordnung_dateinamen">
Zuordnung von den Dateinamen zu den Funktionen</a></h2>