- Questo topic ha 8 risposte, 2 partecipanti ed è stato aggiornato l'ultima volta 16 anni, 10 mesi fa da
egreg9.
-
CreatoreTopic
-
8 Novembre 2009 alle 17:38 #38867
-
CreatoreTopic
-
AutoreRisposte
-
-
8 Novembre 2009 alle 17:44 #38868::
So che in LaTeX c’è un numero massimo di contatori che si possono inizializzare.
Si può aumentarlo?
Caricando il package musitex in un documento mi avvisa che ha superato il numero consentito di contatori.
Come aggiro il problema?Nella riga subito dopo \documentclass scrivi
`\usepackage{etex}`
Ciao
Enrico
-
8 Novembre 2009 alle 22:22 #38869
-
9 Novembre 2009 alle 8:07 #38870::
Non ho capito come funziona ma qualcosa non va.
Sto preparando delle dispense su LaTeX e volevo far vedere, in appendice, anche alcune particolarità di LaTeX, in particolare stampare un rigo musicale.
Se carico musixtex nel preambolo, come dicevo prima, mi dice che supera il numero di contatori consentito.
Ho seguito il consiglio di Enrico caricando etex come primo package {subito dopo \documentclass), e musixtex come ultimo ma durante la compilazione si lamenta che mancano dei $ e delle {, (questo prima di raggiungere il \begin{music},) che invece non mancano.
Se tolgo i due packages (e, ovviamente le poche righe di “musica”) è tutto a posto.
Che ci sia qualche incompatibilità tra i packages?
Per la cronaca uso TexLive su una Debian
ciao
Ernesto
-
9 Novembre 2009 alle 10:04 #38871::
Non ho capito come funziona ma qualcosa non va.
Sto preparando delle dispense su LaTeX e volevo far vedere, in appendice, anche alcune particolarità di LaTeX, in particolare stampare un rigo musicale.
Se carico musixtex nel preambolo, come dicevo prima, mi dice che supera il numero di contatori consentito.
Ho seguito il consiglio di Enrico caricando etex come primo package {subito dopo \documentclass), e musixtex come ultimo ma durante la compilazione si lamenta che mancano dei $ e delle {, (questo prima di raggiungere il \begin{music},) che invece non mancano.
Se tolgo i due packages (e, ovviamente le poche righe di “musica”) è tutto a posto.
Che ci sia qualche incompatibilità tra i packages?
Per la cronaca uso TexLive su una DebianRiesci a indicare un esempio minimo?
Ciao
Enrico
-
9 Novembre 2009 alle 11:02 #38872::
Credo che più “minimo” di così non si possa: mi scuso per la lunghezza.
`
\documentclass[11pt,draft,a4paper]{scrbook}
\usepackage{etex}
\usepackage{mio}
\usepackage{makeidx}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage[italian]{babel}
\usepackage[dvips]{epsfig}
\usepackage{bm}
\usepackage[mathscr]{eucal}
\usepackage{fancyhdr}
\usepackage[italian]{varioref}
\usepackage{pifont}
\usepackage{graphics}
\usepackage{url,multicol}
\usepackage{indentfirst}
\usepackage{shapepar}
\usepackage{guit}
\usepackage{empheq,xcolor,amsmath}
\usepackage{wrapfig}
\usepackage{colortbl,booktabs,chess}
\usepackage{epigraph,layout}
\usepackage{rotating}
\usepackage{musixtex}
%\usepackage{showidx}%\usepackage{showkeys}
%\definecolor{labelkey}{rgb}{1,0,0}
%testatine
\pagestyle{fancyplain}\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}
\lhead[\fancyplain{}{\bfseries\thepage}]%
{\fancyplain{}{\bfseries\small\rightmark}}
\rhead[\fancyplain{}{\bfseries\small\leftmark}]%
{\fancyplain{}{\bfseries\thepage}}
\cfoot{}
%Per indice analitico
\let\orgtheindex\theindex
\let\orgendtheindex\endtheindex
\def\theindex{%
\def\twocolumn{\begin{multicols}{2}}%
\def\onecolumn{}%
\clearpage
\orgtheindex
}
\def\endtheindex{%
\end{multicols}%
\orgendtheindex
}%
\newcolumntype{G}{>{\columncolor[gray]{0.8}}c}
%\includeonly{prefa,intro,appendice}
\makeindex
%Fine preambolo
\begin{document}
\chapter{Appendice}Per gli appassionati di scacchi
\board{B* * *KR}
{*r* * *B}
{ * * *R*}
{* b p p }
{ *P*k*P*}
{*p* P *p}
{ P *P* P}
{* *N*N* }
\[\showboard\]Per chi ama la musica
\begin{music}
\startextract
\Notes\qu c\cu d\cu e\ccu f\ccu g\ccu h\ccl i\enotes\bar
\Notes\cca j\cca i\cca g\ca f\ca d\qa c\enotes
\endextract
\end{music}\end{document}
`se compilo così come è, si ferma alla riga 74
con questo messaggio d’errore:! You can’t use `\char”64′ after \advance.
\@nextitem …fi \fi \fi \fi \fi \fi \advance \@c
\@ne
l.74 {* *N*N* }
che si riferisce a testo prima [\i] del \begin{music};
se commento solo \usepackage{etex}
mi dice! No room for a new \count .
\ch@ck …\else \errmessage {No room for a new #3}
\fi
l.715 \newcount\s@Niv? ^C! Interruption.
\alloc@ …l \advance \count 1#1\@ne \ch@ck #1#4#2
\allocationnumber \count 1…
l.715 \newcount\s@Nivse commento solo \usepackage{musixtex}
e le righe da \begin{music} in poi,
mi dà correttamente la scacchieraevidentemente c’è qualche conflitto di packages
come posso uscirne?
Ernesto
-
9 Novembre 2009 alle 11:27 #38873::
Credo che più “minimo” di così non si possa: mi scuso per la lunghezza.
Si può.
Penso che il modo di risolvere l’inghippo sia semplicemente di chiamare prima musixtex e poi chess. Probabilmente, poi, ti converrebbe usare uno dei pacchetti più recenti: skak oppure chessboard. La loro sintassi non è compatibile con quella di chess, ma di sicuro sono più affidabili e potenti.
Il pacchetto epsfig non va chiamato per alcun motivo (esiste solo per compatibilità dei vecchi documenti); usa graphicx e non graphics; carica guit per ultimo (perché chiama hyperref). Sei proprio sicuro che ti serva tutta quella serie di pacchetti?
Ciao
Enrico
-
9 Novembre 2009 alle 13:20 #38874::
Grazie a Enrico per i consigli,
Ma perché in alcuni casi è importante l’ordine con cui carico i packages?
Immagino perché ci sono ridefinizioni di comandi o ambienti, ma solo per questo?
e allora perchè non potrei caricare in modo “dinamico” un pacchetto, solo quando mi serve?
Nel mio caso, nel file di esempio il tutto è andato a posto, ma ho scoperto che musixtex mi frega perché ridefinisce \cup (Il simbolo di unione). Se potessi caricarlo, invece che dal preambolo, solo laddove mi serve –una riga, in appendice– sarebbe l’ideale
Ernesto
-
9 Novembre 2009 alle 14:04 #38875::
Grazie a Enrico per i consigli,
Ma perché in alcuni casi è importante l’ordine con cui carico i packages?
Immagino perché ci sono ridefinizioni di comandi o ambienti, ma solo per questo?
e allora perchè non potrei caricare in modo “dinamico” un pacchetto, solo quando mi serve?
Nel mio caso, nel file di esempio il tutto è andato a posto, ma ho scoperto che musixtex mi frega perché ridefinisce \cup (Il simbolo di unione). Se potessi caricarlo, invece che dal preambolo, solo laddove mi serve –una riga, in appendice– sarebbe l’ideale
Ernesto`\let\latexcup\cup
\usepackage{musixtex}
\let\musixcup\cup
\let\cup\latexcup`
Non è buona norma ridefinire comandi comuni, ma l’autore di MusiXTeX ha evidentemente pensato che sarebbe stato difficile trovare il simbolo di unione in un documento con musica.Con il codice proposto, userai \cup al modo solito per l’unione, \musixcup per il comando corrispondente di MusiXTeX; se il simbolo di unione ti serve solo in un punto, puoi non scrivere le ultime due righe e usare \latexcup per l’unione, \cup per la musica. Assicurati comunque che tutti i pacchetti che si occupano di matematica vengano prima di musixtex.
Ciao
Enrico
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.