Hallo!

Ich hatte zwei blockarrays. Als ich dann das eine, jetzt leere, löschte, tat es plötzlich nimmer.

Open in writeLaTeX
! Font \nullfont has only 7 fontdimen parameters.
\BA@place ...n \z@ by\fontdimen 22 \textfont \tw@ 
                                                  \advance \dimen 2 by-\font...
l.46 \end{blockarray}

Wie kann das sein?

Open in writeLaTeX
\documentclass[12pt,a4paper,twoside]{report}
\usepackage{blkarray}

\renewcommand*{\familydefault}{\sfdefault}
\begin{document}

%%%%%%%%%%%%%%%%%%%%%%
% WENN ICH DAS RAUSNEHME TUT ES NICHT MEHR!!!!???!!!
\begin{blockarray}{}
\end{blockarray}
%%%%%%%%%%%%%%%%%%%%%%

\begin{blockarray}{*{2}{>{\bf}l} l} %oder: {*{3}{>{\bf}l}}
\BAhhline{---}
Anwendung & Betriebssystem & Version \\
\BAhhline{---}
\begin{block}{ll\}\BAmultirow{5em}}
Fileservice & Linux & Debian\\
Backup      & Linux &  \relax \\
Mail            & Linux &  \relax \\
\end{block}
\begin{block}{ll\}\BAmultirow{5em}}
Datenbanken     & Linux & Red Hat\\
DHCP / DNS      & Linux &  \relax \\
\end{block}
\begin{block}{lll}
LDAP / Domaincontroller & Windows   & Server 2008\\
\end{block}
\BAhhline{---}
Eventuelle & Zusatzangaben & Hauptblock
\end{blockarray}

\end{document}

gefragt 14 Okt '14, 16:06

cis's gravatar image

cis
9.5k95459491
Akzeptiert-Rate: 29%

bearbeitet 14 Okt '14, 17:46

gast3's gravatar image

gast3
(ausgesetzt)

Bist du auf das Paket angewiesen? Momentan sieht das noch nach einer simplen Tabelle aus. Und wenn David seit 15 Jahren ein Warning in der Paket-Doku stehen lässt, dann hat das bestimmt einen Grund.

(14 Okt '14, 16:49) Johannes

Das Paket gefällt mir halt - bloß tut es ständig nie. Das ist bestimmt nur ein kleiner Fehler.

(14 Okt '14, 17:21) cis

Ja diese Warnung hatte ich schon auch gesehen, aber das kann mich natürlich keineswegs aufhalten. :()

(14 Okt '14, 18:45) cis

Die Fehlermeldung deutet darauf hin, dass versucht wird, auf einen fontdimen-Parameter eines Mathefonts zuzugreifen, der noch gar nicht geladen wurde. Man muss dazu wissen, dass die tfm-Dateien eines Fonts bei LaTeX seit NFSS2, also letztlich seit LaTeX2e, erst geladen werden, wenn die Fonts das erste Mal verwendet werden. Vorher, also bei LaTeX 2.09, war das AFAIK noch anders. Dort wurden Fonts direkt über \font-Anweisungen im Format bzw. in der Dokumentpräambel geladen. Daher kann es solche Probleme mit alten LaTeX-2.09-Stilen geben, die mit dem heutigen LaTeX verwendet werden. Wenn wir uns blkarray einmal ein wenig anschauen, dann erkennen wir leicht, dass es sich dabei genau um einen LaTeX-2.09-Stil und eben nicht um ein LaTeX-Paket handelt. Zwischen der Version von 1992 (vor LaTeX2e) und der Version von 1999 wurde lediglich die E-Mail-Adresse geändert. Es wurde kein echtes LaTeX-Paket daraus gemacht.

Wie kann man nun aber dafür sorgen, dass der Mathefont vor dem Zugriff tatsächlich geladen wird? Man könnte natürlich vor der blockarray-Umgebung kurz in den Mathemodus schalten. Allerdings hat das normalerweise auch eine Auswirkung auf den Satz. Es gibt aber einen Trick: Lediglich eine Box mit mathematischem Inhalt definieren, ohne diese zu verwenden. Dafür bietet sich das temporäre Box-Register \@tempboxa an, das LaTeX intern ebenfalls verwendet. Damit dieses verwendet werden kann, muss es lediglich an unkritischer Stelle verwendet werden. Das ist hier der Fall:

Open in writeLaTeX
\documentclass[12pt,a4paper,twoside]{report}
\usepackage{blkarray}% Veralteten, experimentellen LaTeX-2.09-Stil als Paket laden.
\renewcommand*{\familydefault}{\sfdefault}
\makeatletter
% Am Anfang des Dokuments die Mathefonts laden:
\AtBeginDocument{\sbox\@tempboxa{$\null$}}
\makeatother
\begin{document}
\begin{blockarray}{*{2}{>{\bfseries}l}l} %oder: {*{3}{>{\bf}l}}
\BAhhline{---}
Anwendung & Betriebssystem & Version \\
\BAhhline{---}
\begin{block}{ll\}\BAmultirow{5em}}
Fileservice & Linux & Debian\\
Backup      & Linux &  \relax \\
Mail            & Linux &  \relax \\
\end{block}
\begin{block}{ll\}\BAmultirow{5em}}
Datenbanken     & Linux & Red Hat\\
DHCP / DNS      & Linux &  \relax \\
\end{block}
\begin{block}{lll}
LDAP / Domaincontroller & Windows   & Server 2008\\
\end{block}
\BAhhline{---}
Eventuelle & Zusatzangaben & Hauptblock
\end{blockarray}

\end{document}

Das Paket greift allerdings auch fest auf \textfont 2 (in Form von \textfont\tw@) zu. Ob das bei Verwendung von NFSS2 noch immer die korrekte Wahl ist, kann ich nicht sagen, ohne mich wirklich tief mit dem Code des Pakets auseinander zu setzen. Es könnte sein, dass dies nur bei LaTeX 2.09 die korrekte Methode war und man heute eigentlich anders vorgehen sollte.

Eventuell könnte man David darum bitten, den Stil zu einem modernen LaTeX2e-Paket weiterzuentwickeln, das solche Probleme nicht hat. Es kann aber auch leicht sein, dass er dann antwortet, man solle lieber mit existierenden alternativen Lösungen arbeiten.

Permanenter link

beantwortet 14 Okt '14, 17:38

gast3's gravatar image

gast3
(ausgesetzt)
Akzeptiert-Rate: 53%

bearbeitet 14 Okt '14, 17:57

Achso, jetzt weiß ich auch, wieso es plötzlich tut, wenn man alles in den Mathemodus setzt. Ja, man könnte ihn mal fragen - das Paket läßt sich einfach bedienen. Nur weiß ich nicht, ob es sich bei manchen seltsamen Sachen (z.B. komische Abstände usw.) um falsche Bedienung oder um nicht behobene Fehler des "Paketes" handelt.

(14 Okt '14, 17:59) cis

Also @DavidCarlisle schrieb zur Frage nach Updates "well in the end we just get @JosephWright to implement it in LaTeX3" - leider verstehe ich die Aussage nicht 100%ig.

(14 Okt '14, 18:19) cis

@cis Ich glaube nicht, dass die Aussage ganz ernst gemeint war. Aber vielleicht wird ja Joseph wirklich irgendwann an einer hauseigenen Implementierung für LaTeX3 arbeiten. Das kann aber dauern.

(14 Okt '14, 18:29) Johannes

Aha, also so für den simplen Mathe-Matrix-Kram scheint es wohl hinreichend zu funktionieren, wie dieses Beispiel zeigt, sonst ist es wohl mit Vorsicht zu genießen.

(14 Okt '14, 18:33) cis

Aja, und jetzt nur nochmal zum Verständnis: Was heißt das dann für das Paket blkarray?

(14 Okt '14, 18:52) cis

@cis: Es heißt IMHO, dass es experimentell und zugleich veraltet bleibt und eher keine überarbeite Version und keine Version 1.0 davon geben wird. Ob David noch einmal irgendwann (einige) bekannte Fehler beseitigen wird, ist damit nicht gesagt. Rechnen würde ich aber nicht damit. Trotzdem würde ich Fehler weiterhin melden, wenn ich den Stil als Paket verwenden würde. Ich würde es jedoch nicht verwenden, weil ich grundsätzlich keine unangepassten LaTeX-2.09-Stile mehr verwende. Was es für Dich heißt, musst Du natürlich selbst entscheiden.

(14 Okt '14, 19:09) gast3

@Johannes: Ich denke eher, dass Joseph (oder wer auch immer) einen weitgehend neuen Weg für Tabellen in LaTeX3 gehen wird. Dabei werden dann Ideen aus diversen Paketen einfließen, so vielleicht auch aus blkarray. Das Benutzerinterface wird aber kaum auch nur annähernd kompatibel sein.

(14 Okt '14, 19:18) gast3

@Ijon Ich meinte eher die Funktionalität des Gruppierens. Im TeX.SX chat sieht man auch immer mehr L3 code. Genau wie hier. Ich sollte mich damit endlich mal näher beschäftigen. Ich will ja auf dem laufenden bleiben ;-)

(15 Okt '14, 09:37) Johannes
(16 Okt '14, 15:41) Johannes

Oh, irgendwie hat er mir etwas gebastelt, kann ich mich dessen auch würdig erweisen? Schätzungsweise hat er den Bug von hier gefixt, nachdem ich ihn darauf hinwies.

Also wenn D.C. das Paket modernisiert oder wie man das dann eben nennen darf, spendiere ich ihm einen Kuchen; er wird ja sicher mal auf so einem weltweiten Treffen (falls es sowas gibt) zugegen sein ;)

(16 Okt '14, 15:51) cis
Ergebnis 5 von 10 show 5 more comments

Also laut Chat hat David Carlisle dieses Problem hier

https://code.google.com/p/dpctex/source/detail?r=93

gefixt. Was er da genau alles gemacht hat, kann ich aber gerade nicht sagen.

Permanenter link

beantwortet 16 Okt '14, 16:03

cis's gravatar image

cis
9.5k95459491
Akzeptiert-Rate: 29%

Du brauchst doch auf der von Dir verlinkten Seite nur auf Diff zu klicken um zu sehen, was sich gegenüber der vorhergehenden Version geändert hat.

(16 Okt '14, 16:21) esdd

Achso, ja irgendwie lädt die Seite ziemlich lange - ich konnte noch nicht alles checken. Mich würde mal interessieren - bedarf es auch noch weiterer Updates? Also ich meine wegen LaTeX2e oder ~3 oder so? Also das die "Warnung" auf Seite 1 nimmer nötig ist. Weiß man wahrscheinlich nicht alles.

(16 Okt '14, 16:26) cis

Die Email hat sich geändert und noch genau eine Zeile. Nicht sehr spannend. Schreibt er ja selbst. Auf LaTeX3 kann man nicht mal eben updaten. Da muss man komplett from scratch anfangen.

(16 Okt '14, 16:28) Johannes

Aha - na das, LaTeX3, wird doch abwärtskompatibel sein. Muß ich dann eine komplett neue Sytax lernen oder wie? Hoffe doch mal nicht; bin mit der aktuellen gut ausgelastet.

(16 Okt '14, 16:30) cis

Das Userinterface bleibt bestehen, auf Paketebene sieht das aber ganz anders aus. Schauu doch mal in die Paketdateien von siunitx oder von @Clemens Paketen (chemmacros und co.).

(16 Okt '14, 16:43) Johannes

Aja, habe ich mir angeschaut, sehr klammerrig alles. Ähm, was mich egtl. interessiert hätte, ob möglicherweise irgendwann eine blkarray-Version kommt, die man bedenkenlos verwenden und weiterempfehlen kann (dafür gibt es ja dann wie gesagt auch einen Kuchen ;) ).

(16 Okt '14, 18:20) cis

@cis Ich glaub da musst du David fragen. Eventuell kümmert sich ja wirklich irgendwann mal einer vom L3 Team um eine neue Implementierung. Versprechen wird dir aber keiner was.

(16 Okt '14, 18:36) Johannes

Ja, ich versuche ja schon alles. Bestechung, Lobpreisung,... Das ist halt, wenn da so eine Warnung am Anfang steht, schreckt das viele ab. Weniger Verwender heißt auch wenige Fehlerreports.

(16 Okt '14, 19:11) cis
2

Kleines Update des Pakets, das box0 Geschehen wurde angepasst und damit auch die Kompatibilität mit amsmath. In den nächsten Tagen sollte das Update auf CTAN und damit auch bald den gängigen TeX Distributionen verfügbar sein.

Vorab schon der Paketcode: https://code.google.com/p/dpctex/source/detail?r=95

(27 Feb '15, 22:27) Johannes
Ergebnis 5 von 9 show 4 more comments
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×128
×1

gestellte Frage: 14 Okt '14, 16:06

Frage wurde gesehen: 8,636 Mal

zuletzt geändert: 27 Feb '15, 22:27