Newsgroup: it.comp.software.tex
Titolo: unità di misura

Uso un comando per far sì che esca fuori, in modo testo o matematico, sempre
una 'm' scritta in roman.
Ad es. la scrittura 5\unit{m} deve produrre: 5 m.
Lo spazion tra 5 e m dovrebbe essere più piccolo dello spazio normale
(qualcuno suggeriva $3\,$).
Qualche tecnico mi sa dire perchè non funziona? Il comando è:
\newcommand{\unit}[1]{\ifmmode{\rm #1}\else${\rm #1}$\fi}
PS: uso miktex e texnic center 1beta6.00.
Io ho molte pagine già scritte con tale notazione e vorrei renderlo
funzionante come newcommand piuttosto che modificare tutte le voci e usare
il file units.sty, con cui dovrei usare diversi comandi per le unità
frazionarie e quelle normali.
Grazie

Era una notte buia e tempestosa e *ste* disse:
:: Uso un comando per far sì che esca fuori, in modo testo o matematico,
:: sempre una 'm' scritta in roman.
:: Ad es. la scrittura 5\unit{m} deve produrre: 5 m.
:: Lo spazion tra 5 e m dovrebbe essere più piccolo dello spazio normale
:: (qualcuno suggeriva $3\,$).
::
:: Qualche tecnico mi sa dire perchè non funziona? Il comando è:
::
:: \newcommand{\unit}[1]{\ifmmode{\rm #1}\else${\rm #1}$\fi}
Premetto che io non ho mai usato "\iffmmode", tuttavia provo a correggere:
\newcommand{\unit}[1]{%
                                        \ifmmode{\,\mathrm{#1}}%
                                        \else${\,\mathrm{#1}}$%
                                   \fi}
La definizione del comando la puoi anche mettere su una singola riga di
codice, togliendo i simboli "%" di commento.
Fai attenzione ai fonts che utilizzi nel documento!!! (ti accorgerai da solo
il motivo per cui ti dico ciò).
Ciao.
--
*Emanuele*
 (¯`·.¸(¯`·.¸( 
www.GuIT.it
 )¸.·´¯)¸.·´¯)
~~~~~~~~~~~~~~~~~~~~~~~~~~~
 Gruppo Utilizzatori Italiani di TeX
~~~~~~~~~~~~~~~~~~~~~~~~~~~

 \newcommand{\unit}[1]{\ifmmode{\rm #1}\else${\rm #1}$\fi}
Se non ci dici che cosa non funziona (un esempio minimo
sarebbe utile) č difficile che possiamo aiutarti.
1) I comandi del tipo \rm, \bf, \it, eccetera *non* vanno usati; 
servono solo per "backward compatibility" e infatti non li trovi 
sulla nuova edizione del manuale di LaTeX.
2) La definizione \newcommand{\unit}[1]{\,\textup{#1}}
dovrebbe fare al caso tuo; ed č molto piů semplice, non trovi?
Facci sapere.
Ciao
Enrico

Sostanzialmente non funzionano entrambe, forse perchč uso ad es. \unit{m^2}.
Allego tutto per vostra comoditā con la riga incriminata. Non vorrei che non
funzioni perché magari ha giā un conflitto anche con i newcommand sugli
accenti, ad es: \newcommand{\ā}{\`a}. Io uso inputenc da poco e ho ii testo
metā con i '\č' e metā con le sole 'č'. Comunque la linea incriminata č la
82.
\documentclass[a4paper,12pt,twoside,italian]{book}
\usepackage[italian]{babel}
\usepackage{amsmath}
\usepackage{makeidx}
\usepackage[dvips]{graphics}
\usepackage[latin1]{inputenc}
%\usepackage{tocbibind}
\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
\addtolength{\headheight}{2.5pt} %nota, ho tolto tutta la tua intestazione
%con fancyheader, che metto sotto.
\makeindex
\hyphenation{ri-cer-che con-si-de-ra-to gian-do-me-ni-co bar-dan-zel-lu}
\def\lcaporali{\hskip 0pt \raise .28ex \hbox{\tiny $\ll$}}
\def\rcaporali{\hskip 0pt \raise .28ex \hbox{\tiny $\gg$}}
\newcommand{\ā}{\`a}
\newcommand{\é}{\'e}
\newcommand{\č}{\`e}
\newcommand{\ė}{\`\i}
\newcommand{\ō}{\`o}
\newcommand{\ų}{\`u}
\newcommand{\§}{\`E}
\newcommand{\°}{$^\circ$}
%\newcommand{\unit}[1]{\ifmmode{\rm #1}\else${\rm #1}$\fi}
%\newcommand{\unit}[1]{\,\textup{#1}}
\newcommand{\unit}[1]{\ifmmode{\,\mathrm{#1}}\else${\,\mathrm{#1}}$\fi}
\begin{document}
\lhead{} %con questi 4 comandi annulli qualunque intestazione, anche
%automatica.
\chead{}
\rhead{}
\cfoot{}
\author{}
\hskip 300pt \emph{dedica}
\hfill
\newpage
\hfill
\newpage
\pagenumbering{Roman}
\chapter*{Sommario}
Scrittura sommario
\addcontentsline{toc}{chapter}{Sommario}
\hfill
\newpage
\chapter*{Ringraziamenti}
Si desidera ringraziare vivamente:
\addcontentsline{toc}{chapter}{Ringraziamenti}
Il newsgroup.
\hfill
\newpage
\tableofcontents
\hfill
\newpage
\renewcommand{\chaptermark}[1]{\markboth {\thechapter {} - #1}{}}
\renewcommand{\sectionmark}[1]{\markright{\S \thesection\ - #1}}
\renewcommand{\headrulewidth}{0.1pt} %adesso comincia il libro con le
intestazioni che hai messo tu
\fancyhf{}
\fancyhead[LE,RO]{\textsl\textmd{{\thepage}}}
\fancyhead[LO]{\textsl{\rightmark\textmd{}}} % quel S inserisce il
paragrafo, il capitolo n. prima del titolo lo fa da solo...
\fancyhead[RE]{\textsl{\textmd{\leftmark}}}
\renewcommand{\headrulewidth}{0.5pt}
\fancypagestyle{plain}{
                       \fancyhead{}
                       \renewcommand{\headrulewidth}{0pt}
                      }
\setcounter{page}{1} \pagenumbering{arabic}
\chapter{NomeCap1}
Prova. Arrabbia.
Drago.
Prova citazione: sul libro \cite{Felici:1991} puoi trovare tante belle
figure
Il peso per\unit{m^2} del solaio in béton era
\section{ParagrafoDue}
\newpage
Lettera.
\section{ParagrafoTre}
Monitor.
\newpage
Rotto.
%\input{cap1}
\bibliographystyle{plain}
\bibliography{mybibliography}
\addcontentsline{toc}{chapter}{Bibliografia}
\end{document}
Grazie

 [SNIP]
E grazie! Temo che non sia una cosa così semplice da sistemare; credo che
la cosa migliore sia di adeguarsi al pacchetto `units': che cos'ha
di tanto orrido? Una ricerca nei tuoi file con `grep' ti rimedia
subito la sintassi.
Per quanto riguarda \newcommand{\à}{\`a} si tratta di una
pessima idea. E comunque, ora che hai scritto il tuo testo,
ti basta togliere la barra rovescia davanti alle lettere accentate, no?
Rimettere a posto il tuo lavoro ti farà scoprire gli innumerevoli
errori di stampa (ce ne sono sempre in tutti, aagh! :-((
Ciao
Enrico

Mi hai dato la risposta che più temevo....va bè, vorrà dire che mi leggerò
le istruz. di units.sty.
Ciao