Risposte nei forum create
-
AutoreRisposte
-
::
L’esempio che mi hai indicato e che ho ripetuto con altre scelte di font e in diversi altri contesti funziona benissimo. Invece in un documento che si compone benissimo con pdflatex con xelatex fa i capricci, nel senso che la sillabazione sembra corretta dovunque, ma non nelle parole composte contenti l’elisione.
Ne deduco che commetto qualche errore che mi sfugge, evidentemente, perché fino a prova contraria i programmi generano processi causali, non casuali 😀
Senza vedere l’esempio non posso darti pareri.
Per quanto riguarda la discarisa fra l’apostrofo diritto e l’apostrofo curvo, sono d’accordo che il primo non dovrebbe venire usato, ma non userei nemmeno la virgolette semplice alta chiusa al posto dell’apostrofo e “2019 è un virgoletta semplice alta chiusa.
In Unicode non esiste un carattere separato per l’apostrofo. Esiste solo l’apostrofo ASCII che la maggior parte dei font rende con una forma inaccettabile come apostrofo. C’è “MODIFIER LETTER APOSTROPHE”, ma serve per i caratteri come “ď” e “ť” del ceco e “ľ” dello slovacco.
Che poi ci sia una discrasia fra i font di impostazione e dei pattern e il file di descrizione della lingua italiana per XeLaTeX è un fatto; non sono sicurissimo che \lccode”2019=”0027 funzioni o serva a rimediare. Sta di fatto che se le sillabazioni sono corrette dopo il maquillage prodotto da Ligatures=TeX, dipende dal fatto che il pattern virtuale 0^^^^20190 è implicito e quindi la virgoletta semplice alta chiusa è considerata come un carattere prima del quale non si può dividere e dopo del quale (essendoci una vocale) non si può dividere. Cioè funziona senza che la cosa sia stata prevista.
No, le regole di Knuth, che valgono anche per XeTeX dicono che
• una lettera con \lccode nullo interrompe il procedimento di sillabazione;
• i pattern vengono esaminati convertendo i caratteri tramite \lccode.Perciò dare \lccode”2019=”27 avrebbe esattamente l’effetto voluto di considerare il carattere U+2019 come U+0027 ai fini della sillabazione (meglio, del confronto delle sottoparole con i pattern memorizzati). Con “Ligatures=TeX”, XeTeX vede il carattere U+2019 ogni volta che gli viene propinato U+0027; ma non è un problema, appunto perché \lccode”2019 non è zero; se fosse U+0027 si userebbero i pattern che comprendono l’apostrofo ASCII.
Nei tempi “antichi” era stato proposto un metodo per sillabare correttamente due lingue contemporaneamente: erano inglese e tedesco. I pattern per il tedesco erano tutti in lettere maiuscole, quelli per l’inglese in minuscolo, tutti in un unico file; il passaggio dall’una all’altra lingua avveniva cambiando tutti i valori di \lccode: nei tratti in tedesco quindi la sillabazione di “Aktion” veniva calcolata cercando le sottoparole di “AKTION”. Naturalmente il metodo aveva pesanti limitazioni, perché non permetteva di usare \lowercase e \uppercase per scopi tipografici. Ricordo un articolo al riguardo, ma non sono capace di trovarlo.
Penso che sottoporrò la modifica del valore di \lccode”2019 a Charette.
Ciao
Enrico
::No. Le figure affiancate dovrebbero essere non troppo diverse l’una dall’altra per altezza.
Ciao
EnricoGrazie Enrico,
hai da consigliari un approccio differente per risolvere il problema?Dipende molto dalle dimensioni relative dei due oggetti. Ma se uno è molto più basso dell’altro, vai incontro a problemi in ogni caso, con \subfloat: o le didascalie sono sfalsate oppure una è troppo distante dalla figura o, ancora, le due didascalie sono alla stessa altezza, non distanti dalla loro figura, che però ha un orrido salto.
Metti due figure e vivi contento lo stesso.
Ciao
Enrico
::Ciao ancora,
ho il seguente pezzo di codice:
`\begin{figure}%
\centering
\subfloat[][Presenza billetta in FIFO]{\input{flowchart/flowfifoplus}}%
%\qquad
\subfloat[][Inserimento billetta in FIFO]{\input{flowchart/flowfifoplusinsert}}%
\caption{gestione FIFO}%
\label{fig:gestionefifo}%
\end{figure}`che mi inserisce due flowchart affiancati in una tabella. Il primo, quello a sinistra, è molto più corto del secondo. Il risultato antiestetico è che mi vengono allineati entrambi in basso.
Vorrei centrare il primo o al limite fare un allineamento in alto.
Secondo voi è giusto il tipo di approccio che sto utilizzando?No. Le figure affiancate dovrebbero essere non troppo diverse l’una dall’altra per altezza.
Ciao
Enrico
::Aggiungi
`\usepackage{etex}`
subito dopo la riga di \documentclass.Ciao
EnricoCiao e grazie per la rapidissima risposta nonchè soluzione.
Mi spiegheresti in due parole cosa abbiamo fatto? Ora cerco anche io informazioni sul pacchetto che mi hai fatto aggiungere.Pstricks è particolarmente avido di risorse ed esaurisce quasi i registri disponibili. Il pacchetto etex abilita quelli aggiuntivi.
Ciao
Enrico
::Ciao ragazzi,
nel mio documento non riesco ad utilizzare il pacchetto subfig. Ogni volta che nel preambolo metto la sua dichiarazione ricevo il seguente errore:
no room for a new \dim
e non capisco davvero cosa sia… mi scuso anticipatamente se il problema è di facile risoluzione, ma di solito io utilizzo questo documento standard per la mia documentazione senza fare mai tante modifiche, non sono un esperto.
Allego il mio preambolo
`
%\documentclass[12pt,a4paper,draft]{book}
%\documentclass[12pt,a4paper]{report}
\documentclass[12pt,a4paper,draft]{report}
% %gestione colore in tabella
% \usepackage{colortbl}\usepackage[italian]{babel}
%\usepackage[latin1]{inputenc}
%\usepackage[T1]{fontenc}
\usepackage[table]{xcolor}\usepackage{tikz}
\usetikzlibrary{decorations.pathmorphing}
\usepackage{grafcet}
%per bordi in tabelle
\usepackage{booktabs}
%personalizzazione elenchi
\usepackage{enumitem}
\usepackage{floatflt}
\usepackage{amssymb}
%Simboli, tra cui il fronte di salita
\usepackage[electronic]{ifsym}
%Rientro prima riga
\usepackage{indentfirst}
%Rotazione tabelle e figure
\usepackage{rotating}\usepackage{tabularx}
\usepackage{array}\usepackage{amsmath,amssymb}
%Creazione schema comunicazione
\usepackage{pstricks}
\usepackage{pst-node}
\usepackage{multido}
%fine\usepackage{graphicx}
\usepackage{subfig}\usepackage{varioref}
%\usepackage[colorlinks]{hyperref}
\usepackage[colorinlistoftodos]{todonotes}%capoversi capitoli
\usepackage{lettrine}%flowchart
\usepackage{pst-blur}%immagine di sfondo
\usepackage{eso-pic}
\newcommand\BackgroundPic{
\put(0,0){
\parbox[\paperheight]{\paperwidth}{%
\vfill
\centering
\includegraphics[width=\paperwidth,height=\paperheight,
keepaspectratio]{./immagini/filigrana.eps}%
\vfill
}}}
%fine%Formato impaginazione (scritte sulle pagine)
\usepackage{fancyhdr}
\pagestyle{fancy}
`Aggiungi
`\usepackage{etex}`
subito dopo la riga di \documentclass.Ciao
Enrico
::Senonché il file che descrive la lingua italiana a xelatex, oltre a riferirsi ad un diverso modello tratto da quello per babel, ma frse un modello troppo scarne, commette un grave errore: imposta il codice di “minuscola” alla “virgoletta chiusa alta semplice” (codice Unicode esadecimale “2019”) invece che all’apostrofo (codice Unicode esadecimale “0027).
Torno sulla questione. L’apostrofo “ASCII”, cioè U+0027 non va usato in alcun caso con XeTeX, perché i font hanno in quella posizione il carattere “diritto” e non il vero apostrofo. Tuttavia, se si passa alla specifica per fontspec l’opzione “Ligatures=TeX” (che con le vecchie versioni di fontspec era “Mapping=tex-text”), il carattere U+0027 viene trasformato senza alcun intervento dell’utente in U+2019. Quindi un input come
`un'operazione`
diventa equivalente a
`un’operazione`
(nel primo c’è l’apostrofo ASCII U+0027, nel secondo c’è U+2019).
Il carattere visto da XeTeX quando si tratta di provare la sillabazione è quello dopo la trasformazione e quindi a questo occorre dare un \lccode diverso da 0. È ragionevole però fare diversamente da come agisce al momento polyglossia, che assegna
`\lccode”2019=”2019`
Probabilmente è meglio
`\lccode”2019=”0027`
per usare più correttamente i pattern di sillabazione. Ma, come hai visto con l’esempio, il problema non è così importante.Ciao
Enrico
::Ho trovato la prima magagna vera, non una cosetta che dipende dalla mia scarsa preparazione con xelatex.
Qunaod si lavora con pdflatex il programma esegue correttamente la sillabazione delle parole che contengono l’apostrofo, come è raccontato anche nell’apposita appendice dell’Introduzione.
Questo fatto discende dall’aver impostato l’apostrofo, che non è una lettera, in modo che abbia associato un codice di “minuscla” diverso da zero e pari al suo codice di carattere.
Con xetex e xelatex la sillabazione è impostata nella stessa maiera, nel senso che vengono usati gli stessi file di pattern e gli stessi file di impostazioni per le varie lingue.
Senonché il file che descrive la lingua italiana a xelatex, oltre a riferirsi ad un diverso modello tratto da quello per babel, ma frse un modello troppo scarne, commette un grave errore: imposta il codice di “minuscola” alla “virgoletta chiusa alta semplice” (codice Unicode esadecimale “2019”) invece che all’apostrofo (codice Unicode esadecimale “0027).
Questo errore può sembrare trascurabile, ma impedisce la sillabazione delle numerose parole legate ad un articolo o a una preposizione articolata che ha subito l’elisione.
Per aggirare questo problema ci sono alcuni sporchi trucchi, che io stesso mi rifiuterei di usare.
Ho già segnalato il fatto alla commissione per le lingue, ma non so che effetto ne sortirà.
Se vai a pagina 4 del documento, versione di oggi, vedrai la sillabazione “un’opera-zione”. Nessuno sporco trucco.
Ti segnalo che il comando \showhyphens non funziona con XeTeX, per motivi piuttosto profondi. Puoi provare il seguente documento
`\documentclass[a4paper]{article}
\usepackage{fontspec}
\usepackage{polyglossia}
\setmainlanguage{italian}
\usepackage{xltxtra}
\begin{document}
\showhyphens{un'operazione, dell'amicizia}
\end{document}`
Nel log otterrai
`*********************** \showhyphens: ***********************Underfull \hbox (badness 10000) detected at line 7
\EU1/lmr/m/n/10 un’o-pe-ra-zio-neUnderfull \hbox (badness 10000) detected at line 7
\EU1/lmr/m/n/10 del-l’a-mi-ci-zia*************************************************************`
Il pacchetto xltxtra ridefinisce \showhyphens, in modo che funzioni, ma a differenza dell’originale, prende come argomento una lista di parole separate dalla virgola.Segnalo inoltre che con polyglossia e la lingua italiana non sono più disponibili i comandi abbreviati introdotti dal doppio apice né i comandi per inserire le unità di misura, i pedici e gli apici. Non so se segnalare questo fatto che a me disturberebbe non poco, ma che apparentemente non disturba affatto gli altri utenti italiani del sistema TeX, i quali per lo più non fanno uso né di quelle scorciatoie né di quei comandi, anche se nella composizione tradizionale con LaTeX e pdfLaTeX funzionano ancora benissimo.
Questo si può aggiungere. In realtà, ma credo di averlo già scritto, non sono molto d’accordo su questo tipo di aggiunte che non hanno veramente a che fare con babel. Opinioni, si intende.
::
Nuova versione dell’Introduzione a XeLaTeX; sono state apportate numerose correzioni stilistiche, c’è una diversa discussione del fondamentale problema del nome 🙂 e anche le tabelle finali dovrebbero essere corrette.Grazie a tutti quanti si sono prodigati di consigli.
Ciao
Enrico
::Mi date un consiglio sull’uso dell’ambiente quotation? Devo citare alcuni capoversi (in francese) di un articolo, all’interno della mia tesi (uso classic thesis).
– Ci vanno le virgolette all’inizio e alla fine della citazione?
– E’ meglio usare il font normale o il corsivo?
– E’ meglio usare una dimensione del carattere un po’ piu’ piccola o lasciare quella del resto del corpo?
Ho fatto un po’ di prove, ma non so decidere…vorrei evitare di fare un obbrobrio dal punto di vista stilistico, quindi mi affido ai vostri consigli. 🙄
Grazie!Come dice OldClaudio, niente virgolette iniziali e finali; eviterei anche il corsivo: la citazione è già messa in evidenza dalle rientranze. Il corpo ridotto è un espediente assai usato.
Il bello di LaTeX è che puoi modificare la resa tipografica in un solo colpo:
`\newenvironment{myquotation}
{\begin{quotation}}
{\end{quotation}}`
è il punto di partenza. Scrivi le tue citazioni nell’ambiente myquotation (o come preferisci chiamarlo) e poi sperimenta le varie soluzioni cambiandone la definizione.Il vero LaTeX-macho modificherebbe la definizione di quotation direttamente, ma per il principiante è meglio cominciare con il facile.
Ciao
Enrico
21 Dicembre 2010 alle 0:19 in risposta a: program.2 has been referenced but does not exist!!! Ufffffff #53876::Allora, ho fatto mille prove ed ho scoperto cosa porta all’errore anche se non conosco il motivo profondo….
Il listato`\documentclass[12pt,pdftex,oneside]{scrbook}
\usepackage{hyperref}
\usepackage{verbatim}
%\usepackage{classicthesis-ldpkg}
\usepackage[italian]{babel}
\usepackage[T1]{fontenc}
\usepackage{float}
\usepackage[utf8x]{inputenc}\floatstyle{ruled}
\newfloat{program}{hp}{lop}
\floatname{program}{Programma}\begin{document}
\begin{program}[!h] \small
\begin{verbatim}#include
int main()
{
printf(“Hello C.\n”);
return 0;
}
\end{verbatim}
\caption{Hello C.}
\end{program}I puntatori sono essenzialmente dei dati contenenti indirizzi di memoria;
poiché l'indirizzamento della memoria richiede una stessa quantità di byte
relativamente ad ogni possibile dato associato,
i puntatori hanno medesima ampiezza qualunque sia il dato associato;
verificheremo questo nel programma
numero~\ref{prog-ampiezza-puntatori}
a pagina~\pageref{prog-ampiezza-puntatori}
grazie alla funzione \verb+sizeof()+
che restituisce il numero di byte di memoria occupati da un tipo di dato, sia esso fondamentale o derivato.\newpage
\begin{program}[!ht] \small
\begin{verbatim}#include
int main()
{
printf(“La dimensione di int è %d, di puntatori ad int %d;\n”,
sizeof(int), sizeof(int *));printf(“La dimensione di char è %d, di puntatori a char %d;\n”,
sizeof(char), sizeof(char *));printf(“La dimensione di float è %d, di puntatori a float %d;\n”,
sizeof(float), sizeof(float *));printf(“La dimensione di double è %d, di puntatori a double %d.\n”,
sizeof(double), sizeof(double *));
return 0;
}
\end{verbatim}
\caption{Dimensioni dei tipi in memoria.}
\label{prog-ampiezza-puntatori}
\end{program}\end{document}`
si comporta a dovere… se invece pongo`%\usepackage{hyperref}
\usepackage{verbatim}
\usepackage{classicthesis-ldpkg}`ecco che iniziano gli errori…. mi chiedo come mai classicthesis-ldpkg porti ad erronei collegamenti….Bene, hai scoperto il colpevole dell’inghippo, il pacchetto verbatim. Non usarlo: fancyvrb è enormemente più potente.
Ciao
Enrico
20 Dicembre 2010 alle 16:37 in risposta a: program.2 has been referenced but does not exist!!! Ufffffff #5387420 Dicembre 2010 alle 16:37 in risposta a: program.2 has been referenced but does not exist!!! Ufffffff #5387320 Dicembre 2010 alle 16:07 in risposta a: program.2 has been referenced but does not exist!!! Ufffffff #53871::Enrico, sì, i numeri di pagina riportati nell’indice risultano corretti…. ma qualsivoglia link ipertestuale frutto di hyperref punta verso la pag.1…. lo stesso problema si ha con l’uso di \label e \ref e \pageref…. il problema è lì…
Per inciso grazie comunque per le annotazioni sui vari pacchetti…. ho alleggerito il carico… 🙂No, non solo il riferimento alla pagina è corretto; anche il link mi porta al posto giusto.
Prova a costruire un esempio minimo.
Ciao
Enrico
20 Dicembre 2010 alle 14:27 in risposta a: Utilizzare fontspec ed avere come output un dvi: possibile ? #53893::[quote]Buongiorno a tutti, vorrei semplificarmi la vita nella gestione dei font utilizzando fontspec;
Questo pacchetto, credo che obblighi l’utente a migrare su xetex-> xelatex. Questo motore, a sua volta, costringe l’utente ad abbandonare il dvi.
Necessitando del file dvi in output (devo assolutamente utilizzare dvipng e dvips), è in qualche modo possibile constringere xelatex a generare un dvi oppure utilizzare fontspec all’interno di latex/pdftex ?
No, xetex non può generare un dvi; usa un formato intermedio non troppo diverso, a dire il vero, che si chiama xdv; tuttavia dvipng e dvips non lo digeriscono. Non vedo il motivo di usare dvips: qual è?
Ciao
EnricoPiù che dvips, necessito assolutamente di dvipng. So che è possibile avere immagini anche dai pdf, ma il tool sopra citato restituisce l’output con una rapidità fulminea.
Peccato, volevo semplificarmi la vita nella gestione dei font. Non esiste modo di utilizzare fontspec con latex/pdftex giusto ?[/quote]
La differenza fra dvi e xdv sta in alcuni “opcodes” aggiuntivi (le istruzioni per gestire i font di sistema, immagino). Visto che xdvipdfmx legge il formato xdv, non dovrebbe essere troppo difficile estendere dvipng; ma bisogna ovviamente collegarlo alle librerie di fontconfig e, temo, qualche altra. I sorgenti di xdvipdfmx e di dvipng sono pubblici. 😉Ciao
Enrico
20 Dicembre 2010 alle 13:43 in risposta a: Utilizzare fontspec ed avere come output un dvi: possibile ? #53891::Buongiorno a tutti, vorrei semplificarmi la vita nella gestione dei font utilizzando fontspec;
Questo pacchetto, credo che obblighi l’utente a migrare su xetex-> xelatex. Questo motore, a sua volta, costringe l’utente ad abbandonare il dvi.
Necessitando del file dvi in output (devo assolutamente utilizzare dvipng e dvips), è in qualche modo possibile constringere xelatex a generare un dvi oppure utilizzare fontspec all’interno di latex/pdftex ?
No, xetex non può generare un dvi; usa un formato intermedio non troppo diverso, a dire il vero, che si chiama xdv; tuttavia dvipng e dvips non lo digeriscono. Non vedo il motivo di usare dvips: qual è?
Ciao
Enrico
-
AutoreRisposte