Risposte nei forum create
-
AutoreRisposte
-
::
ciao a tutti,
ecco un po’ di codice estratto dalla tesi:
\documentclass[a4paper,12pt,titlepage,oneside]{extreport}
\usepackage[english,italian]{babel}
\usepackage[ansinew]{inputenc}
\usepackage[T1]{fontenc}
… (altro pacchetti, tipo \url ed altri)
\hyphenation{RFID}
…
ed ecco qui il codice della proposizione incriminata:
“Da questo momento l’RFID (il “busillis” e’ qui…) perderà lo status di tecnologia pionieristica per diventare una tecnologia in grande e continua espansione con effettivi obiettivi commerciali.”Ecco l’arcano mistero ❗
La tua parola non è “RFID”, ma “l’RFID”. L’italiano ha il problema dell’apostrofo che lega articolo o preposizione articolata e parola (talvolta due parole, come “nessun’altra”). Per evitare problemi nella sillabazione di parole che seguono l’apostrofo, l’apostrofo stesso è considerato come lettera.
Hai due scelte: scrivere \hyphenation{RFID l’RFID dell’RFID all’RFID dall’RFID} oppure evitare quell’apostrofo. Personalmente preferirei non appiccicare apostrofi ad acronimi di quel tipo.
Se intendi proseguire con gli apostrofi davanti agli acronimi, ti consiglio un’altra possibilità:
`\newcommand{\myacronym}]1]{\mbox{\scshape#1}}
\newcommand{\RFID}{\myacronim{rfid}}
…
Da questo momento l'\RFID{} perderà lo status…`
Gli acronimi in tutte maiuscole sono poco gradevoli. Se poi il solito supervisore poco incline alle considerazioni tipografiche ti dicesse che gli acronimi vanno in tutte maiuscole, basterebbe cambiare la prima riga in
`\newcommand{\myacronym}[1]{\mbox{\MakeUppercase{#1}}}`
e tutti gli acronimi definiti seguendo lo schema della seconda riga usciranno in tutte maiuscole. In ogni caso, \mbox impedirà sillabazioni poco opportune.A proposito del fatto che [\hyphenation agisce solo per la sillabazione nella lingua in vigore nel momento in cui viene letto il comando, vorrei sapere se per una tesi in italiano e’ consigliabile scrivere:
\usepackage[english,italian]{babel}
oppure:
\usepackage[italian,english]{babel}La prima, naturalmente.
Ciao
Enrico
::ciao a tutti,
non riesco a forzare la NON sillabazione della parola “RFID” con LaTeX, nonostante il fatto che ho seguito tutta la procedura descritta nel forum per attivare la sillabazione (il file di log mi da’ un rassicurante “Babel
and hyphenation patterns for english, dumylang, nohyphenation, italian, loaded.”). Utilizzo il MiKTeX 2.5, ho messo \hyphenation{RFID} nel preambolo del file principale della tesi, ma c’e’ un caso in cui lo spezza male -> R-FID!!!
Nessun’idea? (nel forum non ho trovato niente di utile per risolvere il problema)
Citazione di una citazione del TeXbook:
If all problems of hyphenation have not been solved,
at least some progress has been made since that night,
when according to legend, an RCA Marketing Manager received
a phone call from a disturbed customer. His 301 had just hyphenated “God.”
PAUL E. JUSTUS, There’s More to Typesetting Than Setting Type (1972)
in IEEE Transactions on Professional Commun. vol PC-15, pp. 13–15Non dovrebbe succedere se non giochicchi con \lefthyphenmin e \righthyphenmin e con le lingue. Ricorda che \hyphenation agisce solo per la sillabazione nella lingua in vigore nel momento in cui viene letto il comando.
`\documentclass{minimal}
\usepackage[english,italian]{babel}\hyphenation{proprio}
\begin{document}
\showhyphens{proprio}
\selectlanguage{english}
\showhyphens{proprio}
\end{document}`
Compilando questo sorgente avrai due messaggi:
`Underfull \hbox (badness 10000) in paragraph at lines 8–8
[] \OT1/cmr/m/n/10 proprioUnderfull \hbox (badness 10000) in paragraph at lines 12–12
[] \OT1/cmr/m/n/10 pro-prio`
Infatti il secondo comando \showhyphens appare quando è in vigore l’inglese, con le sue regole. Il comando \hyphenation è stato dato con in vigore l’italiano, ultima lingua nelle opzioni a babel.In quale contesto avviene la sillabazione di “rfid”?
Ciao
Enrico
::Ciao Enrico, mi dispiace che tu abbia perso del tempo per rispondermi, alla fine sono riuscito a combinare, grazie a questo messaggio: <http://article.gmane.org/gmane.comp.tex.danish/4960> (fortunatamente il linguaggio è «universale», perché il danese proprio non lo capisco).
Come vedi, la soluzione è molto simile a quella che ti ho indicato io
Non si finisce mai di imparare. Ad ogni modo, sono rimasto colpito dal fatto che l’unità di misura di quella lunghezza non è qualcosa di relativo, come em. Immagino che questo voglia dire che classi di documento diverse (se vogliono) ridefiniranno questa lunghezza secondo le loro esigenze. Me la immaginavo come un qualcosa di «intoccabile».
È una scelta di chi disegna la classe del documento. Il fatto che chiedendo
`\showthe\parindent`
la risposta sia in punti è perché così vengono sempre rappresentate le dimensioni: puoi darle in cm, dd, bp, em, eccetera, ma internamente vengono sempre convertite nell’unità sp (65536sp=1pt) e mostrate in punti (pt).Memore di un’altra conversazione che abbiamo avuto un po’ di tempo fa (<http://www.guit.sssup.it/phpBB2/viewtopic.php?p=7872#7872>), mi sono chiesto se anche nella definizione di questo ambiente ci sarebbe stato bisogno di uno «\ignorespaces», ma sembrerebbe che con una o più andate a capo il risultato (in questo caso) sia identico. Immagino dipenda dal fatto che ci troviamo in un contesto differente.
Ci pensano già minipage e lrbox.
Ciao
Enrico
::Accidenti, ha funzionato! Grazie 🙂
Ho rinominato .profile e bash_profile, chiuso e riaperto la shell e boom, funziona.
A questo punto mi chiedo quale sia il problema nei file della mia home.
A dire la verità ho un sospetto. Avevo creato i file con textmate, che di default codifica in UTF-8; può essere un problema di encoding dei caratteri?
DavideMa dai! 😀
Ciao
Enrico
::Un paio di settimane fa, su consiglio di egreg, avevo installato miktek; il tool mpm sembrava funzionare, tant’è che avevo installato anche un pacchetto. Poi, e non mi spiego il perchè, avevo avuto problemi con la shell; il path /usr/local/bin non sembrava settato, anche se avevo opportunamente modificato i file nella mia home; ne sono venuto a capo solo aggiungendo il path in /etc/profile. Con questa modifica i tool installati in /usr/local/bin hanno ripreso a funzionare, tutti tranne miktex.
Ora se scrivo mpm –help o mpm –usage tutto a posto, ma con qualsiasi altro comando ottengo l’errore:
`*** locale::facet::_S_create_c_locale name not valid`
Ho spulciato com.text.tex, dove un thread riportava questo errore, ma in fase di installlazione, e senza risposta.
Avete una qualche idea?Non molte. 😥
Se il .profile nella tua home non funziona potrebbe essere un problema lì. Non dovrebbe essere necessario modificare /etc/profile, anche perché con una reinstallazione del sistema perderesti le modifiche.
1) Prova a rinominare .profile in modo da evitarne la lettura e vedi che succede. Fa’ lo stesso con .login e .bashrc (se li hai).
2) Prova a ricompilare mpm e a reinstallarlo.
Ciao
Enrico
4 Gennaio 2007 alle 20:07 in risposta a: Errore in compilazione, “keyboard character undefined&q #11963::MI rispondo da solo: dopo 2ue ore di debug ho capito dov’era il problema. In sostanza un elemento della mia bibliografia aveva un carattere invisibile di ‘a capo’ nel titolo; quando stampavo la biliografia il compilatore segnalava l’errore.
Come avrai capito è difficile rispondere senza avere un esempio. I caratteri invisibili sono bestie difficili da isolare.
Ciao
Enrico
::Riciao a tutti.
L’enfasi con il nero è pericolosa: si corre il rischio di appesantire molto la pagina.
[…]
Un corsivo va più che bene.Certamente, la maggior parte del testo del documento dovrebbe essere lineare, e se ogni tanto c’è bisogno di enfatizzare qualcosa, «\emph» va benissimo. Tuttavia, ho sempre creduto che un livello di enfasi superiore all’enfasi «normale» potesse ritornare utile. Come ho scritto prima, ho preso spunto da HTML, che consente questa enfasi superiore mediante l’elemento «STRONG» (la resa grafica prodotta da questo elemento è proprio del testo in grassetto).
Non paragoniamo le mele con le pere: HTML e TeX sono concepiti per scopi molto diversi.
Una piccola annotazione: per la tua definizione sarebbe molto meglio
`\newcommand{\strong}{\textbf}`
senza lettura di argomenti.Questa annotazione ti chiederei cortesemente di spiegarmela: non metto in dubbio che tu abbia ragione, come sempre, ma non mi è del tutto chiaro perché la mia definizione
`\newcommand{\strong}[1]{{\bfseries#1}}`
non andava bene. Ci sono un po’ di cose che non mi tornano:
[ol][li] devo aver letto da qualche parte, tempo fa (forse in un esempio sulle marche nella documentazione di «fancyhdr»?), che nella definizione di un comando era prassi comune usare «\bfseries» al posto «\textbf»; da qualche altra parte (può darsi che l’abbia scritto tu in qualche vecchio messaggio), invece, ho letto che era «\bf» il comando che non si doveva usare più per la questione di NFSS; perché quindi non va bene usare «\bfseries»?
[li] «\textbf» si aspetta un parametro, il testo che deve evidenziare in grassetto; nella mia definizione, ne ho tenuto conto:
`\newcommand{\strong}[1]{\textbf{#1}} % nuova versione`
tu invece me lo scrivi come:
`\newcommand{\strong}{\textbf}`
questo vorrebbe forse dire che se c’è corrispondenza tra il numero di parametri che si aspettanto due comandi (uno dei quali deve ridefinire l’altro) è prassi comune non specificarli, questi parametri (nella definizione)?
[li] perché, a questo punto, non basterebbe un:
`\let\strong\textbf`?[/ol]Parto dal fondo: andrebbe benissimo l’ultima soluzione. Ma non è sintassi LaTeX, tutto qui; ciò che non è documentato nel manuale va usato con cautela, soprattutto dagli inesperti.
Il comando da non usare è \bf. Invece \bfseries e \textbf sono più che leciti, ma servono per scopi diversi. Il primo è una dichiarazione, che vale per tutto il gruppo in cui si trova; se vuoi definire un ambiente dove il testo va stampato in nero, è il comando da usare.
Il secondo comando è invece un comando con argomento. La definizione
`\newcommand{\strong}{\textbf}`
al principio appare strana, perché si sospetta che non si passi l’argomento corretto al comando \textbf. Non è così: il compilatore TeX che si trova il comando \strong sostituisce la sua definizione, cioè \textbf; siccome questo vuole un argomento, TeX lo cerca. Però solo dopo aver eseguito la sostituzione! Ecco spiegato l’arcano.Con una definizione come
`\newcommand{\strong}[1]{{\bfseries#1}}`
fai leggere a TeX l’argomento due volte, invece che una sola.Per finire, c’è differenza fra \textbf{…} e {\bfseries…}? Guarda con attenzione il risultato di
`\textbf{f}i {\bfseries f}i`
Ciao
Enrico
::Salve a tutti,
come richiesto nella discussione sottolineato reperibile all’indirizzo <http://www.guit.sssup.it/phpBB2/viewtopic.php?t=396>, ho provato a scrivere un ambiente per un’enfasi «molto forte» per una porzione di documento, che si capisse subito essere di grande rilievo e che saltasse subito all’occhio; pensavo di risolvere in quattro e quattr’otto, e invece non ho cavato un ragno dal buco, in quanto sono saltati fuori più problemi che soluzioni. Ci sono rimasto male.Un ambiente di questo tipo me l’ero immaginato come un blocco di testo racchiuso in un riquadro. Questo era un esempio di prova (non ridete per l’ambiente «center», so che non si dovrebbe usare, ma questa era solo una prova; fossi stato in grado di realizzare l’ambiente finale «enfasiForte» avrei richiamato «\centering»):
`Testo normale\begin{center}
{\fboxsep=.5em\fbox{\begin{minipage}{.9\linewidth}\setlength{\parindent}{1.5em}
Testo importanteTesto importante
\end{minipage}}}
\end{center}Testo normale
`Non c’è niente di male a usare l’ambiente center. Non va usato all’interno di un ambiente figure o table, ma è un’altra faccenda.
L’esempio che avete appena visto, funziona. L’unico problema (fin qui) che non sono stato in grado di risolvere è che l’ambiente «minipage» azzera «\parindent»; da <http://www.eng.cam.ac.uk/help/tpl/textprocessing/teTeX/latex/latex2e-html/ltx-267.html>:
There is no paragraph indentation in the minipage environment. That is, LaTeX sets \parindent to zero; however, you may override this with a \setlength command.
Bel suggerimento, ma quanto vale «\parindent»? un «\the\parindent» esplicito nel corpo mi ritorna 15.0pt, ma dubito seriamente che nei sorgenti di LaTeX (o di TeX) questa grandezza sia stata definita in modo non elastico. Come potete vedere sopra, ho provato a cavarmela «a occhio» con 1.5em, ma se qualcuno sa riportarmi la definizione di «\parindent» (o dirmi in quale file si trova) gliene sarò eternamente grato.
Vale quanto vale 🙂 Di sicuro non è una lunghezza elastica, non avrebbe senso.
Detto ciò, ho provato a passare alla definizione di un ambiente apposito:
`\newenvironment{enfasiForte}{%
\par\medskip\centering{\fboxsep=.5em\fbox{\begin{minipage}{.9\linewidth}\setlength{\parindent}{1.5em}%
}%
{%
\end{minipage}}}\par\medskip%
}`
che, naturalmente non funziona.No, non funziona. Non puoi aprire una graffa nella prima parte e chiuderla nella seconda. L’unico modo è di usare l’ambiente lrbox, ideato proprio per questo.
`\newsavebox{\eFbox}\newlength{\eFlen}\newenvironment{enfasiForte}{%
\par\medskip
\setlength{\eFlen}{\parindent}% memorizzo la dimensione del rientro
\centering % prima di dare \centering che la azzera
\fboxsep=.5em
\begin{lrbox}{\eFbox}%
\begin{minipage}{.9\linewidth}
\setlength{\parindent}{\eFlen}%
}
{%
\end{minipage}%
\end{lrbox}
\fbox{\usebox{\eFbox}}%
\par\medskip
}`
Ciao
Enrico
::Non solo, ma quel comando non andrebbe neppure usato nel corpo del documento. Io farei così, prendendo spunto dall’HTML: in quel linguaggio esistono sia un’enfasi «normale» (l’elemento «EM», che corrisponde al comando «\emph» di LaTeX) che un’enfasi «forte» (l’elemento «STRONG»). Siccome quest’ultima in LaTeX non c’è, perché non crearla?
`\newcommand{\strong}[1]{{\bfseries#1}}`L’enfasi con il nero è pericolosa: si corre il rischio di appesantire molto la pagina. Un corsivo va più che bene. Una piccola annotazione: per la tua definizione sarebbe molto meglio
`\newcommand{\strong}{\textbf}`
senza lettura di argomenti. L’inesperto si chiederà: perché definire un comando che fa esattamente la stessa cosa di un comando già esistente?Risposta: è utilissimo farlo se con il nuovo comando si vuole indicare una struttura logica del nostro documento. Se poi il solito supervisore pignolo dice che non gli piace il modo con cui quella struttura viene resa, basta cambiare la definizione del comando definito, invece di cercare nel documento dove appare il comando \textbf.
Ciao
Enrico
::io ho un problema simile. Nell’introduzione e nella conclusione della mia tesi vorrei enfatizzare le frasi più importanti. Siccome:
1) il \emph l’ho già usato per enfatizzare le parole chiave;
2) il grassetto \textbf{} mi pare troppo pesante;
3) l’ambiente quote anche mi pare troppo pesante;
avevo anch’io pensato al sottolineato, ma sono stato rapidamente smentito dalla risposta di Enrico a Samantha!La soluzione migliore che ho trovato, e che mi ha anche soddisfatto, è stato l’uso del carattere \textsl{}.
La sottolineatura è esclusa, non c’è dubbio, ma escluderei anche il carattere incliinato (non me ne voglia il Grand Wizard in persona che lo usa nel TeXbook al posto del corsivo). In un’introduzione o nelle conclusioni non dovrebbero esistere “frasi più importanti”. Sarà semmai la scrittura stessa a far capire quali siano i periodi principali. Non esiste espediente tipografico che permetta di rendere leggibile ciò che non lo è. Se devi mettere in evidenza un brevissimo passaggio di testo, il corsivo va benissimo, lo si usa da alcuni secoli proprio per quello.
Ciao
EnricoPS: quando trovo un capitoletto finale dal titolo “Conclusioni” nulla mi toglie dalla mente l’idea che sia un espediente per evitare al lettore la fatica di leggersi l’intero testo. 😀
::Ciao a tutti !
ho un piccolo problema con l’ambiente “description”:
la descrizione di una singola voce non è a capo rispetto alla voce stessa come vorrei.Io vorrei che andasse a capo così e ho visto documenti in cui questo viene fatto:
Cucchiaio
Lo si usa per mangiare le zuppe, le paste in brodo, ……le ho provate tutte 😕 e ho letto tante guide ma nessuna traccia.
Non hai cercato abbastanza 😉
C’è un pacchetto che fa proprio quello che vuoi tu. Ma poi non protestare se magari è incompatibile con altri che usi.
`\usepackage{expdlist}
…
\begin{description}[\breaklabel\setleftmargin{0pt}]
\item[Cuciaro] Se usa par magnar pasta e fasioi a Venesia
\item[Scuiero] El steso de prima, in altri posti
\item[Piron] Se ghe impirona la carne e altre robe
\item[Corteo] Par taiare la carne o altre robe (anca par scorteare la zente)
\end{description}
Notare la curiosità che “piron'' in Liguria indica un aggeggio per bere: una specie di bottiglia con un beccuccio dal quale esce un getto di liquido controllabile facilmente anche se la nave rolla o beccheggia.`
Ciao
Enrico
::Già, mi sono reso conto che \footcite accetta senza problemi i parametri vuoti, quindi la soluzione ‘pigra’ funziona.
A questo punto mi chiedo se si possa rendere il comando più flessibile.
Sarebbe possibile far si che se il comando si trova in un environment \footnote anzichè \footcite diventi un semplice \cite?\footnote è un comando e non un ambiente; questo provoca qualche piccolo problema. Ammesso che \cite accetti gli stessi argomenti di \footcite e che tu abbia caricato il pacchetto color, questo potrebbe funzionare:
`\makeatletter
\let\orig@makefntext\@makefntext
\def\@makefntext{\let\footcite\cite\orig@makefntext}
\makeatother`
Se \cite non accetta gli stessi argomenti di \footcite, occorre qualcosa di più.Se non hai fra i pacchetti caricati color, è il momento di chiamarlo in causa. Il motivo è un po’ misterioso, ma non difficile.
Ciao
Enrico
::Vi ringrazio entrambi.
Ho provato entrambe le soluzioni. Quella di egreg mi bloccava la compilazione quando omettevo il parametro opzionale; il log mi diceva che mancava il comando \fi.
Alla fine, ho lavorato sul suggerimento di rodimus e ho impostato il comando così:
`
\newcommand{\dub}[2][]{\footcite[#1][#2]{Joyce:2000-518}}
`
Mi sembra che funzioni bene.
Voi cosa dite? C’è qualche problema potenziale?
Grazie ancora per l’aiuto,
DavideSolito errore di copia-incolla: ci manca un \fi, infatti, prima dell’ultima graffa. 😥
Dipende da come è definito il comando \footcite: se la presenza di un primo argomento opzionale vuoto non lo disturba, la soluzione che hai è ottima.
Ciao
Enrico
::Salve a tutti, e buon 2007.
Sto provando a usare \newcommand per sveltire l’inserimento di citazioni delle fonti primarie della mia ricerca. Faccio presente che per gestire la mia bibliografia uso biblatex.
Ecco, per esempio, il comando \dub, che uso per citare Gente di Dublino di James Joyce.`\newcommand{\dub}[1]{\footcite[{#1}]{Joyce:2000-518}}`
Ora, questo comando funziona bene; è sufficiente che nel testo metta
`\dub{5}`
Ed appare una citazione a piè di pagina della pagina 5 di Gente di Dublino.Vorrei però migliorare il comando. Con biblatex, l comando \footcite consente di inserire un ulteriore parametro opzionale, con questa sintassi:
`\footcite[testoPrima][testoDopo]{BIBKEY}`
Se si inserisce un solo parametro, biblatex lo considera ‘testoDopo‘, e lo inserice dopo la citazione; con due parametri biblatex genera una nota con testoPrima citazione testoDopo.
Mi piacerebbe implementare la stessa funzionalità nel mio comando.
Così, per esempio, scrivendo \dub{10} dovrei vedereJoyce, Dubliners, p. 10.
Se invece scrivessi \dub{Si veda }{11}, vorrei vedere
Si veda Joyce, Dubliners, p. 11.
Ho cercato lumi su internet, ma non sono riuscito a implementare questo secondo parametro opzionale (che, importante, dovrebbe essere il primo se e solo se ce ne sono due).
Certo, agli ordini. 😀
`\newcommand{\dub}[2][]{\def\optdub{#1}%
\ifx\optdub\empty\footcite[#2]{Joyce:2000-518}\else\footcite[#1][#2]{Joyce:2000-518}}`
Definisci \dub con un argomento opzionale e uno obbligatorio; se l’argomento opzionale non è presente (o è vuoto), il condizionale nella definizione è vero.Lo usi come \dub[Si veda]{11} oppure come \dub{5}
Ciao
Enrico
::Il pacchetto probabilmente è installato correttamente; il problema è nei font type1 che sono disponibili solo per quelli a corpo 10. Ci stanno lavorando, nel frattempo occorre dare il comando
`\usepackage[10pt]{type1ec}`L’uso di type1ec, può darti qualche problemino da altre parti, quindi ti suggerisco un altro sistema: dopo aver chiamato il pacchetto teubner, puoi scrivere questo:
`\newcommand{\GRfamily}[5]{\DeclareFontShape{#1}{#2}{#3}{#4}{<->#51000}{}}
\DeclareFontFamily{LGR}{cmr}{}
\GRfamily{LGR}{cmr}{m}{n} {grmn}
\GRfamily{LGR}{cmr}{m}{sl} {grmo}
\GRfamily{LGR}{cmr}{m}{it} {grmi}
\GRfamily{LGR}{cmr}{m}{sc} {grmc}
\GRfamily{LGR}{cmr}{m}{ui} {grmu}
\GRfamily{LGR}{cmr}{bx}{sc} {grxc}
\GRfamily{LGR}{cmr}{bx}{n} {grxn}
\GRfamily{LGR}{cmr}{bx}{sl} {grxo}
\GRfamily{LGR}{cmr}{bx}{it} {grxi}
\GRfamily{LGR}{cmr}{bx}{ui} {grxu}
\DeclareFontShape{LGR}{cmr}{b}{n}
{<->ssub*cmr/bx/n}{}
\DeclareFontShape{LGR}{cmr}{b}{sc}
{<->ssub*cmr/bx/sc}{}`
che fa essenzialmente ciò che farebbe type1ec con l’opzione 10pt, ma limitato ai font greci.Ciao
Enrico
-
AutoreRisposte