Risposte nei forum create
-
AutoreRisposte
-
29 Marzo 2017 alle 5:45 in risposta a: [RISOLTO] Cambiare il font dei numerini sugli istogrammi #110128::
@robitex, se provi a compilare il tuo codice con xelatex, constati che si compila esattamente come con lualatex…Salvo piccole imperfezioni, percepibili solo da chi ha occhi allenati, se non si usano comandi lua e \directlua, i file compilabili con lualatex sono compilabili anche da xelatex, e viceversa. Ci sono altre differenze. oltre al linguaggio lua, che rendono i due programmi diversi, ma di solito sono utili sono ad utenti molto avanzati. Per esempio lualatex non ha tutte le sillabazioni delle lingue preintallate nel suo formato lualatex.fmt, ma è in grado di leggere i file di sillabazione in real time; xelatex, come d’altra parte anche pdflatex, invece ha bisogno che tutte le lingue siano già preinstallate nel formato. È ovvio che questa, ed altre differenze di questo tipo, sono importanti solo per chi scrive classi o pacchetti, non per l’utente normale che li usa solo per comporre i propri documenti.
Ne caso specifico ha fatto benissimo a specificare a @Doc l’impostazione dei font Libertine con i comandi specifici di xelatex/lualatex, perché @Doc aveva usato i il pacchetto libertine che va bene “solo” per pdflatex, nel senso che usa i font virtuali a 256 caratteri predisposti per pdflatex, impedendo l’accesso alle centinaia di caratteri disponibili con i font OpenType (anche se in qualche modo, usando xelatex o lualatex, sono disponibili comandi per accedere a glifi insoliti — paragrafo 5 della documentazione di libertine.sty).
::
Non sono un appassionato di biblatex, anche se ne riconosco i numerosi vantaggi, ma da quello che scrivi mi sono venute in mente alcune cose.
1) Non pacioccare mai con i file che si trovano nel file …/texlive//texmf-distr/ e alberi affini. Puoi mettere qualcosa di tuo in uno dei due alberi seguenti: a) quello locale radicato in /usr/local/texlive/texmf-local, per accedere al quale devi avere i privilegi di root. In ogni caso richiede l’aggiornamento del database dei nomi dei file ad ogni modifica dei contenuti delle cartelle.
2) nell’albero personale radicato in ~/Library/texmf/ che ha la precedenza assoluta ma che può contenere tutto quello che vuoi senza bisogno di aggiornare il database dei nomi dei file. Devi gestirti da solo questo albero e stare attento a cancellare i file che hai caricato ma che non serovno più.
3) il file natbib_ita.* serve per comporre la bibliografica usandolo come pacchetto, non come opzione a biblatex.
4) l’opzione natbib di biblatex serve solo a configurare biblatex perché crei una certa compatibilità con i comandi definiti dal pacchetto natbib.sty, che non viene usato ma solo parzialmente simulato.Per localizzare in italiano biblatiex ci sono altri metodi descritti nella documentazione di biblatex, ed è per questo che non hai trovato nulla in rete, perché la cosa è già spiegata nella documentazione di biblatex. Io non l’ho mai fatto, perché uso biblatex molto raramente; per giunta scrivo molto in inglese, quindi mi interessa poco scrivere una bibliografia in italiano. Tuttavia le citazioni del tipo autore-anno introdotte d natbib sono perfettamente realizzate anche da biblatex. Se vuoi una gestione delle maiuscole e dell parole infisse in italiano usa le funzinalità di biblatex, documentandoti: apri un terminale, scrivici dentro il comando texdoc biblatex, ed eseguilo premendo il tasto “invio”; sullo schermo ti appare subito al documentazione che hai già nel tuo hard disk, senza bisogno di cercare in rete.
::
Eccolasoluzione del mistero`% !TEX TS-program = pdflatex
% !TEX encoding = UTF-8 Unicode
\documentclass[11pt,a4paper,twoside]{book}
\usepackage[utf8]{inputenc}
\usepackage[greek,english,%arabic,% ++++++++++++ <--- ecco la causa! main=italian,french,german]{babel} \usepackage[LGR,T1]{fontenc} \usepackage{lmodern} \usepackage{amsmath} \usepackage{amssymb} \begin{document} colle frottole del \ensuregreek{\itshape Σωρείτης} -- \foreignlanguage{greek}{\itshape Σωρείτης} \ensuregreek{Πάντα χρήματα ην ομού: είτα νούς ελθών αυτά διεκόσμησεν: παρά και νοις έπεκλήθη} \foreignlanguage{greek}{Πάντα χρήματα ην ομού: είτα νούς ελθών αυτά διεκόσμησεν: παρά και νοις έπεκλήθη} \[ \mathcal{F}(\omega) = \frac{1}{2\pi\mathrm{j}} \int_{-\infty}^{+\infty} f(t)\mathrm{e}^{\mathrm{j}\omega t} \mathop{}\!\mathrm{d}t \] \end{document}` La causa è l'opzione arabic per babel che sovrascive alcune macro del greco. Come vedi tutto ora funziona come previsto dalla documentazione relativa al greco. Sei sicuro di dover scrivere qualcosa in arabo? Se sì, allora devi aggirare l'ostacolo, componendo in arabo singole parole o singole frasi con un documento a se stante; magari puoi usare la classe standalone (leggi textdoc standalone) che ti produce un file pdf scontornato, in mdo che le singole parole o le singole frasi sono come delle figure in formato pdf, che puoi importare in mezzo al testo con \includegraphics.Io ho dovuto farlo nella guida L’Arte di scrivere con (Xe)LaTeX in diverse lingue, perché con l’ultima distribuzione di TeXLive il pacchetto bidi per scrivere sia da sinistra a destra sia da destra a sinistra non funzionava correttamente. Invece il trucchetto che ti ho indicato funziona senza problemi. Bisogna magari aggiustare un poco la posizione verticale lavorando a mano, ma funziona purché non ci sia da andare a capo. Fortunatamente l’arabo non si divide in sillabe ma va a capo solo fra una parola e l’altra, quindi si può provvedere senza ricorrere alla kashida, quel prolungamento grafico dall’ultima lettera di una parola in modo da riempire il resto della riga.
Almeno ora siamo sicuri che le colpe delle tue sventure erano al tastiera non politonica (guarda che polifonico non è la stessa cosa di politonico) e l’opzione arabic per babel.
::
Il seguente EMC funziona senza bisogno di ricorrere alla matematica`% !TEX TS-program = pdflatex
% !TEX encoding = UTF-8 Unicode
\documentclass[11pt,a4paper,twoside]{book}
\usepackage[utf8]{inputenc}
\usepackage[greek,english,arabic,main=italian,french,german]{babel}
\usepackage[LGR,T1]{fontenc}
\usepackage{lmodern}
\usepackage{textalpha}
\usepackage{amsmath}
\usepackage{amssymb}\begin{document}
colle frottole del
\textit{Σωρειτησ} —
\ensuregreek{\itshape Σωρείτης} —
\foreignlanguage{greek}{\itshape Σωρείτης}\textit{Πάντα χρήματα ην ομού: είτα νούς ελθών αυτά διεκόσμησεν: παρά και νοις έπεκλήθη}
\ensuregreek{Πάντα χρήματα ην ομού: είτα νούς ελθών αυτά διεκόσμησεν: παρά και νοις έπεκλήθη}
\foreignlanguage{greek}{Πάντα χρήματα ην ομού: είτα νούς ελθών αυτά διεκόσμησεν: παρά και νοις έπεκλήθη}
\[
\mathcal{F}(\omega) = \frac{1}{2\pi\mathrm{j}} \int_{-\infty}^{+\infty} f(t)\mathrm{e}^{\mathrm{j}\omega t} \mathop{}\!\mathrm{d}t
\]\end{document}`
Nella formula, invece la \omega non viene; perché c’è un errore nella configurazione del greco che si manifesta con questo messaggio durante l’esecuzione del comando \textomega (che in realtà non dovrebbe avere niente a che vedere con la matematica.`LaTeX Font Warning: Font shape `T1/aromega/m/n' undefined
(Font) using `T1/cmr/m/n' instead on input line 25.`Scivo al curatore del modulo per il greco per segnalargli il problema. Intanto tu puoi scrivere in greco senza usare gli accenti matematici, ma scrivedndo davvero in greco. Controlla il driver per la tastiera creca che hai configurato per il tuo Mac: per scrivere con gli accenti hai bisogno del driver Greek – Polytonic, non del driver Greek e basta. Per gli accenti devi cliccare sui tasti marroncini che si manifestano quando premi il tasto “control”; sono tasti morti; prima metti l’accento e poi la tastiera ti mostra gli ulteriori segni che accettano quell’accento e su quelli puoi cliccare.
::
Un esempio minimo compilabile è il seguente`% !TEX TS-program = pdflatex
% !TEX encoding = UTF-8 Unicode
\documentclass[11pt,a4paper,twoside]{book}
\usepackage[utf8]{inputenc}
\usepackage[english,arabic,main=italian,french,german]{babel}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{textalpha}
\usepackage{amsmath}
%\usepackage{amsfonts}
\usepackage{amssymb}\begin{document}
colle frottole del
\textit{Σωρειτησ} —
\ensuregreek{\itshape Σωρείτης} —
\foreignlanguage{greek}{\itshape Σωρείτης}\end{document}`
Come vedi ti ho tolto l’opzione greek da babel; suppongo che to non voglia scrivere se non parole isolate in greco; in ogni cao se rimetti greek, il mio esempio minimo compilabile funziona lo stesso.Ti ho mostrato tre modi diversi per scrivere in greco: avendo specificato fra le opzioni del pacchetto fontenc anche la codiifca LGR, i programma di compilazione conosce anche i font greci con codifica LGR. Senza l’opzione greek il comando \foreignlanguage{greek}{…} non trova le impostazioni per il greco, e compone con regole di sillabazione (caso mai fosse encessaria una cesura in fin di riga) del greco ed usa quele di default, cioè quelle dell’inglese (:evil: 😯 😡 🙁 🙄 )
Il comando \ensuregreek potrebbe servire per scrivere in greco senza specificare la lingua greca a babel; non ricordo che cosa faccia con la sillabazione, ma è possibile che in mancanza di meglio usi la sillabazione della pseudolingua nohyphenation, cioè non dividerebbe in sillabe. Il primo modo di scrivere funziona solo se immetti nel file sorgente il testo in greco; probabilmente sillaba solo con le regole dalla lingua corrente.
Quindi conviene specificare la lingua greca a babel.
Quando dico che non sai scrivere in greco, credo di poterlo affermare (senza offesa) visto che il greco usa sempre una forma della sigma diversa quando questa è la lettera finale di una parola; se usi la tastiera greca del Mac, ottieni la sigma finale col tasto “w”, non con il tasto “s”. Inoltre in greco, anche in quello moderno, tutte le parole hanno almeno l’accento tonico, tranne nei monosillabi. Con il greco moderno politonico e con il greco antico vengono usati anche due tipi di spiriti (aspirazione forte, e aspirazione debole) e la dieresi, tre accenti (grave, acuto e circonflesso) e alcune lettere (alfa, eta, e omega, tutte con o senza diacritici) possono avere una iota scritta sotto.
Siccome tu non hai usato nessun accento pur avendo esemplificato con una parola polisillabica, e non hai usato la sigma finale, mi sento autorizzato a dire che non conosci il greco (almeno non lo conosci a sufficienza). In queste circostanza ha senso eseguire citazioni di parole in greco? Pensaci bene; eventualmente usa la traslitterazione ufficiale latina del greco dove si usano solo le corrispondenze fonetiche, quindi si usano solo le 5 vocali latine al posto delle 7 vocali greche, e si usano th, ph e ch al posto di θ, φ e χ e spesso non si marcano gli accenti.
::
No, @Pas, quello che hai mandato non è un esempiominimo compilabile; Questo è un file completo che comincia con le righe magiche, se le usi, senz’alto comincia con \documentclass e finisce con \end{document}.Vedo inoltre che scrivi male in greco e vedo anche che nonostante sia detto da tutte le parti carichi amsfonts, quando è del tutto inutile perché lo carica amssymb.
Non mescolare mai greco testuale e greco matematico.
Ma non stiamo a sottilizzare; aspetto qualcosa che cominci da \documentclass e finisca con \end{document} e che tu abbia già collaudato in modo tale che sei sicuro che presenti i tuo problema.
Se rileggi i messaggi che scrivi, dopo averli spediti, vedi che i tuoi allegati mancano sempre. Inseirsci l’esempio minimo compilabile come testo, non come file allegato; racchiudi il testo fra i tag che ottinei cliccando sull’icona in alto ella schermata, dove c’è disegnato un foglio di carta bianco con due segni < > disegnati in blu.
::
Se è per quello, prima dell’appendice il cui titolo rimane orfano delle sue sottosezioni puoi mettere`\addtocontents{toc}{\newpage}`
Invece di \newpage potreti definire un comando del tipo \goodpagebreak che esegue il new page solo se mancano meno di tre righe alla fine della giustezza; non è dififcile creare una macro del genere e piazzarla incondizionatamente dentro la riga \l@chpater, in modo che il controllo sia fatto per tutte le voci dell’indice che riguardano i capitoli; non l’ho mai fatto per l’indice, perché si tratta di comandi delicati e che non necessariamente funzionano sempre correttamente, ma non penso che sia particolarmente complesso. Dovrebbe essere alla portata di chiunque; un esempio di comando del genere è mostrata, se ricordo bene, nella guida tematica Il LaTeX Reference Manual commentato.
24 Marzo 2017 alle 22:17 in risposta a: Posizionare oggetto a una distanza esatta dal margine di pag #110058::
Dato il processo asincrono tra l’interpretazione del codice e dala costruzione delle pagine, la certezza del test \ifodd non c’è. Per rendere certa la disparità dellapagina ci vuole un meccanismo completo che richiede un \label interno da cui ricavare il valore contenuto e prelevabile da \pageref coì da controllare la disparità della pagina in cui il cartiglio è finito nella compilazione precedente. Io non ho mai trovato un pacchetto che lo faccia; ho trovato solo la classe memoir che lo fa con i comandi \strictchechoddpage (o qualcosa del genere — apri la documentazione di memoir e cerca la stringa strict; una delle istanze è quella che ti serve); con memoir funziona benissimo; l’analogo comando senza “strict” nel nome ci piglia abbastanza spesso, ma non cè da fidarsi.L’unico caso in cui \ifodd\value{page} funziona con certezza è quando il test viene eseguito dentro un ambiente figure, perché allora, benche l’oggetto sia mobile, il valore del numero di pagina da associare alla macro interna è quello corretto al momento in cui la figura viene effettivamente spedita al file di uscita, non quando il codice viene letto ed eventualmente trattenuto nella coda degli oggetti mobili.
Se potessi mettere il cartiglio dentro una figura che sai per certo che può stare dentro un ambiente figure da piazzare con il codice h, allora potresti usare ]ifodd con tranauillità e certezza del risultato.
Incidentalmente non hi bisogno di scrivere tutto quel codice; puoi mettere solo il segno meno dento il costrutto condizionale:`\ifodd\value{page}-\fi
\kern\dimexpr(\oddsidemargin-\evensidemargin)/2\relax
\makebox[\textwidth]{\tikz[red] \draw (0,0) rectangle (210mm,60mm);}}`
::
Elevare \LaTeX al simbolo di Saturno non l’avevo ancora sentita 🙂Comunque se cerchi nel documento symbols (terminale: texdoc symbols-a4) trovi diversi pacchetti che ti permettono di usare i simboli astrologici, compreso quello di Saturno. Poi siccome non si tratta di una simbolo matematico, devi usare il comando [tt]\textsuperscript{…}[/tt] mettendo al posto dei puntini il nome del simbolo di Saturno quale è definito dal particolare pacchetto che hai scelto.
Per la omega minuscola, la tastiera greca del Mac te la mappa sul tasto latino “v”, il quale con la codifica LGR corrisponde a un pilastrino invisibile per usi molto particolari. Ma se usi la codifica utf8 e scrivi direttamente in greco (la omega ω ti appare correttamante nel file sorgente?) non dovresti avere problemi; se invece usi la traslitterazione latina e componi con pdflatex, la omega minuscola è mappata sul tasto latino “w”.
Se invece usi lualatex per comporre il tuo documento la codifica DEVE essere utf8 e il file sorgente deve essere salvato con quella codifica; ovviamente devi usare dei font opentype che contengano anche i simboli greci; questi non possono essere i Latin Modern di default ma almeno i CMU; cerca con FontBook il nome esatto della famiglia da specificare come famiglia \greekfont.
24 Marzo 2017 alle 7:00 in risposta a: Posizionare oggetto a una distanza esatta dal margine di pag #110056::
Come dici giustamente si tratta di capoversi distinti, non si può parlare di vedove ed orfane quando i capoversio sono diu na sola riga.Se hai abbastanza margine puoi sempre mettere prima del comando che ti genera il titolo del capitolo le cui sezioni vano nella pagina successiva qualcosa come `\addtocontents{\enlarghethispage*{\baselineskip}` e la pagina si allunga di una riga consentendo di aggiungere ancora il titolo di sezione; puoi anche specificare [tt]2\baselineskip[/tt] se avessi due soli titoli di sezione che vanno solitari nella pagina successiva. Non lo farei per tre titoli di sezioni.
È chiaro che si tratta di un “tacon”. ma l’alternativa sarebbe quella di ridefinire il comando interno [tt]\l@chapter[/tt] ma si rischia di combinare pasticci prima di riuscire a trovare la quadra.
-
AutoreRisposte