PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Anzahl der mathematischen Alphabete erhöhen



ellocco
24-06-2010, 09:03
Hallo,

weiß jemand, wie sich die Anzahl ladbarer
mathematischer Alphabete erhöhen läßt?
Ich möchte gerne die Schrift Utopia verwenden
und erhalte folgende Meldung:

LaTeX Error: Too many math alphabets used in version normal.
In der UK-Faq wird folgender Workaround vorgeschlagen:

\newcommand\hmmax{0} % default 3
\newcommand\bmmax{0} % default 4
\usepackage{bm}
Der hilft aber auch nicht immer.
Auch das Paket "isomath" macht einen Vorschlag, um das
Problem zu entschärfen: es wird ein Alias anstelle eines
neuen Alphabetes benutzt.

Eleganter wäre jedoch die Anzahl ladbarer mathematischer Alphabete
zu erhöhen.

Ich habe auch das Paket "etex" ausprobiert, aber es hat nicht geklappt.

Grüße

ellocco

cookie170
24-06-2010, 10:13
Mach ein lauffähiges, kleines Beispiel, bei dem der Fehler auftritt.

ellocco
01-10-2010, 09:45
Ein Minimalbeispiel macht wenig Sinn, bei meinem Dokument trat der Fehler
auch erst ab Seite 90 auf. Nach meinem Kenntnisstand können nur 16
mathematische Alphabete in einem Dokument verwendet werden, von diesen
16 benötigt LaTeX ohne zusätzliche Alphabete bereits um die 10. Da bleibt
wenig Spielraum. Die Frage bleibt: Gibt es eine Möglichkeit die Anzahl der
mathematischen Alphabete zu erhöhen?
Alse einen Workaround habe ich den Trick gefunden, mit Textalphabeten
in Formeln zu arbeiten. Benötige ich ein Zeichen aus einem fremden
Zeichensatz, dann definiere ich kein neues mathematisches Alphabet,
sondern definiere die einzelnen Zeichen als Textbuchstaben. Hier ein paar Beispiele:


...
\usepackage{amsmath} % a lot math stuff, i.a. \subarry, \text
...
%%% ----- definitions: ----------------------------------------------------------------------------
%%% ----- single letters: common for math and text enviroment -------------------------------------
%% --- Euler Fonts cmsy ---
\newcommand{\CFNTcmsy}{\text{\usefont{OMS}{cmsy}{m }{n}\symbol{67}}} % caligraphy C
%% --- Euler Fonts eur ---
% \newcommand{\OmegaFNTeur}{\text{\usefont{OT1}{eur} {m}{n}\symbol{10}}} % Upright Omega
\newcommand{\OmegaFNTeur}{\text{\usefont{OT1}{cmr} {m}{n}\symbol{10}}} % Upright Omega
%% --- Font msb ---
\newcommand{\UFNTmsbm}{\text{\usefont{U}{msb}{m}{n }\symbol{85}}} % U Blackboard
%% --- Font pzc ---
\newcommand{\nFNTpzc}{\text{\usefont{OT1}{pzc}{m}{ it}\symbol{110}}} % Letter V in Font rsfs
%% --- Font rsfs ---
\newcommand{\Ursfs}{\text{\usefont{U}{rsfs}{m}{n}\ symbol{85}}} % U against SHE
\newcommand{\Vrsfs}{\text{\usefont{U}{rsfs}{m}{n}\ symbol{86}}} % Letter V in Font rsfs

voss
01-10-2010, 09:57
Ein Minimalbeispiel macht wenig Sinn, bei meinem Dokument trat der Fehler
auch erst ab Seite 90 auf. Nach meinem Kenntnisstand können nur 16
mathematische Alphabete in einem Dokument verwendet werden, von diesen
16 benötigt LaTeX ohne zusätzliche Alphabete bereits um die 10. Da bleibt
wenig Spielraum. Die Frage bleibt: Gibt es eine Möglichkeit die Anzahl der
mathematischen Alphabete zu erhöhen?


Ein Minimalbeispiel lässt sich immer erstellen und macht auch immer Sinn ...
Von deinen 90 Seiten sind nur die relevant, die mathematischen Code aufweisen, also ist jede Menge überflüssig ...

Herbert

ellocco
01-10-2010, 13:45
Die mathematischen Alphabete werden sukzessive in den Speicher bzw.
in das entsprechende Register geladen und auf der entsprechenden Seite
in meinem Dokument wäre das Laden eines weiteres mathematisches
Alphabetes notwendig geworden. Auf der Seite war also kein Fehler,
es sollte eben nur ein weiteres Alphabet zu Verfügung gestellt werden
(es wäre in dem Fall das 17. mathamatische Alphabet gewesen).
Ein Beispiel ist das Alphabet \mathtt, sobald es benutzt wird,
wird ein weiteres Alphabet geladen. Wirds knapp mit den Alphabeten
tut es in diesem Fall auch \text{\texttt{}} und schon ist wieder Luft.
Es handelt sich hier um eine generelle Frage:
Wie lassen sich mehr als 16 mathematische Alphabete in einem Dokument
nutzen?

voss
01-10-2010, 16:57
Die mathematischen Alphabete werden sukzessive in den Speicher bzw.
in das entsprechende Register geladen und auf der entsprechenden Seite
in meinem Dokument wäre das Laden eines weiteres mathematisches
Alphabetes notwendig geworden. Auf der Seite war also kein Fehler,
es sollte eben nur ein weiteres Alphabet zu Verfügung gestellt werden
(es wäre in dem Fall das 17. mathamatische Alphabet gewesen).
Ein Beispiel ist das Alphabet \mathtt, sobald es benutzt wird,
wird ein weiteres Alphabet geladen. Wirds knapp mit den Alphabeten
tut es in diesem Fall auch \text{\texttt{}} und schon ist wieder Luft.
Es handelt sich hier um eine generelle Frage:
Wie lassen sich mehr als 16 mathematische Alphabete in einem Dokument
nutzen?
keiner braucht gleichzeitig 16 Alphabete. Da du dich beharrlich weigerst, ein Minimalbeispiel zu erstellen, gibt es eben keine weitere Hilfe ...

Herbert

ellocco
01-10-2010, 21:20
keiner braucht gleichzeitig 16 Alphabete. Da du dich beharrlich weigerst, ein Minimalbeispiel zu erstellen, gibt es eben keine weitere Hilfe ...

Herbert
Das klingt ja vielversprechend, weist Du einen Trick?
Ich hatte ja bereits die UK-FAQ zitiert und die Lösung aus dem Paket "isomath"
angeführt, wenn niemand 16 Alphabete braucht, wundert es mich, daß sich
andere Gedanken über Workarounds machen.
Ich habe mein Problem mit den zwei Workarounds behoben (einzelne
Buchstaben definieren + Textalphabete in der Matheumgebung verwenden),
aber ich finde es nicht besonders elegant.
Wie ich bereits geschrieben habe, werden von einigen Schriftpaketen
zusätzliche mathematische Alphabete geladen, wenn dann z.B. noch die
Schrift pzc als mathematische Schrift mit folgendem Befehl geladen wird:

\makeatletter
\DeclareMathAlphabet{\mathpzc}{OT1}{pzc}{m}{it}
\makeatother, kann es schnell eng werden.

cookie170
02-10-2010, 21:22
Hallo,

ich habe mal etwas gegoogelt. Es scheint so zu sein, dass Microsoft ein Softwarepatent auf Textverarbeitungssysteme hält mit 16 und mehr Mathematikschriften. Ursprünglich war Word als Mathematiksatz-Programm geplant. Das Patent läuft wohl 2012 wieder aus.

Das LaTeX-3-Projekt wird deswegen erst 2012 sein nächstes Release herausbringen, hab' ich gehört. Deshalb dauert das wahrscheinlich auch alles so lang.

Daher: vergiss es für die nächsten 15 Monate.

Gruß,
Alexander

voss
02-10-2010, 21:47
Das klingt ja vielversprechend, weist Du einen Trick?
Ich hatte ja bereits die UK-FAQ zitiert und die Lösung aus dem Paket "isomath"
angeführt, wenn niemand 16 Alphabete braucht, wundert es mich, daß sich
andere Gedanken über Workarounds machen.


Ich schrieb _gleichzeitig_ ...

Herbert

ellocco
03-10-2010, 12:27
Hallo,

ich habe mal etwas gegoogelt. Es scheint so zu sein, dass Microsoft ein Softwarepatent auf Textverarbeitungssysteme hält mit 16 und mehr Mathematikschriften. Ursprünglich war Word als Mathematiksatz-Programm geplant. Das Patent läuft wohl 2012 wieder aus.

Das LaTeX-3-Projekt wird deswegen erst 2012 sein nächstes Release herausbringen, hab' ich gehört. Deshalb dauert das wahrscheinlich auch alles so lang.

Daher: vergiss es für die nächsten 15 Monate.

Gruß,
Alexander
Wahrscheinlich wird nur Herbert wissen, warum er mir umbedingt eine
Minimalbeispiel aus dem Rücken leiern wollte. Vielen Dank für die Info,
bis dahin arbeite ich mit meinen Workarounds.

Grüße

Stefan

voss
03-10-2010, 13:25
Wahrscheinlich wird nur Herbert wissen, warum er mir umbedingt eine
Minimalbeispiel aus dem Rücken leiern wollte. Vielen Dank für die Info,
bis dahin arbeite ich mit meinen Workarounds.


weil ich dir gezeigt hätte, wie es geht ... :D

Herbert

voss
03-10-2010, 13:28
ich habe mal etwas gegoogelt. Es scheint so zu sein, dass Microsoft ein Softwarepatent auf Textverarbeitungssysteme hält mit 16 und mehr Mathematikschriften. Ursprünglich war Word als Mathematiksatz-Programm geplant. Das Patent läuft wohl 2012 wieder aus.


wo hast du diese Infos her? TeX gibt es länger als Word ...


Das LaTeX-3-Projekt wird deswegen erst 2012 sein nächstes Release herausbringen, hab' ich gehört. Deshalb dauert das wahrscheinlich auch alles so lang.

von LaTex2e wird es wohl gar nichts mehr geben und LaTeX3 gab es noch nie was und wenn, dann steht das in den Sternen ...

Herbert

ellocco
03-10-2010, 21:56
weil ich dir gezeigt hätte, wie es geht ... :D
Herbert
Willst Du damit andeuten, es können weitere mathematische Alphabete
eingebunden werden?
Wenn dem so ist, wozu brauchst Du dann ein Minimalbeispiel?

Schweinebacke
04-10-2010, 07:57
Was verstehst Du an dem Wort gleichzeitig nicht, das Herbert extra noch einmal betont hat? Falls Du der deutschen Sprache nicht mächtig bist: gelyktydig, njëherësh, معا, միաժամանակ, 同時, samanaikaisesti, एक साथ, בו זמנית, simul, al mismo tiempo, одновременно, סיימאַלטייניאַסלי

tral
05-10-2010, 13:21
Hallo,

nicht nur Herbert würde gern ein Minimalbeispiel haben! Auch ich würde es gerne sehen und wäre auch an Herberts Löung interessiert. Und das kann doch nicht so schwer sein, eine kleine Datei, in der als einziges nach und nach die Mathe-Alphabete geladen werden, bis der Fehler auftritt. Du brauchst doch nur den Befehl auf deiner Seite 90 nehmen und nach vorneschieben (dazwischen alles löschen) ...

Ich verstehe dein Problem nicht, ein MB zu erstellen...

Christian.

ellocco
05-10-2010, 16:47
nun hier ist es ...

Das Beispiel empfinde ich an den Haaren herbeigezogen,
es zu fabrizieren hat mich mehr als 40 min gekostet,
aber die Fehlermeldung läßt sich bei mir reproduzieren.

Ich vermute das das Beispiel nicht bei allen ohne Paketnachinstallation
läuft.

In meinem Problemfall habe ich bei weitem nicht so viele
Schriftpakete geladen und die Alphabete \mathscr,
\boldsymbol, \mathsf, \mathbb, \mathtt
verwende ich gar nicht und trotzdem bin ich in meinem
Dokument an die Grenzen gestoßen.

Viel Spaß an tral und andere!

ellocco

cookie170
05-10-2010, 22:43
Ähm, da ist kein MB.

ellocco
07-10-2010, 13:01
Irgendwie ist mein sportlicher Ergeiz erwacht und ich habe mal in den
beiden Dokumentationen source2e.pdf, fntguide.pdf
und in *.sty-Datein herumgestöbert.
Herausgekommen ist die Deklaration einer neuen "Matheversion"
pzcver:

\makeatletter
\DeclareMathVersion{pzcver}
\DeclareMathAlphabet{\mathpzc}{OT1}{pzc}{m}{it}
\SetMathAlphabet{\mathpzc}{pzcver}{OT1}{pzc}{m}{it }
\makeatother


Aber aus irgendeinem Grund reicht das nicht, siehe Anhang.

Eleganter wäre aber, es könnte die Anzahl an Alphabeten in einer
Matheversion z.B. in der Version normal erhöht werden.

voss
08-10-2010, 11:01
Herausgekommen ist die Deklaration einer neuen "Matheversion"
pzcver:

\makeatletter
\DeclareMathVersion{pzcver}
\DeclareMathAlphabet{\mathpzc}{OT1}{pzc}{m}{it}
\SetMathAlphabet{\mathpzc}{pzcver}{OT1}{pzc}{m}{it }
\makeatother
% mathversion{pzcver}



was soll die Anweisung \mathversion{pzc} bereits in der
Präambel? Du wirst doch wohl kaum \mathtt{...} mit dieser Variante
setzen wollen?

Herbert

ellocco
08-10-2010, 14:03
was soll die Anweisung \mathversion{pzc} bereits in der
Präambel? Du wirst doch wohl kaum \mathtt{...} mit dieser Variante
setzen wollen?

Herbert
Nein, in der Tat, das will ich nicht und bei mir wird \mathtt{...} auch nicht
verändert.
Eigentlich würde ich gerne wissen, was der Königsweg ist, wenn ich folgende
Fehlermeldung sehe:

! LaTeX Error: Too many math alphabets used in version normal.
und der Matheversion normal weitere Alphabete spendieren möchte.

Und ich bin mangels besserem Wissen auch noch nie auf die Idee gekommen,
einen Anweisungsblock:

\makeatletter
...
\makeatother

in den Hauptteil meiner LaTeX-Datei zu schreiben. In welchen Situationen
ist das denn ratsam?

ellocco

tral
11-10-2010, 11:25
http://www.minimalbeispiel.de