Risposte nei forum create
-
AutoreRisposte
-
::
cfiandra” post=81552Come dicevo all’inizio, qui l’approccio migliore è senza dubbio la libreria matrix: un paio di riferimenti.
1) Evidenziare gli elementi: How to highlight a single element in a matrix? facilmente estendibile a più elementi (ha una soluzione basata su xparse e la libreria backgrounds e un approccio con la libreria fit).
2) Inserire annotazioni: Border matrix with multiple indices on top and bottom.Ciao
ClaudioAvevo già realizzato la matrice con la libreria [tt]matrix[/tt], tutto molto semplice, ma mettere vicine due matrici una realizzata con l’ambiente [tt]pmatrix[/tt] e l’altra con la libreria [tt]matrix[/tt] di [tt]tikz[/tt] è davvero uno scempio. Inoltre mi piacerebbe avere la matrice numerata come le altri equazioni, ma credo che si risolva facilmente inserendo l’ambiente [tt]tikzpicture[/tt] dentro all’ambiente [tt]equation[/tt].
Ora provo a dare un’occhiata agli altri suggerimenti.
Grazie!
::
Durante la stesura del documento puoi mettere
`{\allowdisplaybreaks
\begin{subequations}
…
\end{subequations}}`
oppure, meglio, metti [tt]\allowdisplaybreaks[/tt] nel preambolo. Ma queste cose è meglio controllarle alla fine, a quel punto puoi indicare esplicitamente dove spezzare con il comando [tt]\displaybreak[/tt]
::robitex” post=81237Bellissimo intervento Elrond.
Grazie mille.
Certamente molto utile rendere la HISTORY automatica dai commenti ai commit.
Si ho visto il commento, certamente, ho già fatto la correzione ed aspetto qualcosa di più per fare il commit.
Sono sempre restio a fare commit “leggeri”…
R.Sì, ho notato che non ti piace fare “piccoli” commit ma ne fai sempre molto corposi (scelta legittimissima, ovviamente, io invece spesso faccio molti micro-commit più che altro perché sono fanatico della “sicurezza” e non voglio mai correre il rischio di perdere anche il minimo lavoro fatto, ma si tratta solo di una mia fissazione 😆 ), con questo tuo modo di procedere potresti trovarti molto bene nel realizzare la cronologia come ho indicato sopra, risparmieresti il doppio lavoro di scriverla due volte, nei messaggi dei commit e nell’apposito file HISTORY.
::
@robitex: ho visto che hai aggiunto una cronologia al tuo progetto. Visto che Git di base ha una sua cronologia, se uno è abituato a scrivere messaggi per i commit particolarmente ricchi ed esplicativi, si potrebbe creare un changelog a partire dal log di Git. La cosa più semplice potrebbe essere
`git log > HISTORY`
ma questo formato potrebbe non piacere. Il manuale di [tt]git log[/tt] spiega come personalizzare l’output di log, per esempio potresti provare
`git log –format=”Data: %ai – [%h]%d%nAutore: %aN%nOggetto: %B%n” > HISTORY`
Le ultime voci della cronologia del tuo repo così prodotta apparirebbero così:
`Data: 2013-01-05 12:14:12 +0100 – [6cd10b1] (HEAD, origin/master, origin/HEAD, master)
Autore: Roberto
Oggetto: Commit di servizio 🙂Data: 2013-01-05 11:55:14 +0100 – [4ffd7fd]
Autore: Roberto
Oggetto: Precisazione su sh, bash e dashData: 2013-01-04 23:04:16 +0100 – [050346c] (v1.2.1)
Autore: Roberto
Oggetto: Aggiunto il nuovo capitolo ScriptingData: 2013-01-02 09:56:03 +0100 – [e4c4e59] (v1.2)
Autore: Roberto
Oggetto: Rinominati alcuni file e aggiunta l'HistoryData: 2013-01-02 09:52:21 +0100 – [c03ca16]
Autore: Roberto
Oggetto: Formattazione righe ad 80 caratteri ed altre coseData: 2012-12-27 15:24:35 +0100 – [2d790f0]
Autore: Roberto Giacomelli
Oggetto: Aggiornato lo script per non stampare data e versione della guidaData: 2012-12-27 15:22:28 +0100 – [effd750]
Autore: Roberto Giacomelli
Oggetto: Eliminazione file di classe`
Naturalmente sei libero di cambiare il formato a tuo piacimento, in particolare puoi guardare il paragrafo “pretty formats”. Il mio consiglio è quello di non includere questo tipo di cronologia nel repository, dato che si tratta di una semplice riformattazione del log di Git, però potrebbe essere utile, per esempio, se hai intenzione di distribuire un archivio compresso contenente solo il sorgente della guida e la cronologia (dato che potresti voler escludere dall’archivio tutto il repo Git).Probabilmente adesso è troppo tardi per applicare questa idea alla guidalineadicomando, però magari potrebbe servirti in futuro 😉
PS: non so se hai visto che ti avevo lasciato un commento a un tuo recente commit 🙂
::
Pagina 28, nota 2:robitexNei moderni sistemi Unix il programma sh non è altro che un collegamento al
programma bash, la Bourne Again Shell divenuta lo standard tra le shell disponibili per
i sistemi aperti ed anche per quelli Mac.Non è esattamente vero: sh è un link simbolico a una shell che rispetti lo standard POSIX che non necessariamente è la bash, anzi per Debian e derivata (compresa Ubuntu, quindi stiamo parlando di una grossa fetta dei sistemi operativi GNU/Linux) /bin/sh punta a /bin/dash (Debian Almquist Shell), che è ben diversa dalla bash (è molto meno potente della bash). Uno shell script che voglia essere portabile attraverso i diversi sistemi operativi deve o avere esplicitamente /bin/bash nella shebang oppure, se usa /bin/sh come interprete, seguire pedissequamente lo standard POSIX ed evitare come la peste funzioni proprie solo di alcune shell. A questo proposito, un utente Debian sul suo blog pubblica ogni mercoledì a bashism a week, cioè una funzione esclusiva della bash che deve essere evitata nello scrivere script portabili
::Sam Qasbah” post=80972cosa c’entra l’albero locale? Forse c’entra, ma io non lo so perchè non sono un esperto di git (se lo fossi non avrei bisogno di leggere l’apposita guida)
L’albero locale è l’albero locale della distribuzione TeX Live, non ha niente a che vedere con Git 😉 Sul mio computer ho messo il file guidatematica.cls e i due loghi nella cartella [tt]~/texmf/tex/latex/guidatematica[/tt], in questo modo (dopo aver eseguito il comando [tt]texhash ~/texmf[/tt]) la classe è visibile a latex in qualunque cartella si trovi il sorgente da compilare
::Sam Qasbah” post=80969Da dove scarico guidatematica.cls?
https://github.com/GuITeX/guidetematiche
Abbiamo già discusso l’inclusione della classe “guidatematica” nei repo in altri filoni. Io ho i sorgenti di 3 o 4 guide tematiche, non vedo l’utilità per me di ricopiare ogni volta tutti i file della classe in ogni cartella quando esiste una cosa così utile chiamata “albero locale” che serve proprio per rendere disponibile i file una classe a tutto il sistema, tanto più che se la classe dovesse essere aggiornata dovrei cambiare ogni volta tutte le classi in tutte le cartelle, sfruttando l’albero locale basta una sola modifica. Inoltre se la classe facesse parte del repo, a ogni aggiornamento di questa si dovrebbe fare un commit apposito su tutti i repo di tutte le guide che si appoggiano alla classe (a meno di usare sottomoduli git).
::antonio.macrì” post=80949Ma andiamo al sodo: paragrafo 3.4.1.
Se si vogliono riportare allo stato dell’ultimo commit registrato solo determinati file che sono modified ma non ancora staged, adottando la terminologia vista all’inizio, senza toccare la restante working directory si può utilizzare il comando
`$ git commit — < file >`Immagino si intenda [tt]git checkout[/tt].
Immagini bene, ho corretto. Grazie
antonio.macrì” post=80949Non mi risulta che [tt]–[/tt] sia necessario. Come al solito, è consigliato se si possono avere ambiguità, ma non mi pare sia obbligatorio. Ovviamente, dato che il file è stato cancellato, non è possibile usare TAB per completarne automaticamente il nome, ma non per questo non viene riconosciuto da git.
È vero, non è obbligatorio ed è anche scritto in quel paragrafo.
antonio.macrì” post=80949A seguire:
I file tolti dalla staging area possono poi anche essere ripristinati allo stato del commit precedente usando il comando git commit —
illustrato qui sopra. Come sopra: [tt]git checkout[/tt]?
Come sopra 🙂
antonio.macrì” post=80949Infine, opinione personale, io lascerei stare [tt]inotifywait[/tt] che va completamente contro il senso di un sistema come git, in cui ogni commit dovrebbe avere uno specifico obiettivo.
Su questo punto sono d’accordo, nelle future versioni della mia versione della guida potrei rimuovere questo paragrafo.
Ho contattato dianoia su gitorious per (ri)coinvolgerlo, spero risponda.
::robitex” post=80965
[quote=”antonio.macrì” post=80949]Chiedo agli autori: per caso avete intenzione di trasferire il repository su GitHub?
Più tardi mi occupo di spostare il mio branch su GitHub e do un’occhiata ai tuoi suggerimenti. Grazie!
Ehm…
Non è che, quasi quasi, conviene creare il repo sotto guitex?
Sarebbe una nuova guida tematica…
R.[/quote]Ho già creato il repo sotto il mio account: https://github.com/giordano/guidagit ma se l’intenzione è quella di fare una nuova guida tematica ci vuole poco a spostare tutto il gruppo del GuIT, mi basta cambiare il repository remoto. Sbaglio o non mi è possibile creare nuovi repo nel gruppo?
::Elrond” post=80950
Premetto che ancora non ho una posizione irremovibile su questo, però voglio far notare una cosa: se dopo aver modificato il testo si inseriscono le interruzioni di riga ridistribuendo il testo, facendolo a mano o con un editor, si rischia di avere lo stesso problema.
Hai perfettamente ragione e l’esempio è interessante, ma con righe di lunghezza limitata si spera che questi problemi siano relativamente pochi (e ci sono i casi fortunati in cui il testo aggiunto occupa circa una riga intera e il diff coinvolge non il capoverso fino alla sua fine ma solo una o due circostanti), con righe lunghe 300-400 caratteri praticamente ogni diff è di difficile lettura
(scusate il doppio post) @antonio.macrì: ecco un esempio di quei casi fortunati a cui mi riferivo: https://github.com/GuITeX/guidamakefilelatex/commit/16e71758b638bdcefb0e376967f6c2726ffe73ac ho cambiato una parola, riformattando il paragrafo due righe sono cambiate ma non l’intero capoverso, è abbastanza agevole individuare la differenza anche senza evidenziazione (peraltro qui assente), se usassi righe non limitate uno si dovrebbe rileggere tutti e due i capoversi per intero per trovare quell’unica piccola differenza
::robitex” post=80954Ho provato emacs. In questo casi non sono riuscito a fare un gran che per mia scarsa conoscenza.
Nel file di inizializzazione di Emacs (il nome dipende dal sistema operativo utilizzato) dovresti aggiungere
`(setq-default fill-column 80)
(add-hook 'latex-mode-hook 'turn-on-auto-fill)`
se usi la versione standard di Emacs, altrimenti
`(setq-default fill-column 80)
(add-hook 'LaTeX-mode-hook 'turn-on-auto-fill)`
se usi il pacchetto AUCTeX.Dopo aver riavviato Emacs, ogni qual volta supererai l’ottantesimo carattere per riga di un documento LaTeX verrai automaticamente mandato a capo, puoi automaticamente riformattare il paragrafo in cui si trova il cursore con la scorciatoia da tastiera Alt + Q (gli ambienti matematici non sono toccati proprio per evitare problemi)
::antonio.macrì” post=80948Premetto che ancora non ho una posizione irremovibile su questo, però voglio far notare una cosa: se dopo aver modificato il testo si inseriscono le interruzioni di riga ridistribuendo il testo, facendolo a mano o con un editor, si rischia di avere lo stesso problema.
Hai perfettamente ragione e l’esempio è interessante, ma con righe di lunghezza limitata si spera che questi problemi siano relativamente pochi (e ci sono i casi fortunati in cui il testo aggiunto occupa circa una riga intera e il diff coinvolge non il capoverso fino alla sua fine ma solo una o due circostanti), con righe lunghe 300-400 caratteri praticamente ogni diff è di difficile lettura
::robitex” post=80916
@robitex: quale editor di testo utilizzi? TeXworks? È possibile in questo editor limitare automaticamente il numero di caratteri per riga a un certo numero fissato? Un conto è guardare il diff di una riga di 80 caratteri, un altro è per una riga di 800 😆 (è solo un consiglio, ma lavora come preferisci tu)
Tu cosa consigli?
Il mio consiglio sarebbe quello di limitare il numero di caratteri per riga (in genere circa 80), aiuta leggermente la leggibilità del codice per le finestre a tutto schermo, soprattutto su schemi con alta risoluzione, è pesante leggere righe di centinaia di caratteri (ricorda il famoso tormentone dei margini 😆 ), inoltre permette di individuare più facilmente le modifiche quando si fa uso dei diff (come con i vari sistemi di controllo delle revisioni): andare a ytovare una microscopica modifica (per esempio una virgola in più o in meno) su una riga di centinaia di caratteri diventa un’impresa simile alla ricerca dell’ago nel pagliaio, invece con una riga di pochi caratteri è molto più semplice.
Esempio: senza evidenziazione (nel terminale le differenze non sono evidenziate, ci sono solo colori diversi per le righe aggiunte ed eliminate), sfido chiunque a trovare rapidamente la modifica al file [tt]section/notefinali.tex[/tt] nel commit https://github.com/GuITeX/guidalineadicomando/commit/d265884480e00f59b23538280b2be5ed98ed5f11 (la riga è lunga oltre 400 caratteri)
Se però limitare il numero di caratteri per riga comporta una complicazione del proprio normale lavoro lo sconsigli. Emacs e Kile mandano automaticamente a capo una volta superato il limite, se ho capito bene TeXworks permette di riformattare il codice dopo che è stato scritto ma manda a capo automaticamente mentre si scrive, lo sviluppatore di Texmaker si è rifiutato di sviluppare questa funzione, non so quale sia la situazione per gli altri editor
-
AutoreRisposte