Risposte nei forum create
-
AutoreRisposte
-
::
Vabbè, direi che alcune “collezioni” per le lingue possono essere rimosse abbastanza tranquillamente:
` collection-langafrican: African scripts
collection-langarabic: Arabic
collection-langcjk: Chinese/Japanese/Korean
collection-langcyrillic: Cyrillic
collection-langczechslovak: Czech/Slovak
i collection-langenglish: US and UK English
collection-langeuropean: Other European languages
collection-langfrench: French
collection-langgerman: German
i collection-langgreek: Greek
collection-langindic: Indic scripts
i collection-langitalian: Italian
collection-langother: Other languages
collection-langpolish: Polish
collection-langportuguese: Portuguese
collection-langspanish: Spanish`
(Quelle precedute dalla ‘i’ sono quelle che ho installato.) Le collezioni di pacchetti è consigliabile lasciarle, perché non è immediato capire quali pacchetti stanno in una collezione e se potranno servire in futuro, ma se si vuole togliere qualcosa si può andare con le lingue: anche l’utente meno esperto può facilmente rendersi conto di quali userà. Io so che non scriverò mai in cirillico o koreano. 😀
::
Grazie delle risposte.OldClaudio” post=90301Invece i comandi del tipo \ifcsdef, sono decisamente robusti anche se le due frasi
vanno messe dentro due gruppi; garantiscono la robusezza, perché prima viene valutata la verità di qualcosa, poi con di debiti \expandafter viene eseguito con \@firstoftwo e \@secondoftwo solo il contenuto di no dei due gruppi; ciascuno di questi gruppi può contenere altri condizionali. Non dico che si debbano sempre usare quei condizionali lì e le espressioni logiche loro collegate, che rischiano di diventare complesse, ma quello è anche il principio dei condizionali di LaTeX (simili a quello del tuo esempio, ma robusti) come \@ifpackageloaded e simili. […] Trucchi che dovremmo usare più spesso quando scriviamo pacchetti. Forse rendono più oscuro il codice, ma certamente lo rendo più robusto.
Ottimi argomenti!
::
Ciao Claudio, grazie della risposta.OldClaudio” post=90299Mmmm
Non vedo la necessità di definire degli alias, specialmente perché ogni definizione di condizionale [tt]\newif\ifpippo[/tt] definisce in realtà tre control sequence [tt]\ifpippo, \pippotrue, \pippofalse[/tt] quindi i condizionali sono particolarmente fragili se non li manipoli correttamente.
Sì, son d’accordo con te: infatti poi ho risolto diversamente. Però la curiosità mi è rimasta. 🙂
OldClaudio” post=90299È vero i condizionali vengono gestiti nella bocca (o negli occhi?) e i rami falsi vengono eliminati subito, in modo che eliminato input tokens direttamente all’origine; così dice il TeXbook in modo molto più elaborato.
Il fatto è che mi sembra di aver già visto definizioni di condizionali in quel modo, ne ho ritrovato uno sul TeXByTopic all’inizio del paragrafo 13.8.7 (pagina 149):
`\def\ifEqString#1#2%
{\def\csa{#1}\def\csb{#2}\ifx\csa\csb }`
Poco dopo lo ridefinisce ma perché “dal momento che usa [tt]\def[/tt], non è espandibile” (e non perché può creare problemi se annidato in un condizionale falso).OldClaudio” post=90299Invece di definire alias di condizionali, io ho trovato molto comodo gestire e testare l’esistenza di certi condizionali mediante i test definiti da etoolbox, in particolare quelli che fanno rifermento non alla macro ma al nome della macro( in sostanza non a \ifpippo, ma a ifpippo) le cose si gestiscono molto meglio e i comandi sono robusti, molto più robusti di quelli che si hanno con il pacchetto ifthen (ammesso che esista un grado di robustezza; in realtà un comando o è robusto o non lo è; ma è incerto sapere quando si rompe e quando rimane integro. Le regole ci sono, evidentemente, ma le circostanze le oscurano spesso e volentieri).
Ti riferisci a [tt]\ifbool[/tt] e simili? La sintassi di ifthen non mi è mai piaciuta, quella di etoolbox sembra simile. Se posso evito i condizionali con graffe, che poi possono richiedere anche di metterci i [tt]%[/tt]… Trovo molto più elegante e leggibile la sintassi nativa di TeX.
::antonio.macrì” post=90295Credevo che il tutto avvenisse a un livello piuttosto superficiale, già sulle “labbra” (per esempio che venissero saltate le macro che iniziano con [tt]\if[/tt]).
In effetti se fosse così non funzionerebbe questo codice (e sarebbe un po’ strano):
`\documentclass{article}\newif\ciccio
\begin{document}
\ciccio
\typeout{Hola!}
\fi
\iffalse
\ciccio
Hola!
\fi
\fi
\end{document}`
Invece funziona! (Anche se è strano comunque… senza contare un eventuale [tt]\cciotrue[/tt]…) 🙂
::Elrond” post=89933
Non so come stanno le cose su Mac, ma non è detto che [tt]git gui[/tt] sia distribuito con [tt]git[/tt], per esempio su Debian/Ubuntu bisogna installare esplicitamente il pacchetto [tt]git-gui[/tt].
Git-gui è incluso nel sorgente stesso di Git, vedi https://github.com/git/git, il fatto che in alcune distribuzioni GNU/Linux sia un pacchetto a parte è dovuto al fatto che loro amano spezzettare alcuni programmi in moduli separati.
Sì, dicevo che non è distribuito con git, anche se alla fine è considerato parte di git. D’altronde, quei commit sono tutti dei merge da un repo esterno.
Elrond” post=89933
(tipo per un “blame”, e non trovo nemmeno soddisfacente com’è implementato).
Perché non lo trovi soddisfacente? Io uso git-gui praticamente solo per i blame, è comodo per annotare la revisione indicata e controllare il contesto della cronologia di quella modifica.
Lì mi riferivo a [tt]gitg[/tt], dove il blame non permette alcuna navigazione. Ma neanche in [tt]git-gui[/tt] mi piace, lo trovo poco intuitivo, poco efficace (espressivo), mal navigabile, non mi piace lo schema di colori scelto… (senza contare che pressoché qualsiasi cosa scritta in Tlc/Tk è inguardabile).
::illinguista1972″ post=89925Come, del resto, si è arenato TeXworks, che non conosce aggiornamenti significativi da troppo tempo. E ce ne sarebbero da fare, credo. Pazienza.
Lo sviluppo di TeXworks non si è arenato, certamente procede lento (come è sempre stato d’altronde). Soprattutto, procede su branch secondari, come quello per il visualizzatore PDF, che periodicamente vengono fusi sul trunk primario. Basta guardare la sfilza di aggiornamenti pubblicati proprio di recente: https://code.google.com/p/texworks/source/list?num=50&start=1349.
illinguista1972″ post=89940
Ciao Tommaso,
dal sito di TeXworks http://www.tug.org/texworks/ l’ultimo aggiornamento risale ad aprile 2013, non mi sembra sia passato un secolo 😎
SalutiCiao, io uso Mac OS X 10.6.8, e sono passati quasi 19 mesi dall’ultimo aggiornamento di aprile 2012 🙂
Il sistema operativo che uso è un problema mio, lo so, però visto che TeXworks è stato scelto per essere incorporato in TeX Live, dovrebbe essere aggiornato per TUTTE le versioni dei sistemi operativi su cui TeX Live gira. Almeno io la penso così. TeX Live gira benissimo sul mio sistema operativo. Perché mai dovrei aggiornare a 10.8?
In effetti da qui si vede che l’ultima versione compatibile con Mac OS X 6 risale ad Aprile 2012. Bah, strano, per i sistemi Linux i manutentori di TeXworks stanno attentissimi alla compatibilità (leggasi Stefan Löffler). Potresti, se ti interessa, provare a contattare Charlie Sharpsteen, credo che lui si occupi dei rilasci per Mac.
::
Per restare in tema, non è che io abbia sgozzato un agnellino quotidianamente fino al ogni giorno in cui LuaTeX ha introdotto la spaziatura (o spazieggiatura?) tra le lettere. 😀Ammetto di essermi abituato così tanto a vedere maiuscoletto spaziato che se non è spaziato non mi piace, ma di certo per uno stile tipo CT è essenziale.
Anch’io ho il ricordo dell’abigeato paragonato a chi spazieggia il minuscolo. Anzi mi pare perfino di aver letto qualcuno suggerire di spazieggiare il maiuscoletto sempre.
Dalla Treccani, spaziare:
In partic., in tipografia, disporre l’opportuna spaziatura (normale o superiore al normale) tra lettera e lettera, tra parola e parola (o tra linea e linea) […]; quando la spaziatura è superiore al normale, si usa più spesso il verbo spazieggiare.
::OldClaudio” post=89917Sul Mac [tt]git gui[/tt] non funziona o non c’è o, meglio, c’è git, ma non capisce l’azione gui; ma funziona Gitk.
Gitk mi sembra molto essenziale, ma pur sempre esiste ed è usabile.
Non so come stanno le cose su Mac, ma non è detto che [tt]git gui[/tt] sia distribuito con [tt]git[/tt], per esempio su Debian/Ubuntu bisogna installare esplicitamente il pacchetto [tt]git-gui[/tt].
Comunque quelle poche volte che voglio una GUI uso gitg (o gitk su Windows). Trovo (quasi) tutto molto più comodo da terminale, la GUI mi sembra utile solo per vedere com’è ramificata la cronologia e poco altro (tipo per un “blame”, e non trovo nemmeno soddisfacente com’è implementato).
Ciao
Antonio
::
Ciao Andrea. Sì il progetto è ancora in piedi, uso la classe abbastanza con soddisfazione, anche se lo sviluppo è andato avanti un po’ in sordina a esser onesti (ho continuato a lavorarci in locale, quindi alcune modifiche non sono visibili su BitBucket).La settimana prossima potrei dedicarci un po’ di tempo e pubblicare quel che ho fatto, ma sarà difficile dire di aver completato l’opera. Se non altro, perché ho in mente alcune idee che non è semplice realizzare compiutamente (…e si pensa sempre alla versione successiva …e il tempo è poco).
Tra l’altro mi pare che l’ultima versione di LuaLaTeX permetta finalmente di spaziare il maiuscoletto. Ottimo! 😉
Un saluto a tutti i forumisti, 🙂
Antonio
::
Se compilo due volte questo documento:
`\documentclass[a4paper,10pt,twoside]{book}
\usepackage[colorlinks]{hyperref}\begin{document}
\frontmatter
\tableofcontents
\chapter*{Introduzione}
\phantomsection
\addcontentsline{toc}{chapter}{Introduzione}\mainmatter
\chapter{Capitolo/1}
\chapter{Capitolo/2}
ecc…
\end{document}`
ottengo correttamente i segnalibri dell’introduzione e dei due capitoli.Ciao,
Antonio
15 Luglio 2013 alle 5:59 in risposta a: [Semi OT] – Git + LaTeX: recupero versione precedente #87419::Liverpool” post=86911Ho visto anche il [tt]reset[/tt], ma non è quello che cerco perché cancella le versioni successive. Mi potete spiegare la differenza tra “soft”, “mixed” e “hard”? Perché npn l’ho capita. Grazie
La differenza è spiegata molto chiaramente qui:
http://stackoverflow.com/a/3528483/2563992.Una tabellina che aiuta a visualizzare: 🙂
http://genomewiki.ucsc.edu/index.php/Working_with_Git#.27git_reset_–.5Boption.5D_HEAD.27.Ciao
8 Luglio 2013 alle 14:06 in risposta a: [Semi OT] – Git + LaTeX: recupero versione precedente #87417::Elrond” post=86874Però, una precisazione: ho provato ora e
`git checkout hashdelcommit5`
sembra che riporti realmente il repository indietro al commit 5, nel senso che i commit 6 e 7 spariscono dalla cronologia.Quei commit sembra che “spariscano” ma non vengono cancellati, in realtà. Per esempio, se prima ti trovavi nel branch master puoi fare semplicemente
`git checkout master`
per tornare dov’eri. In questo modo si può navigare comodamente tra la cronologia, senza fare modifiche (non si possono inserire delle modifiche tra due commit senza essere su un branch) e senza perdere nulla (e se uno non si fida può “taggare” il commit in cima :)).Liverpool” post=86867Supponiamo che io voglia tornare alla versione 5. Io voglio che il file di classe e le immagini siano gli stessi che c’erano al momento di caricare la versione 6, cioè (c) della versione 4 e (i1) della versione 3. Come posso fare? Devo caricare in ogni commit (c) e (i1) anche se non li ho modificati?
Se vuoi tornare a una certa versione precedente cancellando del tutto i commit recenti, allora puoi usare
`git reset –hard hashpuntodiripristino`
ammesso però che tu non debba “pushare” su un server remoto, che potrebbe dare problemi. In quest’ultimo caso puoi usare [tt]git checkout[/tt] come scritto da Elrond.
::illinguista1972″ post=85907Chiedo una cosa agli utenti di Windows 8: Windows 8 è in grado di scompattare un’immagine ISO? Contiene un’utilità nativa del sistema operativo che lo faccia, oppure bisogna scaricarsi il solito 7-Zip a parte?
Sì, finalmente Windows 8 consente di montare un’immagine ISO su un lettore virtuale (tasto destro, Monta) senza installare programmi aggiuntivi.
Ciao,
Antonio
::Amedeo” post=84994Ciao a tutti,
ho bisogno di definire varibili dinamiche ovvero il cui nome dipende dal valore di altre variabili. Con un linguaggio di programmazione tradizionale, utilizzerei dei vettori posizionali
`
pos = 1
dim[ pos ] = 5
descr[ pos ] = “Compositore”
`
o associativi
`
dim[ “Giuseppe Verdi” ] = 5
descr[ “Giuseppe Verdi” ] = “Compositore”
`
o variabili dinamiche
`
pos = 1
eval dim$pos = 5 % pos1 = 5
eval descr$pos = “Compositore” % descr1 = “Compositore”
`
E con LaTeX?a
I nomi delle macro in TeX sono usati come chiavi di un grande array associativo che contiene i valori delle macro stesse. In sostanza, puoi definire macro che si chiamano come vuoi tu (non ci sono i vincoli stringenti sui nomi di variabili tipici di altri linguaggi di programmazione).
`\documentclass{article}
\makeatletter
\newcommand\getValue[1]{\@nameuse{value@#1}}
\newcommand\setValue[1]{\@namedef{value@#1}}
\newcommand\getDim[1]{\@nameuse{dim@#1}}
\newcommand\setDim[1]{\@namedef{dim@#1}}
\newcommand\getDescr[1]{\@nameuse{descr@#1}}
\newcommand\setDescr[1]{\@namedef{descr@#1}}
\makeatother\begin{document}
\def\pos{1}
\setDim{\pos}{5}
\setDescr{\pos}{Compositore}\getDim{\pos}, \getDescr{\pos}
\setDim{Giuseppe Verdi}{5}
\setDescr{Giuseppe Verdi}{Compositore}\getDim{Giuseppe Verdi}, \getDescr{Giuseppe Verdi}
\def\pos{1}
\setValue{dim\pos}{5}
\setValue{descr\pos}{Compositore}\getValue{dim1}, \getValue{descr1}
\end{document}`
Ciao,
Antonio
-
AutoreRisposte