- Questo topic ha 12 risposte, 4 partecipanti ed è stato aggiornato l'ultima volta 18 anni, 6 mesi fa da .
-
Topic
-
`\documentclass{scrreprt}\usepackage{amssymb}
\usepackage{classicthesis-ldpkg}
\usepackage[beramono,eulermath]{classicthesis}\DeclareRobustCommand*{\pacchetto}[1]{{\normalfont\ttfamily#1}%
\index{Pacchetto!#1@\texttt{#1}}%
\index{#1@\texttt{#1}}}\DeclareRobustCommand*{\comando}[1]{\lstinline!\\#1!%
\index{Comando!#1@\texttt{\textbackslash#1}}%
\index{#1@\texttt{\hspace*{-1.2ex}\textbackslash#1}}}\newcommand\forlstinline[1]{\scantokens{\lstinline!#1!}\unskip}
\newcommand{\X}[1]{$#1$&\forlstinline{#1}\hspace*{1ex}}
\newcommand{\SC}[1]{#1&\forlstinline{#1}\hspace*{1ex}}
\newcommand{\W}[2]{$#1{#2}$&
\forlstinline{#1}\kern-.333em\forlstinline{{#2}}\hspace*{1ex}}
\newcommand{\Y}[1]{$\big#1$ &\forlstinline{#1}}
\newcommand{\A}[1]{#1&\texttt{\forlstinline#1}\hspace*{1ex}}
\newcommand{\B}[2]{#1#2&\texttt{\forlstinline#1{} #2}\hspace*{1ex}}\newsavebox{\symbbox}
\newenvironment{symbols}[1]%
{\medskip
\renewcommand{\arraystretch}{1.1}
\begin{lrbox}{\symbbox}
\begin{tabular}{@{}#1@{}}}%
{\end{tabular}\end{lrbox}\makebox[\textwidth][c]{\usebox{\symbbox}}\par\medskip}\IfFileExists{mathrsfs.sty}
{\RequirePackage{mathrsfs}\let\MathRSFS\mathscr\let\mathscr\relax}{}
\IfFileExists{amssymb.sty}
{\let\noAMS\relax \RequirePackage{amssymb}}
{\def\noAMS{\endinput}\RequirePackage{latexsym}}
\IfFileExists{eucal.sty}
{\RequirePackage[mathscr]{eucal}}
{\IfFileExists{euscript.sty}
{\RequirePackage{euscript}}{}}
\IfFileExists{amsbsy.sty}
{\RequirePackage{amsbsy}}{}\begin{document}
\begin{table}[tb]
\caption{Font matematici.}
\begin{symbols}{@{}*3l@{}}
\toprule
Esempio & Comando & Pacchetto richiesto \\
\midrule
$\mathit{ABCdef}$ & \comando{mathit}\lstinline!{ABCdef}! & \\
$\mathbf{ABCdef}$ & \comando{mathbf}\lstinline!{ABCdef}! & \\
$\mathrm{ABCdef}$ & \comando{mathrm}\lstinline!{ABCdef}! & \\
$\mathtt{ABCdef}$ & \comando{mathtt}\lstinline!{ABCdef}! & \\
$\mathsf{ABCdef}$ & \comando{mathsf}\lstinline!{ABCdef}! & \\
$\mathnormal{ABCdef}$ & \comando{mathnormal}\lstinline!{ABCdef}! & \\
$\mathcal{ABC}$ & \comando{mathcal}\lstinline!{ABC}! & \\
\ifx\MathRSFS\undefined\else
$\MathRSFS{ABC}$ & \comando{mathscr}\lstinline!{ABC}! &\pacchetto{mathrsfs} \\
\fi
\ifx\EuScript\undefined\else
$\EuScript{ABC}$ & \comando{mathcal}\lstinline!{ABC}! &\pacchetto{eucal} \\
$\mathfrak{ABCdef}$ & \comando{mathfrak}\lstinline!{ABCdef}! &\pacchetto{eufrak} \\
\fi
$\mathbb{ABC}$ & \comando{mathbb}\lstinline!{ABC}! &\pacchetto{amssymb} \\
\bottomrule
\end{symbols}
\end{table}\begin{table}
\caption{Prova.}
\begin{symbols}{*3{cl}}
\W{\bar}{a} & \W{\hat}{a} & \W{\tilde}{a} \\
\X{\alpha} & \X{\iota} & \X{\varrho} \\
\Y{\lgroup} & \Y{\lmoustache} & \Y{\arrowvert} \\
\SC{\dag} & \SC{\S} & \SC{\copyright} \\
\end{symbols}
\end{table}\end{document}`
Il codice l’ho preso dalla Mica tanto breve introduzione, riadattato con suggerimenti di Enrico.Due cose.
Nella prima tabella il risultato del primo
`\mathcal{ABC}`
(quello subito dopo \mathnormal, per capirci) e’ naturalmente lo stesso del secondo \mathcal{ABC} (che richiede il pacchetto eucal). Questo perche’ ClassicThesis carica eucal. E’ possibile fare in modo che il risultato del primo \mathcal sia quello che si otterrebbe senza eucal? In altre parole, e’ possibile “disattivare localmente” il pacchetto eucal in quella porzioncina di codice?Un altro problema e’ il seguente. Nella seconda tabella vengono usati dei comandi (\X, \W, \Y, \SC) che funzionano benissimo, ma che non usano la macro \comando che ho definito nel preambolo (che aggiunge anche la voce corrispondente nell’indice analitico). Si potrebbero ridefinire \X, \W\, \Y ed \SC facendo uso di \comando (o, comunque, in modo da creare la relativa voce nell’indice, come fa \comando)?
Scusate per l’italiano zoppicante, spero comunque che il senso si capisca.
Grazie anticipate,
L.
- Devi essere connesso per rispondere a questo topic.