Risposte nei forum create
-
AutoreRisposte
-
::
letteracdp” post=100736Scusate se mi intrometto, ma un tarlo mi rode a proposito del codice seguente.
Grazie Claudio, ha funzionato! Ho corretto un paio di typo, riporto il codice per completezza.
`
\begin{figure}[t]
\edef\DS{\ifodd\value{page}l\else r\fi}
\makebox[\textwidth][\DS]{\includegraphics[width=\dimexpr\textwidth+\marginparsep+\marginparwidth\relax]{material_editor.png}}
\caption{Editor dei materiali di UE4.}\label{fig:material_editor}
\end{figure}
`
[…]Innanzitutto, è vero, come già ti ha detto OldClaudio, che “\relax” alla fine della specifica “\dimexpr” è superfluo: ci pensa già l’implementazione di “\makebox” a inserirlo. Dico questo per tranquillizzarti, perché anche a me “viene il nervoso” a pensare che una “\dimexpr” possa restare non chiusa da un “\relax” precauzionale. 🙂
Detto questo, avrei un paio di osservazioni da fare, per chiedervi di aiutarmi a recuperare il passo con quello che è successo nel mondo LaTeX negli ultimi anni.
In primo luogo, si può osservare che, anziché tramite l’uso diretto delle estensioni e-TeX, si può anche calcolare la dimensione della larghezza dell’immagine per mezzo del pacchetto calc. Domanda: a me risulta che calc tuttora non faccia uso della sintassi estesa di e-TeX quando questa è disponibile (diventando così un semplice front-end della stessa); è vero ciò?
In secondo luogo, temo che il trucco`\edef\DS{\ifodd\value{page}l\else r\fi}`con quel che segue non possa funzionare in generale, perché la scelta del posizionamento del contenuto di “\makebox” (debordare a sinistra oppure a destra) viene fatta in base al valore del numero di pagina corrente al momento in cui l’ambiente “figure” viene incontrato, che potrebbe non essere affatto la pagina su cui la figura finirà. In effetti, il problema mi sembra non essere suscettibile di soluzioni semplici, anzi, mi sembra impossibile trovare una soluzione che funzioni in piena generalità senza coinvolgere l’output routine. Mi sembra strano, però, che finora nessuno abbia scritto dei pacchetti per risolvere problemi di questo tipo: è assai probabile, invece, che sia io a non conoscerli. Qualcuno me li potrebbe suggerire?
Ciao.
—
GustavoGustavo, avevo letto che se le operazioni estese di eTeX sono abilitate (lo vedi dall’inizio del file .log) clac funziona da frontend rispetto alla sintassi di eTeX; ho però riguardato sia la documentazione di calc, sia il suo codice e constato che calc lavora nel solito modo cambiando tutto ciò che non ha dimensioni riceva le dimensioni opportune, e nel risultato queste dimensioni siano tole se il risultato NON deve essere una dimensione. Di per sé calc funziona bene, ma le operazioni di eTeX sono più veloci e in particolare lo scalamento avviene riducendo il pericolo di overflow. Io preferisco usare la sintassi diretta di eTeX almeo per calcoli semplici e di fatto constato che non ho mai caricato di mia iniziativa il pacchetto calc, nemmeno quando ho creato il pacchetto curve2e dove vengono fatte operazioni di numeri reali e complessi nei limiti dell’aritmetica del sistema TeX, ma usando solo espressioni eTeX. Inizialmente avevo anche definito un algoritmo di long division fatta come la si farebbe a mano, calcolando una cifra alla volta del quoziente, e la cosa era stata molto più breve che ricorrere ai comandi di calc e ho imparato moltissimo sull’aritmetica interna di TeX/eTeX.
Invece al questione relativa a \ifodd\value{page} è delicata; in realtà il codice degli oggetti flottanti viene usato solo nella routine di output quando la pagina dove il float viene inserito è nota. Invece se usi quella sintassi per altri scopi, non per la posizione dei float, la cosa non funziona, ma si risolve definendo un label e andando a vedere il giro dopo quale numero di pagina è associato all’etichetta di quel label. La classe memoir fa così. Io, senza sapere che la cosa è già contenuta in memoir, avevo riscoperto l’acqua calda, cioè la soluzione di memoir, quando scrivevo la classe dictionaryscr (di cui ho parlato un paio di volte su ArsTeXnica) che funzionava con una classe costruita su una classe Koma Script. Nei miei articoli su Ars non parlavo di questo problema perché non mi sembrava imposrtante.
::
@namelessg, dovresti sapere che modificando simultaneamente width e height cambi il coefficiente di forma della figura che risulterà quindi deformata in modo da mostrare le cose più snelle, oppure più grasse. Se vuoi usare entrambe le parole chiave senza cambiare il rapporto di forma devi aggiungere anche la parola chiave [tt]keepaspectratio[/tt]
::
BibTeX non lavora su bibliografia.bib, ma sul Mainfile.aux.Il file aux del file principale del documento contiene tutto quello che necessita a bibtex per sapere il nome del database bibliografico e quali riferimenti sono stati citati o se si devono riportare in bibliografia anche se non sono stati citati.
Se apri bibliografia.bib con Texmaker e poi gli dici di eseguire BibTeX probabilmente non succede niente, tranne qualche messaggio d’errore nella console.
Invece BibTeX non serve a niente se non dici a biblatex che vuoi usare BibTeX, perché biblatex predispone le cose per essere elaborate con biber.
Quindi o configuri il tuo Texmaker per poter lanciare anche biber, oltre a BibTeX, oppure dici a biblatex che la backend è bibtex, con [tt]backend=bibtex[/tt]
Sempre tutto quanto scritto nella documentazione di biblatex. Scusami se te lo ricordo, ma risparmieresti un mucchio di tempo se prendessi l’abitudine di leggere la documentazione dei pacchetti che usi. Suppongo che tu sappia che puoi aprire un terminale (o prompt dei comandi, come si chiama in Windows); ci scrivi dentro, per esempio, texdoc biblatex; premi il tasto invio e leggi la documentazione.
::
Attento! hai fatto tre modifiche, delle quali una sola era un refuso, del quale mi scuso; le altre due modifiche, l’aggiunta di \relax, e l’aggiunta dell’estensione alal figura sono inutili, anche se non danno nessun fastidio.La prima: \relax è necessario se dopo la fine dell’espressione compare qualcosa (anche dopo le sostituzioni delle macro) che potrebbe modificarne l’esecuzione; è chiro che aggiungere \relax non è un errore; nel caso specifico non serve.
La seconda: \includegraphics non richiede l’esplicitazione dell’estensione, è capace di trovare da solo il file con l’estensione giusta; l’estensione diventa necessario solo se nella stessa cartella esistono file con lo stesso nome ed estensioni diverse.
Piuttosto ti consiglirei di sostituire nel nome dle file l’underscore, la lineetta ribassata, con un trattino non ribassato; come sai l’underscore in LaTeX ha un significato specifico e fino a qualche anno fa produceva errori terribili nei nomi dei file.
::
@namelessg, sono contento che tu lo sia, ma…Avevi delle immagini vettoriali e le hai trasformate in immagini non vettoriali. Questa è una operazione da evitare sempre.
Per fortuna le tue immagini erano grandi, trasformate in immagini a matrici di punti (chiamate anche bitmapped o raster) ti si rappresentano senza sgranarsi e quindi sono forse ingombranti, come ingombro di memoria, ma certamente di buona qualità grafica.La prossima volta evita questa operazione, ma trasforma le tue immagini eps in immagini pdf; se erano genuinamente vettoriali (*), restano genuinamente vettoriali e non si sgraneranno mai.
(*) “Genuinamente vettoriali” vuol dire che sono davvero frutto di una creazione mediante un programma vettoriale. Non sono genuinamente vettoriali se sono un involucro eps o pdf di un’immagine raster.
::
La somma delle tre lunghezze si esprime così:`\dimexpr \textwidth+\marginparsep+\marginaprwidth`da mettere al posto di 1.3\textwidth.L’altro punto non è difficilissimo da risolvere con i normali mezzi di LaTeX, ma dipende anche dal fatto che usi classicthesis che non accetta volentieri nessuna variazione/modifica. Con altre classi, in paritcoalre memoir è possibile e facile distinguere la parità della pagina ed eseguire le operazioni necessarie. Io qui ti indico una modalità che fa riferimento al numero di pagina corrente, che per gli oggetti flottanti dovrebbe essere il numero corretto. Il codice che io userei è il seguente (nota che lo sto scrivendo di getto e può darsi che non funzioni e richieda qualche altro artificio)`\begin{figure}[t]
\edef\DS{\ifodd\value{page}l\else r\fi}
\makebox[textwidth][\DS]{\includegraphics[width=\dimexpr\textwidth+\marginparsep+\marginaprwidth]{material_editor}
\caption{…}\label{…}
\end{figure}`Controlla i nomi \marginaprsep e \marginaprwidth perché li ho scritti a memoria e alla mia età i neuroni ehm, ehm
::namelessg” post=100701e ma non ho capito però 🙁
io ho le immagini in jpg ora
compilo pdf latex ma il pdf non viene generato..
😕 😕 😕 😕Se non ci dici quali messaggi d’errore ottieni, non possiamo dire nulla. Il file .log del tuo documento contiene tutte el informazioni; aprilo con il tuo Texmaker e cerca le parole warning e error e dicci quale errore fatale ti viene segnalato, e che cosa dicono le ultime righe, diciamo 20 righe del file log.
::
@namelessg, il formato PS non è sostanzialmente valido con nessun programma, nel senso che se contiene certi comandi PostScript questi sono incompatibili per l’incorporazione diretta o mediata nei file PDF.L’eseguibile latex accetta solo il formato EPS, che è un encapsulated PoststScript non un PostScript, proprio perché non contiene quei famosi comandi proibiti.
Se il tuo scopo finale è il file in formato pdf compila direttamente con pdflatex che con una installazione TeXLive o MacTeX moderna accetta anche il formato grafico EPS, oltre ai formati PDF e MPS (vettoriali) e JPG e PNG (bitmapped). Per MiKTeX credo che sia necessario caricare il pacchetto epstopdf, ma non sono sicuro perché non dispongo di MiKTeX.
::
Premetto che non uso mai il pacchetto subfig, eccellente, ma preferisco farmi le cose da solo; è il mio difetto.Però visto il tuo risultato con figure così insolite mi sono convinto che farsi le cose da soli quando se ne è capaci, porta a risultati migliori.
Tuttavia dai tuoi disegni capisco che le sotto-didascalie di ogni sotto-figura vengono composte con una giustezza corrispondente pressappoco alla largheza della figura. Per cui risolveresti automaticamente il tuo problema se adagiassi i tuoi rettangoli mettendo il lato lungo in orizzontale.
Chte tu usi la specifica angle=90 fra le opzioni di \includegraphics, oppure che ridisegni i due rettangoli con i pallini bianchi e neri e le x in orizzontale, fa lo stesso.Magari non ci stanno più le due sotto-figure accostate in orizzontale nella larghezza della gabbia di stampa, ma subfig le metterà una sopra l’altra, ma è certamente meglio di quelle due didascalie che sembrano quelle scritte formali in caratteri kanji usate dagli artisti giapponesi nei loro dipinti; vanno bene scritte in kanji, ma non in romaji (caratteri latini). D’altra parte se hai chiesto aiuto al forum è perché non piacciono nemmeno a te 😐
::And” post=100665In effetti il disegno mi servirebbe solo come logo (nel senso di decorazione, al pari di come compare sulla moneta lituana di cui mi parlavi), da usare in una lettera, quindi non avrei modo purtroppo di citare gli autori.
La spirale di Mertz ruotata di quanto necessario (al netto dei segmenti necessari per la costruzione) la terrei in grigio, e sotto in nero, i rettangoli aurei che risultavano dal primo disegno di Wibrow. In più le due diagonali. Proprio come nel disegno in dropbox.
Ho fatto qualche prova e ho capito come isolare i rettangoli nel primo disegno, ma non come cancellare i segmenti nel secondo e ruotare; inoltre mi resterebbe poi di capire come fondere i due pdf, ammesso che si possa fare.
Come vedi non è una questione essenziale, potrei sempre usare il piccolo .jpg; solo mi piaceva l’idea di un bel logo vettoriale pulito, perché ingrandendo il pdf si notano molto i pixel della spirale.Buona giornata!
Andrea
Non è male l’idea di un logo fatto con la spirale di @cfiandra; se commenti la riga [tt]\draw [help lines] (0,0) rectangle ++(1,1);[/tt] e cambi nella prima riga il border da 0.125cm in 0.1pt, hai un disegno pulito praticamente senza bordo e con il “frangente” rosso (che ovviamente puoi colorare diversamente) e senza diagonali. Simpatico, vettoriale, non sgrana, ma, oserei dire, un po’ grande, perché le sue dimensioni naturali dovrebbero essere di un 50mm in orizzontale, forse di più; quindi lo puoi includere nella lettera riducendolo a circa 20mm. Naturalmente ti conviene produrre un file pdf, senza bosrdo, così da immetterlo come logo nella tua intestazione con un semplice comando \includegraphics, ruotando il disegno, scalandolo, riflettendolo, e facendoci sipra le varie diavolerie che si possono fare con \includegraphics.
L’immagine jpg, dove dici che si vedono i pixel, ridotta alle giuste dimensioni di circa 20mm o anche qualcosina in meno, non dovrebbe mostrare i pixel.
D’altra parte se tu volessi disegnare questo logo su una carta da lettere non perfettamente bianca, è possibile che il disegno fatto con TikZ mostri lo sfondo bianco che stonerebbe su una carta anche giallo pallidissimo.
@cfiandra potrebbe insegnarti come rendere trasparente lo sfondo bianco.
::
Andrea, non so per quale motivo vuoi il disegno che ha fatto Claudio (@cfiandra), che è fatto molto bene, ma che rappresenta la solita approssimazione della spirale aurea, quando tu stesso hai scovato la soluzione di Mertz che invece è un vera spirale aurea disegnata correttamente.Comunque i codici postati sul forum sono a disposizione di chiunque ma, usandoli, è corretto specificare di chi è il disegno e/o di chi è il codice.
Se nella versione di Mertz vuoi la spirale in rosso e disegnata con tratto più spesso, non ti resta che apportare le piccole modifiche che sono già presenti, comunque, negli altri disegni; se vuoi mettere in rilievo i quadrati estratti dai rettangoli aurei, non hai che da aggiungere le righe verticali o orizzontali che chiudono il quadrato di cui Mertz mostra le diagonali.
Io sono propenso al fatto che i grafici delle curve siano il più esatti possibile, e la spirale aurea approssimata è carina, ma non è una spirale aurea per costruzione; dove c’è scritto [tt]\draw [red] (0,0) arc (270:360:1);[/tt] è evidente che si tratta di archi di cerchio e non archi di spirale logaritmica.
::
Con fancyhdr non modifichi l’area di testo ma solo il contenuto della testatine e del piedino.Con geometry puoi fare tante belle cose, ma fossi in te agirei un altro modo; mi rivolgerei alla tipografia/repografia per sapere come impongono le pagine b5 sul foglio A4. Può darsi che lo facciano loro senza bisogno che tu ti occupi di eseguire anche le imposizioni.
Se chiedono a te di imporre le pagine b5 sul foglio a4, ti suggerisco di usare la classe memoir al posto della classe book; se non specifichi nessuna opzione e non specifichi nessun comando particolare di memoir ti produce lo stesso output di book.
Ma con le sue funzionalità puoi specificare le dimensioni dello stock paper (i fogli da ritagliare) con il formato a4, e puoi specificare la pagina ritagliata con le dimensioni b5; puoi specificare se imporre le pagine b5 sul margine interno,esterno e superiore del foglio a4 (in modo da eseguire solo due tagli, oppure se tenere la pagina b5 in un’altra posizione.Alternativamente la tua tipografia/repografia potrebbe dirti che loro in realtà stampano su fogli a3 e vogliono segnature 4 fogli a3 che fra fronte e retro contengono 16 facciate; in questo caso se devi fare tu il lavoro di imposizione, ti conviene usare il pacchetto pdfpages impostando tutti i parametri necessari per collocare le pagine b5 accostate al centro e al margine superiore del foglio a3, nell’ordine giusto per piegare la segnatura di 4 fogli a3 in modo che le pagine b5 siano nell’ordine sequenziale naturale.
Bel lavoretto; ma non è difficile; io sono anni che predispongo il libretto dei corsi della piccola UNI3 di cui faccio parte, stampando segnature di 16 o di 20 o di 24 pagine da stampare su una laserina bianco e nero fronte-retro; altri volontari dell’UNI3 provvedono a cucire le segnature alla copertina stampata a colori; i libretti non ci costano altro che il costo del toner, molto di meno di quello che all’inizio spendevamo per ottenere il tutto eseguito in tipo/repografia.
-
AutoreRisposte