Risposte nei forum create
-
AutoreRisposte
-
::
Auguri a tutti di buon Natale e buone feste!peppo” post=67109Auguri a tutti e grazie per l’aiuto.
Mi permetto di fare una letterina per un paio di Babbi Natali 😉
Cari Babbi Natali,
quest’anno sono stato un bravo tesista e sono quasi alla fine del mio lavoro ma, siccome Miede non mi fa dormire sonni tranquilli, vi pregherei di portarmi con l’anno nuovo (si lo so che fate consegne solo a Natale ma in qualche modo ci aggiustiamo) anthosthesis.cls ed arsclassica.cls.😀 😀 😀
Giusto per farvi sentire un po’ sotto pressione.
Grazie della menzione! 🙂
Purtroppo non è stato un regalo sotto l’albero, ma sono abbastanza fiducioso che il primo 2012 ci porterà qualche soddisfazione 😉
Antonio
22 Dicembre 2011 alle 13:37 in risposta a: \ac in corpo minore ma solo fuori da MakeText[Low|Upp]erCase #67954::egreg9″ post=67051È un hack, naturalmente; segnalo per bene come tale nel documento e non diffonderlo senza avvisare. 🙂
Ciao
EnricoHo fatto qualcosa di male? Perché non dovrei diffonderlo senza avvisare?
Finirà in un documento che dovrà essere usato da una ristretta cerchia di persone.A me sembra un metodo abbastanza pulito. Il primo argomento di \@uclcnotmath prende proprio alcune definizioni che vengono eseguite dentro un gruppo.
Leggo sempre con molta attenzione quello che scrivi. Tu la ritieni una soluzione di compromesso o troppo sporca?
Grazie
22 Dicembre 2011 alle 9:44 in risposta a: \ac in corpo minore ma solo fuori da MakeText[Low|Upp]erCase #67952::
Anzi, così non scomodo nemmeno etoolbox: 🙂
`\makeatletter
\pdfstringdefDisableCommands{%
\let\textsmaller\@firstofone}
\DeclareRobustCommand\ac{\textsmaller}
\newcommand\old@uclcnotmath{}
\let\old@uclcnotmath\@uclcnotmath
\def\@uclcnotmath#1{\old@uclcnotmath{#1\def\ac##1{##1}}}
\makeatother`Ciao,
Antonio
22 Dicembre 2011 alle 9:38 in risposta a: \ac in corpo minore ma solo fuori da MakeText[Low|Upp]erCase #67951::
Finalmente sembra che abbia trovato una soluzione! 😉`\documentclass{scrreprt}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[italian]{babel}
\usepackage[pdfspacing]{classicthesis}
\usepackage{relsize,etoolbox}\makeatletter
\pdfstringdefDisableCommands{%
\let\textsmaller\@firstofone}
\DeclareRobustCommand\ac{\textsmaller}
\patchcmd\@uclcnotmath{#1}{#1\def\ac##1{##1}}{}{%
\errmessage{Cannot patch \string\@uclcnotmath}}
\makeatother\begin{document}
\tableofcontents
\listoffigures
\chapter{Logica \ac{BAN}}
Questo capitolo presenta la logica \ac{BAN}…
\section{Particolarità \ac{BAN}}
Questo paragrafo…
\begin{figure}
\centering\Large\ttfamily FIGURA
\caption{Schema \ac{BAN}.}
\end{figure}
\end{document}`Ciao,
Antonio
21 Dicembre 2011 alle 21:44 in risposta a: \ac in corpo minore ma solo fuori da MakeText[Low|Upp]erCase #67950::mickey” post=67033GRazie. Ma in questo modo non mi funzionano più gli \hline (e le linee sotto e sopra non appaiono proprio). Mi servono come prima; come mai gli \hline non funzionano ?
EDIT: come mai non mi fungono \toprule, \midrule etc ??Sicuro di caricare booktabs?
\toprule, \midrule e \bottomrule, a differenza di \hline, sono fatti apposta per lasciare più spazio prima o dopo, a seconda che la linea stia in cima alla tabella o in fondo. Inoltre \midrule traccia una linea leggermente più stretta delle altre due (dato che sta all’interno della tabella, anziché delimitarla). In sostanza sono comandi che andrebbero preferiti di gran lunga ad \hline.
Ciao,
Antonio
21 Dicembre 2011 alle 21:23 in risposta a: \ac in corpo minore ma solo fuori da MakeText[Low|Upp]erCase #67949::egreg9″ post=67030No, usare \def\ac#1{#1} quando componi l’indice e le testatine.
Ciao
EnricoIl problema è che devo essere più selettivo e fare \textsmaller solo delle voci che effettivamente non sono in maiuscolo o maiuscoletto.
Ho pensato di fare così:
`\documentclass{scrreprt}\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[italian]{babel}
\usepackage[pdfspacing]{classicthesis}
\usepackage{relsize}\makeatletter
\pdfstringdefDisableCommands{%
\let\textsmaller\@firstofone}
\DeclareRobustCommand\ac{\textsmaller}
\let\old@mtuc\MakeTextUppercase
\renewcommand\MakeTextUppercase[1]{%
\begingroup\def\ac##1{##1}\old@mtuc{#1}\endgroup}
\let\old@mtlc\MakeTextLowercase
\renewcommand\MakeTextLowercase[1]{%
\begingroup\def\ac##1{##1}\old@mtlc{#1}\endgroup}
\makeatother\begin{document}
\tableofcontents
\listoffigures
\chapter{Logica \ac{BAN}}
Questo capitolo presenta la logica \ac{BAN}…
\section{Particolarità \ac{BAN}}
Questo paragrafo…
\begin{figure}
\centering\Large\ttfamily FIGURA
\caption{Schema \ac{BAN}.}
\end{figure}
\end{document}`
Sembra funzionare tutto a modo. (Uso classicthesis per fare prima il maiuscoletto.)Grazie ancora, Enrico.
Ciao,
Antonio
21 Dicembre 2011 alle 20:16 in risposta a: \ac in corpo minore ma solo fuori da MakeText[Low|Upp]erCase #67947::
No, in quel modo forzo ogni scrittura nei file ausiliari a venire espansa subito con un \@firstofone. La cosa non va bene nel caso di didascalie di figure o altro testo che non deve essere in maiuscolo o maiuscoletto.egreg9″ post=67022Uhm. Non va, in effetti. Temo che non ci sia molto da fare, al riguardo. Come saprai, i titoli delle sezioni sono usati anche per le testatine e l’indice, quindi è piuttosto difficile distinguere i significati di \ac. Piuttosto, lo neutralizzerei durante la composizione dell’indice e delle testatine.
Ciao
EnricoPer “neutralizzarlo” intendi metterci un \protect davanti? A mano?
Grazie,
Antonio
21 Dicembre 2011 alle 19:48 in risposta a: \ac in corpo minore ma solo fuori da MakeText[Low|Upp]erCase #67946::egreg9″ post=67022
[quote=”egreg9″ post=66986]\ifx\protect\typeset@protect
Ciao
EnricoCiao Enrico, grazie.
Non ho capito, a me quel test risulta sempre falso. 😕
Come devo scrivere?Uhm. Non va, in effetti. Temo che non ci sia molto da fare, al riguardo. Come saprai, i titoli delle sezioni sono usati anche per le testatine e l’indice, quindi è piuttosto difficile distinguere i significati di \ac. Piuttosto, lo neutralizzerei durante la composizione dell’indice e delle testatine.
Ciao
Enrico[/quote]
Aspetta un attimo, stavo leggendo i tuoi Appunti: 🙂 hai dimenticato un ‘@’?Così sembra andare:
`\documentclass{report}\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[italian]{babel}
\usepackage{textcase,relsize,titlesec}\makeatletter
\titleformat{\chapter}[hang]
{\normalfont\Large\sffamily}
{\normalfont\Large\scshape\sffamily\thechapter}
{\marginparsep}{\scshape\MakeTextUppercase}
\titleformat{\section}[hang]
{\normalfont\Large\sffamily}
{\normalfont\Large\scshape\sffamily\thesection}
{\marginparsep}{\scshape\MakeTextLowercase}
\let\old@l@chapter\l@chapter
\renewcommand\l@chapter[2]{\old@l@chapter{\scshape\MakeTextUppercase{#1}}{#2}}
\let\old@l@section\l@section
\renewcommand\l@section[2]{\old@l@section{\scshape\MakeTextLowercase{#1}}{#2}}\newcommand\ac{%
\ifx\protect\@typeset@protect
\ifx\NoCaseChange\@firstofone
\expandafter\textsmaller
\else
\expandafter\@firstofone
\fi
\else
\expandafter\@firstofone
\fi}
\makeatother\begin{document}
\tableofcontents
\chapter{Logica \ac{BAN}}
Questo capitolo presenta la logica \ac{BAN}…
\section{Particolarità \ac{BAN}}
Questo paragrafo…
\end{document}`In un modo o nell’altro sei sempre tu a dare soluzioni 🙂 Grazie!
Ciao,
Antonio
::SIGI” post=66990Ma boicottare il pacchetto facendone un fork che si inizi a sviluppare autonomamente e che abbia la retrocompatibilità come condizione?
“Boicottare” è un termine troppo forte, senza dubbio. Come ripete Lorenzo, Miede ha i suoi meriti ed è giusto riconoscerglieli, in qualche modo. Chi vuole usare ClassicThesis lo usi, e quando incapperà in qualche problema avrà il supporto (mio e) del forum.
Fatta questa premessa, confesso che anch’io mi sono sentito un po’ le mani legate usandolo e quindi ho pensato a scrivere qualcosa per svincolarmi dal codice di Miede. Questa è una prima bozza, se sei interessato. In questi giorni ho interrotto lo sviluppo a causa di altri impegni; fra qualche giorno dovrei rimettermici.
Ciao,
Antonio
21 Dicembre 2011 alle 14:37 in risposta a: \ac in corpo minore ma solo fuori da MakeText[Low|Upp]erCase #67944::peppo” post=66964Sono inoltre usciti due nuovi warning relativi ad arsclassica:
- Option `hyperfootnotes’ has already been used,(hyperref) setting the option has no effect on input line 209. Option `hyperfootnotes’ has already been used,(hyperref) setting the option has no effect
- Option `pdfpagelabels’ has already been used,(hyperref) setting the option has no effect on input line 209. Option `pdfpagelabels’ has already been used,(hyperref) setting the option has no effect
Spiega Heiko:
It’s a feature that many package options can be
changed after package loading using \hypersetup. But there
are also options that cannot be changed afterwards. `hyperfootnotes’
is one of the options. Also options exist that can be changed some
time after the package is loaded. But there are evaluated, for
example, in \begin{document} or at the output time of the first
page. After this time these options also cannot be changed.
Therefore I have added code some time ago that generates
a warning, if an option is already evaluated and changes haven’t
an effect.
@lorenzo.pantieri, forse potresti toglierle del tutto dal codice di arsclassica.Ciao,
Antonio
::egreg9″ post=66914Una classe non deve mai prevedere supporto esplicito per una o più lingue; oppure deve vietare l’uso di lingue non previste.
Solo così si evitano i pasticci di questo tipo. Vedi anche pagina 7 di questo articolo su PracTeX
E hai ragione. Avevo già beccato quell’articolo. 😉
Sconsiglio vivamente di usare ifthen.
Ciao
EnricoIn altre discussioni ho letto che consigli i comandi di xifthen o etoolbox al suo posto. Io personalmente trovo bruttissima la sintassi che impone di usare, ritengo molto più semplici ed eleganti i \newif. Per fare cose semplici come quelle, mica c’è bisogno di scomodare pacchetti?
::
Anche se ormai Claudio ti avrà corretto il codice, ho cercato una spiegazione per il problema della lingua. E l’ho trovata! 🙂La causa risiede nel fatto che ciascun pacchetto (quindi anche babel) analizza prima le opzioni della classe e poi quelle passate al pacchetto stesso. Il risultato è che, passando italian alla classe, babel legge per prima l’opzione italian. Successivamente, analizzando le opzioni passate a babel stesso, legge english e poi di nuovo italian. Ma siccome aveva già letto italian, la ignora, e di conseguenza l’ultima lingua specificata rimane english. Così succede esattamente l’opposto di quel che si vorrebbe. Una soluzione è usare specificare esplicitamente la lingua principale, ma questo va fatto attraverso \AtBeginDocument o simili (perché babel di suo lo fa tramite \AtBeginDocument e quindi bisogna “sovrascriverlo”):
`\RequirePackage[italian,english]{babel}\ifthenelse{\boolean{univpm@english}}
{
\AtBeginDocument{\selectlanguage{english}}
}
{
\AtBeginDocument{\selectlanguage{italian}}
\RequirePackage{indentfirst}
}`
Nota che non serve mettere RequirePackage dentro l’ifthenelse (e non servono nemmeno quei %, ma vabbè è un dettaglio).Ciao,
Antonio
-
AutoreRisposte