Risposte nei forum create
-
AutoreRisposte
-
::
OldClaudio” post=67846Davvero bella, bravo Enrico.
È essenzialmente la stessa di prima; l’idea è di mostrare le potenzialità del sistema, che rende più semplici molti compiti che andavano reinventati ogni volta. Per esempio, invece del complicato \@for\next:=#1\do{…} per trattare con liste di elementi separati da virgole, c’è
`\clist_map_inline:nn {#1} {codice da eseguire in cui i successivi elementi della lista si indicano con ##1}`
Niente \next e, per di più, gli spazi attorno agli elementi sono eliminati automaticamente.Ciao
Enrico
::
A qualcuno potrebbe interessare la macro per le frazioni continue realizzata con LaTeX3; c’è qualche lieve modifica rispetto alla precedente, ma niente di fondamentale. Il comando \cfracdots può essere usato per indicare omissioni di termini. La cosa in più è la versione asterisco che produce la versione “in linea”.`\documentclass[a4paper]{article}
\usepackage{amsmath,xparse}\ExplSyntaxOn
\NewDocumentCommand{\cfracdots}{ }
{
\rule{0pt}{2.5\baselineskip}
\raisebox{\baselineskip}{\quad$\ddots$\quad}
}
\NewDocumentCommand{\xcontfrac}{ s >{\SplitArgument{1}{;}}m }
{
\IfBooleanTF{#1}
{ \cfrac_inline:nn #2 }
{ \cfrac_map:nn #2 }
}\cs_new:Npn \cfrac_inline:nn #1 #2
{
\IfNoValueTF { #2 }
{
\tl_use:N \c_cfrac_message_tl
\xcontfrac*{;#1}
}
{
\group_begin:
\cs_set_eq:NN \cfracdots \dots
[ \tl_if_empty:nTF { #1 } { 0 } { #1 } ; #2 ]
\group_end:
}
}\tl_const:Nn \c_cfrac_lbrace_tl { \if_true: { \else: } \fi: }
\tl_const:Nn \c_cfrac_rbrace_tl { \if_false: { \else: } \fi: }
\tl_const:Nn \c_cfrac_strut_tl { \vrule width 0pt depth .3\baselineskip }
\tl_const:Nn \c_cfrac_message_tl
{
\typeout{Wrong~syntax~for~\token_to_str:N \xcontfrac,~
assuming~0~in~the~integer~part,~on~line~\the\inputlineno.}
}
\tl_new:N \l_cfrac_left_tl
\tl_new:N \l_cfrac_right_tl\cs_new:Npn \cfrac_map:nn #1 #2
{
\tl_clear:N \l_cfrac_left_tl \tl_clear:N \l_cfrac_right_tl
\IfNoValueTF { #2 }
{
\tl_use:N \c_cfrac_message_tl
\xcontfrac{;#1}
}
{
\tl_if_empty:nTF { #1 }
{ \cfrac_map_aux:n { \exp_not:N \use_none:n , #2 } }
{ \cfrac_map_aux:n { #1 , #2 } }
}
}
\cs_new:Npn \cfrac_map_aux:n #1
{
\clist_map_inline:nn { #1 }
{
\tl_put_right:Nn \l_cfrac_left_tl { \cfrac_begin:n { ##1 } }
\tl_put_right:Nn \l_cfrac_right_tl { \exp_not:N \c_cfrac_rbrace_tl }
}
\tl_set:Nx \l_cfrac_left_tl
{ \l_cfrac_left_tl \c_cfrac_strut_tl \l_cfrac_right_tl }
\tl_set:Nx \l_cfrac_left_tl { \l_cfrac_left_tl }
\exp_after:wN \use_none:nnn \l_cfrac_left_tl
}
\cs_new:Npn \cfrac_begin:n #1
{
\exp_not:n
{ + \exp_not:N \cfrac { 1 } \c_cfrac_lbrace_tl #1 }
}
\ExplSyntaxOff\begin{document}
\begin{gather*}
\xcontfrac*{1;2,3,4}=\xcontfrac{1;2,3,4} \\
\xcontfrac*{;2,3,4}=\xcontfrac{;2,3,4} \\
\xcontfrac*{2,3,4}=\xcontfrac{2,3,4}
\end{gather*}
\end{document}`
Ciao
Enrico
::supermad86″ post=67822Ho fatto così:
`
\lstset{numbers=left, numberstyle=\tiny,}
\lstset{backgroundcolor=\color{lightgray}}
\begin{lstlisting}
lsnrctl start
export ORACLE_SID=PROD
sqlplus /as sysdba
> startup nomount;
> alter database mount standby database;
exit
export ORACLE_SID=PROD32
sqlplus /as sysdba
> startup nomount;
> alter database mount standby database;
\end{lstlisting}
`
ma il risultato non è il massimo 🙁`\lstset{numbers=left, % vogliamo numerare le righr
numberstyle=\tiny, % i numeri sono piccoli
basicstyle=\ttfamily, % usiamo il carattere dattilografico
columns=fullflexible, % niente emulazioni di allineamento
backgroundcolor=\color{lightgray}, % colore di sfondo
language=SQL, % linguaggio usato
}`
Non è necessario ripetere queste dichiarazioni ogni volta: se usi solo “SQL queries”, ti basta mettere questo nel preambolo.
Ciao
Enrico
::samiel” post=67812DUbbio (forse inconsistente) sul codice:
`
\subsection{Modifiche del layout}
\label{sec:layoutanderungen}
I margini di pagina prodotti dalle classi standard….`
Dopo \label e perciò prima dell’inizio del testo
è opportuno metterci una riga vuota
o non c’è alcune differenza?M
Di solito la lascio per maggiore evidenza nel codice: due righe vuote prima e una dopo. Ma non fa alcuna differenza.
Forse è meglio “impostati” che “prodotti”.
Ciao
Enrico
::Gero27″ post=67787
Secondo me hai copie “bacate” dei pacchetti LaTeX3 da qualche parte. Qual è il file che XeLaTeX sta leggendo quando viene emesso l’errore? Lo trovi nel .log: cerca l’errore e risali fino a trovare un nome di file.
Ciao
EnricoGrazie Enrico. Quando compilo col Mac è
`/usr/local/texlive/2011/texmf-dist/tex/latex/expl3/l3fp.sty
Package: l3fp 2011/03/19 v2201 L3 Experimental floating-point operations`
mentre quando compilo con Windows è
`”C:\Programmi\MiKTeX 2.9\tex\xelatex\xetex-def\xetex.def”
File: xetex.def 2009/11/22 v0.94 LaTeX color/graphics driver for XeTeX (RRM/JK)`
non so se può essere di qualche utilità ma allego i log completi.OldClaudio” post=67782Ruggero, non so proprio che cosa ti stia succedendo.
Quello che ti posso consigliare a questo punto sul tuo Mac (non è quello di lavoro, no?) è quello di disinstallare completamente MacTeX che tanto è obsoleto, usando anche un programmino di pulizia dei residui per eliminarne ogni traccia.
Grazie Claudio, va bene, proverò a fare come dici. Cercare di sostituire i file manualmente è un’idea pessima? 😀 Perché mi son procurato il dtx della versione aggiornata di expl3 e pensavo di cercare di semplicemente sostituirlo con quello che mi son ritrovato (non so come) io…
OldClaudio” post=67782Partizione? non usi Paralles che ti consente di virtualizzare due o più sistemi? forse hai un hard disk piccolo e non alloca abbastanza spazio per i sistemi virtualizzati?
Non virtualizzo perché il motivo principale per cui ogni tanto necessito di Windows è Matlab, e a volte devo fare lavori molto pesanti, tipo dare un colpo di Matlab e aspettare la mattina dopo per i risultati… 😀 virtualizzare (e magari intanto usare il Mac OS per altro) intanto che Matlab con l’aggiunta di Parallels si ciuccia tutta la CPU che può, rende il tutto abbastanza scricchiolante!
Installare manualmente expl3 è l’ultimissima risorsa. Secondo me soffri di un problema che qualche volta si è presentato: hai i pacchetti nel posto sbagliato e probabilmente in due diversi. Apri TeX Live Utility e premi sul pulsante “Packages”; attendi che il programma presenti la lista. Se nella finestrella in alto della ricerca scrivi expl3 non dovrebbe rimanere nulla nella lista. Se qualcosa rimane, devi disinstallare quel pacchetto che è obsoleto.
Quando nella finestrella della ricerca scrivi l3 dovrebbero rimanere solo
l3experimental
l3kernel
l3packages
mil3(l’ultimo non c’entra nulla con i pacchetti LaTeX3, ma non disturba). Dovrebbero tutti avere a fianco la scritta “Installed”.
Se non c’è nulla quando scrivi expl3, allora devi andare manualmente: è facile e non rischioso. Apri il terminale e scrivi
`cd
mkdir Temporanea-expl3
sudo mv -fr /usr/local/texlive/2011/texmf-dist/tex/latex/expl3 Temporanea-expl3
sudo mktexlsr`
Ogni riga va terminata con “Return”.Riprova a compilare. Se tutto è a posto, cestina la cartella Temporanea-expl3 che trovi nella tua Home.
Ciao
Enrico
::Gero27″ post=67779
Direi che il messaggio è chiaro, il tuo modulo expl3 è vecchio di 5 mesi rispetto a quello necessario per il tuo file.
Dunque aggiorna la tua distribuzione del sistema TeX.Il problema è che l’ho appena aggiornata! Deve avermi rovinato qualcosa qualche aggiornamento, probabilmente dovrò sistemare le cose a mano; potresti aiutarmi a farlo?
Ho provato anche a rispolverare la partizione Windows (XP) che avevo creato tempo fa per far girare qualche programma troppo pesante da virtualizzare, e su cui avevo già MiKTeX (a differenza della parte Mac dove è la prima volta che lo uso, ma è comunque tutto aggiornato); l’ultima volta che ho usato TeX su tale partizione è stata circa tre mesi fa, senza nessunissimo problema. Ieri sera la apro, eseguo tutti gli aggiornamenti disponibili da tre mesi a questa parte, e compilo… non funziona più neanche quella! 😀 Qua l’errore è:
`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
! LaTeX error: “kernel/command-not-defined”
!
! Control sequence \keys_set_known:nnN undefined.
!
! See the LaTeX3 documentation for further information.
!
! For immediate help type H.
!………………………………………..l.964 \cs_generate_variant:Nn \keys_set_known:nnN
{nx}
?`
Puoi dirmi che sta succedendo per favore??
L’unica cosa che m’è chiara di sicuro è che non mi sognerò mai di aggiornare la distribuzione TeX sul portatile di lavoro! 😀Ruggero
Secondo me hai copie “bacate” dei pacchetti LaTeX3 da qualche parte. Qual è il file che XeLaTeX sta leggendo quando viene emesso l’errore? Lo trovi nel .log: cerca l’errore e risali fino a trovare un nome di file.
Ciao
Enrico
::antonio.macrì” post=67765
\par è una primitiva di TeX che però ha un aspetto molto particolare: una coppia di “newline” consecutivi viene sostituita dal token “\par”, così come questo viene inserito automaticamente quando TeX trova un “comando verticale” come \vskip. Non viene inserito il significato primitivo di \par, ma proprio il token che ha quel nome. Per esempio
`\let\par\undefined`
seguito da una riga vuota produce un messaggio di errore. Naturalmente questa è una ridefinizione piuttosto sciocca, ma la peculiarità permette di ridefinire \par in modo che faccia quello che ci serve in alcune situazioni.Ciao
EnricoAllora ti chiedo: negli Appunti al paragrafo 8.1 (pagina 153) scrivi che l’esecuzione di \par comporta l’inserimento di quattro elementi: \unskip, \penalty10000, \hskip\parfillskip, \penalty-10000.
Dove è definito questo comportamento? Dentro un file TeX/LaTeX o è interno al compilatore?
Ti ringrazio!
Quello è il significato primitivo di \par.
Ciao
Enrico
::antonio.macrì” post=67762Grazie.
Non mi era chiaro perché si potesse fare
`\@ifnextchar\par{…}{…}
`dato che \par non è un carattere (e nemmeno la sua espansione). Mi sono rifatto ai tuoi Appunti (pagine 74-75, per chi ne fosse interessato) e ho risolto. 😉A proposito: dov’è definito \par?
Mi rimane una curiosità: perché hanno scelto come nome \@ifnextchar? Magari è vero che l’uso più diffuso è
`\@ifnextchar[{…}{…}
`(per quello che ho visto io), ma con quel nome non ho mai pensato di sfidare la sorte e provare con un token complesso invece di un carattere!In effetti il nome può ingannare, ma l’uso principale è proprio per definire i comandi con argomento opzionale o con la variante * oppure quelli dell’ambiente picture che vogliono la parentesi tonda.
\par è una primitiva di TeX che però ha un aspetto molto particolare: una coppia di “newline” consecutivi viene sostituita dal token “\par”, così come questo viene inserito automaticamente quando TeX trova un “comando verticale” come \vskip. Non viene inserito il significato primitivo di \par, ma proprio il token che ha quel nome. Per esempio
`\let\par\undefined`
seguito da una riga vuota produce un messaggio di errore. Naturalmente questa è una ridefinizione piuttosto sciocca, ma la peculiarità permette di ridefinire \par in modo che faccia quello che ci serve in alcune situazioni.Ciao
Enrico
::etidus” post=67760scusate se continuo a importunarvi ma è difficile non abusare della vostra gentilezza…e forse non è la sezione giusta dove inserire questa domanda..
vi espongo il nuovo problema (che credo sia causato esclusivamente dalla mia inettitudine):
la facoltà vuole che per la redazione della tesi dei margini piuttosto grossi (5cm da sinistra e 4,5 da destra) ora, impostate tale caratteristiche sul documento, il corpo del testo è perfetto, ma purtroppo i titoli vengono tutti spezzati! vanno a capo con il trattino, e essendo titoli è veramente brutto da vedere, dato che secono me essi ben potrebbero sforare quella misura imposta al resto del testo.
come funziona? avete dei suggerimenti?
grazie ancora
Che cosa ha questo a che fare con il problema delle virgolette? Non serve a nulla accumulare domande su filoni che trattano altro.
Ciao
Enrico
::samiel” post=67756Quanche delucidazione su dubbi sorti durante la revisione finale:
1. meglio “grassetto” o “nero” ?
2. siccome non so la cosa, non riesco a tradurre. Il pacchetto amsmath
definisce \frac{}{} in modo che si ha errore se si usa \over
oppure ridefibisce \over come \frac con delle modifiche?Poi vediamo se mi sorgono altri dubbi…
M
1. Nero o neretto
2. \over viene ridefinito in modo da dare un messaggio di avviso (una volta sola)
`Package amsmath Warning: Foreign command \over;
(amsmath) \frac or \genfrac should be used instead`
Ciao
Enrico
::OldClaudio” post=67752Purtroppo non serve piangerci addosso se gli idraulici e i tubisti non si sono ancora aggiornati all’SI; tra l’altro usano ancora le filettature anglosassoni oltre che pollici convenzionali che in sostanza hanno poco a che vedere con i 25,4mm ufficiali.
Il problema di @GTK è più complesso; non può usare i decimali ma deve usare le frazioni binarie, quindi i suoi 2,5 pollici devono essere resi con 2”1/2 con l”unità di misura dopo la parte intera e la frazione in base 2, 4, 8, 16, ecc. scritta subito dopo. Non credo che per lui sia un problema scrivere la frazione con la barra diagonale e con i numeri più piccolini; forse una macro del tipo.
`
\newcommand\tubo[3]{\ensuremath{#1''\^{#2}\!/\!_{#3}}}
`
potrebbe essergli può utile e potrebbe scrivere “una serpentina da \tubo{1}{3}{8}” per indicare un tubo da 1”3/8.
Non ho idea di dove si mettano abitualmente i due apici (attenzione: due apici/apostrofi, non un doppio apice diritto) quando la parte intera è nulla e non credo che voglia scrivere \tubo{0}{3}{8} per un tubo da 3/8 di pollice.Da quello che vedo si scrive semplicemente un trattino:
`\newcommand{\tubo}[1]{$\mathcode`-=`- #1''$}\tubo{1-1/2}`
Ciao
Enrico
::Gero27″ post=67751
Direi che il messaggio è chiaro, il tuo modulo expl3 è vecchio di 5 mesi rispetto a quello necessario per il tuo file.
Dunque aggiorna la tua distribuzione del sistema TeX.Il problema è che è tutto aggiornato! E a farlo a mano è un casino perché expl3 a sua volta mi richiede xsparse ecc…
Devo scegliere se usare un altro sistema e consegnare il lavoro, o morire tentando di farlo funzionare sul Mac 😀Sicuro che TeX Live Utility ti dice che tutto è a posto? Io uso abbastanza pesantemente i pacchetti “expl3” e non ho alcun problema.
Ciao
Enrico
::robitex” post=67748
In alcuni campi, come l’impiantistica termoidraulica, sono di uso comune i pollici per designare i diametri dei tubi.
Trovandomi a stilare dei computi metrici con LaTeX, ho ricercato in rete i metodi più comuni sulla scrittura delle unità di misura imperiali (a oggi ancora in uso ufficiale negli Stati Uniti): ho pensato che, essendo TeX e LaTeX nati negli States, esempi e magari pacchetti dedicati non mancassero.Il risultato, invece, è stato ben diverso dalle attese, nel senso che non esistono pacchetti dedicati e gli esempi in rete sono scarsi (per molti si dovrebbe dire “per fortuna” 😀 ).
Venedo al nocciolo, per scrivere tubo da “2,5 pollici” ho trovato questo frammento di codice:`$2^{\verb+”+}\,1/2$`
può essere corretto?Lorenzo
Io uso il pacchetto siunitx per comporre numeri con relativa unità di misura. Non ci si preoccupa più dei dettagli e se ci si trova in ambiente matematico od in ambiente testo. Nella logica di utilizzarlo in generale, puoi risolvere come in questo esempio:
`\documentclass{article}
\usepackage[output-decimal-marker={,}]{siunitx}\begin{document}
\SI{12.3}{“}
\end{document}
`Se ti occorre rendere un numero usa \num{
}, se ti serve comporre solamente l’unità di misura usa \si{ } (\SI prende i due argomenti numero e unità). Per esempio:
`L'area del pavimento trattato è pari a \( \num{5.00} \times \num{2.00} = \SI{10}{m^2}\)
e la lunghezza delle tubazioni per realizzare la serpentina radiante è
di \SI{32.23}{m} con tubo da \SI{1}{“}.`Un saluto.
R.Temo che il risultato sia scorretto.
`\documentclass{article}
\usepackage[output-decimal-marker={,}]{siunitx}
\DeclareSIUnit[number-unit-product={}]{\inch}{$''$}\begin{document}
\SI{12.3}{\inch}
\end{document}`
Ciao
Enrico
::chuck bass” post=67732salve. voglio creare una tabella (o matrice) 3 x 3.
nella casella 1×1 (in alto a sinistra) vorrei dividere la cella con una linea diagonale (dall’alto a sinistra fino in basso a destra) e vorrei poter inserire in ciascuna parte del testo (una o due parole)
è possibile in latex??
È possibile, ma è bruttissimo. Ecco un esempio in cui ciò che vorresti mettere nelle due metà è invece sistemato al suo posto.
`\begin{tabular}{lcc}
\toprule
\bfseries Ammennicoli & \multicolumn{2}{c}{\bfseries Valutazioni} \\
\cmidrule(lr){2-3}
& \bfseries Utilità & \bfseries Bellezza \\
\midrule
Cempi & 12 & 10 \\
Fristi & 10 & 24 \\
Dunchi & 42 & 0 \\
\bottomrule
\end{tabular}`
Come sempre occorre il pacchetto booktabsCiao
Enrico
-
AutoreRisposte