Risposte nei forum create
-
AutoreRisposte
-
::
Mikelius” post=120401
Il pacchetto è progettato per escludere quelle linee che hanno come unico scopo quello di essere delimitatori selezionabili.
Anzi, vengono eliminate righe vuote eventuali dopo il delimitatore di apertura e prima di quello di chiusura.
Ci sono delle modifiche da fare per adattare i simboli di commento che per quelli dei delimitatori sono almeno due trattini consecutivi, i marcatori di commento di linea di Lua.
Perciò tu puoi fare un file enorme di codice e inserire nel documento tramite i delimitatori qualsiasi gruppo di linee consecutive che li racchiuda.L’origine del pacchetto non è dovuta a questa esigenza, ma a quella di raccogliere l’output del brano di codice.
L’output che le linee delimitate di codice inviano in fase di esecuzione allo stdin sono raccolte e inserite nel documento sotto al codice.E per finire una frase lapidaria: “io con tcolorbox mi trovo bene ma non benissimo” 🙂
Alla prossima.
R.Ok, comunque io mi riferivo nel sorgente in caso dovessi ricompilarlo (—>>> darebbe errore se non commentato). Però penso di aver capito che è possibile adattarlo
Mi cimento e vedo cosa riesco a fare. Grazie.Ovvio che dipende dal linguaggio in cui è scritto il codice.
A me serviva tener conto solo di sorgenti Lua.
Ciao.
R
::Mikelius” post=120399
[quote=”Mikelius” post=120387][quote=”OldClaudio” post=120385]Per esempio nella pagina 12, in basso c’è un esempio col titolo color magenta e con lo sfondo rosa chiaro; il titolo col suo sfondo magenta è scritto in rosa chiarissimo, se non bianco; comunque ci sono tutti i comandi scritti sopra.
Ma ci sono centiania di altri punti. certamente l’opzione NoTitleCode non sembra quella giusta per scrivere un titolo; non c`bisogno di cooscere l’inglese per capire che quello impedisce di mettere un titolo a quello snippet di codice che ci metteresti sotto.
Non è quello che volevi fare?
Mi sarò espresso male.
So come mettere un titolo, e colorare il box. Colorerei la Classe->magenta, Interfacce->ciano, Classi Astratte->Arancione ecc
…
Ad esempio…
`
\newtcblisting[auto counter]{defClassA}[2][]{
fonttitle=\bfseries,
colframe=orange,
listing only,
comment style=green,
listing options={
% basicstyle=\footnotesize,
language=java,
keywordstyle=\color{blue}\bfseries,
commentstyle=\color{gray},
stringstyle=\color{purple}},
title= \thetcbcounter) Classe #2 #1}
`
Però se faccio minimi cambiamenti/correzioni successive al codice , dovrei cambiarlo a manina anche su latex.
Vorrei poter importare snippet di file dentro un box graficato come sopra.Ciao. Vedi se il pacchetto specifico per la guidalua può darti una mano.
Si chiama sourcecode.sty che ha come dipendenza sourcecode.lua
Si trovano nel repository GuIT su github: http://www.github.com/GuITeX/guidalua
Implementa una macro che funziona così:
`\sourcecode{
file = [[path/to/file.ext]],
select = [[id_snippet]]
}`Nel file di codice si inseriscono i marcatori:
`—<<< id_snippet ... --->>>
`Il codice estratto viene composto con listings e si possono dare ulteriori opzioni come per esempio il controllo degli spazi e dei numeri di linea se si è all’interno di un tcolorbox. La guidalua stessa ne è un esempio.
Funziona bene perché è pensato solo per i sorgenti lua, ovviamente, visto che il mini pacchetto è a servizio della guida su Lua, ma è facilmente personalizzabile.
L’unica condizione è compilare con LuaLaTeX. Nella guida Lua, che trovi nella sezione Documentazione/Guide Tematiche del sito trovi tutte le informazioni per i minimi cambiamenti al sorgente necessari.
Sempre che tu non sia già su LuaLaTeX.Link diretto alla guidalua:
/wp-content/uploads/joomla-images/doc/GuideGuIT/guidalua.pdfAlla prossima.
R.[/quote]Mai usato LuaLaTeX. vedrò la guida che hai postato. Non volevo però “contaminare” il sorgente con elementi che non siano codice/commenti.
Comunque grazie della dritta.[/quote]
Il pacchetto è progettato per escludere quelle linee che hanno come unico scopo quello di essere delimitatori selezionabili.
Anzi, vengono eliminate righe vuote eventuali dopo il delimitatore di apertura e prima di quello di chiusura.
Ci sono delle modifiche da fare per adattare i simboli di commento che per quelli dei delimitatori sono almeno due trattini consecutivi, i marcatori di commento di linea di Lua.
Perciò tu puoi fare un file enorme di codice e inserire nel documento tramite i delimitatori qualsiasi gruppo di linee consecutive che li racchiuda.L’origine del pacchetto non è dovuta a questa esigenza, ma a quella di raccogliere l’output del brano di codice.
L’output che le linee delimitate di codice inviano in fase di esecuzione allo stdin sono raccolte e inserite nel documento sotto al codice.E per finire una frase lapidaria: “io con tcolorbox mi trovo bene ma non benissimo” 🙂
Alla prossima.
R.
::zimone” post=120396Salve a tutti
Il messaggio di texworks di cui in oggetto mi compare quando cerco di definire una didascalia in un ambiente non float.
Ho tuttavia la necessità che la tabella, che ho definito con tabular, sia fissa alla pagina , motivo per cui ho utilizzato l’ambiente \begin{center } .
Per far apparire la caption nella stessa pagina ho definito all’ineterno di \begin{center } un ambiente float \begin{table} all’interno del quale ho inserito la mia caption.
C’é altro modo?Ciao,
la risposta è si e la fornisce la macro \captionof del pacchetto caption.
Una cosa vorrei aggiungere: l’ambiente center inserisce dello spazio sopra e sotto l’oggetto da centrare che potrebbe non essere quello che desideri.
In alternativa proverei a usare un \centering all’inizio di un gruppo.
Alla prossima.
R.
::Mikelius” post=120387
Per esempio nella pagina 12, in basso c’è un esempio col titolo color magenta e con lo sfondo rosa chiaro; il titolo col suo sfondo magenta è scritto in rosa chiarissimo, se non bianco; comunque ci sono tutti i comandi scritti sopra.
Ma ci sono centiania di altri punti. certamente l’opzione NoTitleCode non sembra quella giusta per scrivere un titolo; non c`bisogno di cooscere l’inglese per capire che quello impedisce di mettere un titolo a quello snippet di codice che ci metteresti sotto.
Non è quello che volevi fare?
Mi sarò espresso male.
So come mettere un titolo, e colorare il box. Colorerei la Classe->magenta, Interfacce->ciano, Classi Astratte->Arancione ecc
…
Ad esempio…
`
\newtcblisting[auto counter]{defClassA}[2][]{
fonttitle=\bfseries,
colframe=orange,
listing only,
comment style=green,
listing options={
% basicstyle=\footnotesize,
language=java,
keywordstyle=\color{blue}\bfseries,
commentstyle=\color{gray},
stringstyle=\color{purple}},
title= \thetcbcounter) Classe #2 #1}
`
Però se faccio minimi cambiamenti/correzioni successive al codice , dovrei cambiarlo a manina anche su latex.
Vorrei poter importare snippet di file dentro un box graficato come sopra.Ciao. Vedi se il pacchetto specifico per la guidalua può darti una mano.
Si chiama sourcecode.sty che ha come dipendenza sourcecode.lua
Si trovano nel repository GuIT su github: http://www.github.com/GuITeX/guidalua
Implementa una macro che funziona così:
`\sourcecode{
file = [[path/to/file.ext]],
select = [[id_snippet]]
}`Nel file di codice si inseriscono i marcatori:
`—<<< id_snippet ... --->>>
`Il codice estratto viene composto con listings e si possono dare ulteriori opzioni come per esempio il controllo degli spazi e dei numeri di linea se si è all’interno di un tcolorbox. La guidalua stessa ne è un esempio.
Funziona bene perché è pensato solo per i sorgenti lua, ovviamente, visto che il mini pacchetto è a servizio della guida su Lua, ma è facilmente personalizzabile.
L’unica condizione è compilare con LuaLaTeX. Nella guida Lua, che trovi nella sezione Documentazione/Guide Tematiche del sito trovi tutte le informazioni per i minimi cambiamenti al sorgente necessari.
Sempre che tu non sia già su LuaLaTeX.Link diretto alla guidalua:
/wp-content/uploads/joomla-images/doc/GuideGuIT/guidalua.pdfAlla prossima.
R.
::Lat98″ post=120364Buongiorno,
ho un problema usando “itemize”. Sostanzialmente inserendo immagini nell’elenco, mi ritrovo le immagini dopo l’elenco, quindi sfasate. Qualcuno gentilmente potrebbe aiutarmi?
Cordialmente, Luca
Ps con le formule l’inserimento non dà problemi
Ciao Luca,
non è che per caso stai usando ambienti flottanti?
Conosci la differenza tra ambiente figure e inserimento di una figura?
R.
::egreg9″ post=120357
[…]
Grazie Enrico.
Non riesco a individuare la fine riga di troppo nel mio codice.
Ho poco tempo per approfondire.
Mi rifarò sentire sull’argomento.
Alla prossima.Dopo [tt]\lines[/tt] c’è un fine riga, no? Ecco, è quello!
Con il tuo codice, [tt]\lines[/tt] esegue alcune impostazioni e alla fine chiama [tt]\xlines[/tt], che è un comando con argomento delimitato dal carattere [tt]^^M[/tt] (fine riga), reso di categoria 12. La prima esecuzione di [tt]\xlines[/tt] trova [tt]^^M[/tt] preceduto da niente e quindi il primo elemento della tua lista è vuoto.
Che faccio io, invece? La macro [tt]\lines[/tt] finisce con [tt]\xlinesfirst[/tt] il cui unico scopo è di prendere [tt]^^M[/tt] come argomento per scartarlo e chiamare [tt]\xlines[/tt].
Ciao
EnricoCiao Enrico,
ho sempre pensato che il carattere percento annullasse anche il fine riga.
Evidentemente no,
Grazie.
R.
::
Ciao.
Credo che possa essere successo questo: premesso che per “registro” si intenda il file di log, prodotto della compilazione, per qualche ragione può darsi che tu abbia compilato un sorgente “problematico” che per qualche ragione ha prodotto un file di log dalle dimensioni anomale.
Normalmente un file di log è dell’ordine delle decine di KB. Considera che il log di compilazione della guidalua è 110 KB, che insomma è un documento abbastanza lungo.Il tuo file “problematico” potrebbe anche solo contenere macro di debug del codice come \tracingall che in compilazione produce una quantità enorme di informazioni sui più minuti dettagli.
Ciao.
Alla prossima.
R.
::
Ciao a tutti.
Si, ho notato anch’io nell’ultimo aggiornamento su Win moltissimi pacchetti puntati win32.
Un po’ grossolanamente questi pacchetti li si può definire coma la “parte binaria” di un dato programma distribuito in TeX Live.
Per il programma luatex per esempio, esiste in TeX Live il pacchetto omonimo che per forza di cose dipende dal sistema operativo. In Windows quando viene installato il pacchetto luatex viene installato anche il pacchetto dipendenza binaria luatex.win32.Quanto al numero dei bit, di solito TeX Live consegna i binari a 32 bit per Windows probabilmente per compatibilità. Anni fa provai la versione a 64bit ma fui deluso perché non registrai alcun miglioramento nelle perfomance come immaginavo.
Quindi, si, i pacchetti dai nomi con estensione .win32 fanno parte di TeX Live per Windows. Tutto regolare.
R.
::ernded” post=120333Ciao
Devo preparare l’elenco dei files contenuti in una cartella, circa un migliaio. Pensavo che sarebbe bello poterlo formattare con LaTeX, ma non saprei come fare, a meno di scrivere tutti i nomi dei files uno per uno. Avete consigli?
Grazie
ErnestoCiao Ernesto,
si può fare anche direttamente con LuaTeX che incorpora la libreria lfs (Lua File System) con la quale si può visitare l’albero dei file e ottenerne informazioni.
Scrivere il codice Lua non è difficile e potrei includere l’esempio nella guidalua, la guida tematica sulla programmazione Lua in LuaTeX che trovi nella sezione doc del sito.
Il prodotto finito potrebbe elencare i file con tanto di icone per tipo e tenere in conto della profondità delle directory, includere le dimensioni con unità di misura intelligenti eccetera.
Se sei interessato a fare qualche prova sarei contento di aiutarti.
Un saluto.
Alla prossima.
R.
::egreg9″ post=120318Devi eliminare il fine riga dopo [tt]\lines[/tt]. Ho fatto anche qualche altro piccolo cambiamento.
`
\documentclass{article}\makeatletter
\def\lines{%
\directlua{
lines = {}
contatore = 1
}%
\begingroup
\let\do=\@makeother
\dospecials
\catcode`\^^M=12
\xlinesfirst
}
\def\xlinesfirst#1{\xlines}{\catcode`\^^M=12 \endlinechar=-1 %
\gdef\xlines#1^^M{%
\def\test{#1}%
\ifx\test\endlines
\let\next\endgroup
\else
\directlua{
lines[contatore] = [==[#1]==];
contatore = contatore + 1;
}%
\let\next\xlines \fi \next}
}{\escapechar=-1
\xdef\endlines{\string\\endlines}
}
\makeatother\begin{document}
\lines
uno
due
tre
\endlines
\directlua{tex.print(“|”..table.concat(lines, “, “)..”|”)}
\end{document}
`Ciao
EnricoGrazie Enrico.
Non riesco a individuare la fine riga di troppo nel mio codice.
Ho poco tempo per approfondire.
Mi rifarò sentire sull’argomento.
Alla prossima.
::
Ciao Claudio grazie per la risposta.
Avevo già guardato il codice di fancyvrb ma senza poterlo riutilizzare perché non credo ci avessi capito un granché 😀
Le tue indicazioni su L3 sono per me più interessanti, grazie.
Quanto allo scopo di raccogliere linea per linea del materiale verbatim è presto detto. Il materiale è codice Lua. Ho scritto un pacchetto (in Lua) in grado di leggere codice Lua da varie fonti (file oppure codice nel sorgente stesso), eseguirlo, raccogliere l’output di console e stampare tutto nel documento. Questo grazie a una particolare funzione che conosco da anni e che mi fu segnalata da Luigi Scarso.Per esempio se scrivo:
`\lines
print(“Ciao”)
\endlines
\sourcecode(from_lines():run())`Nel documento trovo il codice Lua con sintassi evidenziata e sotto separata da un filetto la parola Ciao.
Il codice Lua può essere qualsiasi.
Per risolvere il bug con quel workaround di eliminare la prima riga, ho riletto il codice del pacchetto.
Risultato: non ne vado fiero. Vorrei riscriverlo da zero. Tuttavia, funziona e ci sono cose più urgenti a cui dedicarsi.
Per chi è interessato cercare il file sourcecode.sty e sourcecode.lua a questo link (la guidalua)
https://github.com/GuITeX/guidaluaCiao.
Alla prossima
R.
::
Ciao.
Intanto così funziona:
`
\begin{scope}[posizione tacche={-1,+1}],
\foreach \y in \posizionetacche \node[circle,draw] at ($(0,0)!\y!(0,10)$) {\y};
\end{scope}
`Ma funziona più semplicemente anche così:
`\begin{scope}[posizione tacche={-1,+1}],
\foreach \y in \posizionetacche
\node[circle,draw] at (0, \y*10) {\y};
\end{scope}`Ma anche così:
`\tikzset{posizione tacche={-1,+1}}
\foreach \y in \posizionetacche
\node[circle,draw] at (0, 10*\y) {\y};`🙂 ho messo \y come contenuto del nodo per maggiore chiarezza.
Alla prossima
R.
::
Ciao Ivan.
In effetti ho usato \newgeometry per impostare a zero i margini da una pagina in poi del documento effettivo.
Da notare che nel tuo primo esempio di codice, grazie all’opzione overlay la grafica vettoriale viene inserita con dimensioni nulle perciò bisogna aggiungere, eventualmente, anche un \pagestyle{empty} per evitare che venga stampato il numero di pagina.Queste tecniche hanno tutte utilizzi utili per il puro e semplice assemblaggio di file PDF. Un utilizzo forse imprevisto del sistema TeX ma comunque per me sempre molto molto utile. Varrebbe la pena forse raccogliere queste tecniche includendo pict2e, pdfpages eccetera in un articolo per Ars o in una guida tematica. Credo sia un argomento poco noto alla maggioranza degli utenti.
Saluti e alla prossima.
R.
::OldClaudio” post=120205Incredibile.
Ho posto mano alla verifica delle modifiche e degli upgrade di LaTeX negli ultimi 4 anni. Per fortuna ci sono le News Letters più o meno semestrali che raccontano le modifiche via via apportate. Di alcune ero al corrente, le più importanti, tant’è che su ArsTeXnica sono stati pubblicati articoli tradotti da TUGboatche raccontavano di quelle più epocali,come quella del rollback, che però interessano specialmente gli autori di classi e altri pacchetti, oltre al LaTeX Team stesso che cura gli aggiornamenti del nucleo di LaTeX e dei pacchetti considerati essenziali.Fra gli upgrade dell’ultimo anno 2020 ho trovato una cosa che riguarda l’ambiente picture (a cui sono particolarmente affezionato, anche se la maggior parte degli utenti preferisce rivolgersi ai grandi mezzi di pgfplots e TikZ; ribatto il chiodo: perché bisogna studiare fra tutto quasi 1000 pagine di documentazione per impadronirsi dipgfplots+Tikz, quando si possono fare cose eccelse anche con pict2e e volendo strafare, con curve2e e magari anche con euclideangeomery, che richiedono dileggere una documentazione che generalmente non supera a quarantina di pagine per ciascuno di quei pacchetti?).
Comunque, non voglio tirare troppo l’acqua al mulino di pict2e, o del solo ambiente nativo di LaTeX picture. Veniamo a quello che ho scoperto: ora l’ambiente picture accetta anche comandi di posizione e ogni informazione relativa all’indicazione di lunghezze non solo con i multipli dell’unita di misura grafica \unitlength, ma anche in termini di lunghezze esplicite indicate con qualsiasi unità di misura conosciuta dai programmi del sistema TeX; per cui volendo, si potrebbe aprire un ambiente specificando`\begin{picture}(\textwidth,\textheight)` per creare un disegno che occupa completamente la gabbia di stampa, non solo, ma se le lunghezze sono esplicite, è lecito usare delle espressioni fra lunghezze, le stesse espressioni che si possono calcolare con gli argomenti del comando nativo \dimexpr (anche questo poco conosciuto dagli utenti finali di LaTeX).
Ho provato queste nuove funzionalità ed effettivamente funzionano come previsto e convivono bellamente anche con le espressioni tradizioni indicate con numeri reali che rappresentano i multipli di \unitlength.
Direi che risparmiano molti giri di parole, ops, di macro, quando si devono fare cose un po’ complesse.
Personalmente ritengo che sia necessario impratichirsi un poco, ma credo che si possano fare cose egregie con questa non trascurabile innovazione di LaTeX.Sto aggiornando sia la GuidGuIT eia il pacchetto curve2e per sfruttare questa nuova funzionalità. Con la GuidaGuIT sto aggiungendo un capitolo30 che parla di quelle innovazioni degli ultimi 4 anni che possono interessare gli utenti finali di LaTeX.
Grazie Claudio. Grazie per le utili informazioni.
Effettivamente grazie a te ho usato in qualche caso pict2e e lo utilizzerò al posto di TikZ perché più semplice e veloce, a meno di necessità grafiche.
Io sto aggiornando la guidalua. Penso che debba aggiungere esercizi semplici per venire incontro a quegli utenti che hanno bisogno di poche righe di codice e non hanno l’occasione di leggere prima la parte prima dove viene descritto il linguaggio.
Alla prossima.
R.
-
AutoreRisposte