Re: Distanze con \newcommand

#8899
Up
0
Down
::

Un saluto a tutti.
Ho un problema con \newcommand. Sto cercando di usarlo per abbreviare alcune scritture che sono lunghe e ricorrenti nel testo. Ad esempio nel preambolo scrivo:
\newcommand{\lingricdaM}{\tt{linguaggio riconosciuto da un monoide M} }. Però mi sono accorto dal dvi che l’espressione nel secondo gruppo di parentesi graffe non viene distanziata dalla parola successiva nel documento. Riporto alcune righe del documento per spiegarlo meglio:

\documentclass[10pt,a4paper]{report}
\usepackage[latin1]{inputenc}
\usepackage[italian]{babel}
\usepackage[T1]{fontenc}
\usepackage{amsthm}
\usepackage{amsthm}
\usepackage{amsmath}
\newcommand{\ling}{\tt{linguaggio}}
\newcommand{\ricdaM}{\tt{riconosciuto da un monoide M}}
\newcommand{\LSigmastar}{\math{L\subseteq\Sigma^{\ast}}}

\begin{document}
Sia L un \ling. L è \ricdaM se esiste $P\subseteq M$ e un morfismo
$\varphi:\Sigma^{\ast}\rightarrow M$ tale che $\varphi^{-1}(P)=L$.
\end{document}

Come si può vedere nel dvi, il “se” non viene separato dall’ espressione “linguaggio riconosciuto…”.
Cosa posso fare?
Grazie e arrivederci.

Sconsiglio vivamente di usare abbreviazioni simili. Come sconsiglio vivamente l’uso del “typewriter type” nel testo comune.

Le abbreviazioni di quel tipo sono anche comode, ma quando passa un po’ di tempo e riprendi in mano quel documento ti domandi subito: “Ma che &^**? vuol dire \ricdaM?”

Il “typewriter type” va impiegato solo in certe situazioni, per indicare per esempio parti di programmi o lo stesso codice LaTeX.

Inoltre fai parecchi errori nelle tue definizioni: non devi usare \tt, ma \texttt. E l’uso dei simboli deve essere coerente:`Sia $L$ un linguaggio. $L$ è \emph{riconosciuto da $M$} se esistono $P\subseteq M$ e un morfismo
$\varphi\colon\Sigma^{\ast}\rightarrow M$ tale che $\varphi^{-1}(P)=L$.`Nota i segni di dollaro in più e il comando \colon invece dei due punti (e anche il verbo al plurale :D).

Se poi insisti a voler usare le abbreviazioni, ti consiglio di leggere la documentazione del pacchetto xspace. Ma non prima di esserti letto, per esempio, la “(mica tanto) breve introduzione a LaTeX”.

Ciao
Enrico

Go to top