Newsgroup: it.comp.software.tex
Titolo: Creare uno stile come questo

Da un po' di tempo vorrei costruirmi uno stile (basato sulla classe article o scrartcl di koma-script) per i miei preprint. Idealmente vorrei ottenere quello che si vede compilando con Plain TeX il sorgente che segue:
 
%%%%%%%%%%
 
\font\title=cmbx12 at 14pt
 
\noindent{\title A sample paper}
 
\medskip
 
\noindent A. U. Thor\footnote{*}{The author is supported by} $\cdot$ Department
of X, University of Y.
 
\smallskip
 
\noindent Email address: {\tt 
a.u....@topolinia.edu
}
 
\bigskip
 
\hrule
 
\medskip
 
\noindent {\bf Abstract.} In this paper we study nothing with a very smart tool.
 
\medskip
 
\noindent {\it Keywords}:
 
\noindent {\it 2011 AMS Subject Classification}:
 
\medskip
 
\hrule
 
\vskip1cm
 
\noindent{\bf 1. Introduction}
 
\bigskip
 
Consider the equation
$$
-\Delta u = g(u) \eqno(1)
$$
 
 
\bye
 
%%%%%%%%%%%%%%%%%%%%%%%%%%
 
Ho provato a curiosare nel file di stile di article, ma ammetto di non essere stato capace di alterarne la parte del titolo per ottenere un output come quello che vorrei io. C'è qualcuno che mi possa dare una dritta?
 
Grazie,
 
Simone

 quello che si vede compilando con Plain TeX il sorgente che segue:
 
Un abbozzo. Preparati il seguente file simone.cls
 
=== file simone.cls ===
\ProvidesClass{simone}
 
\LoadClassWithOptions{article}
 
\RequirePackage{sectsty}
\allsectionsfont{\normalsize\bfseries}
 
% User commands
\newcommand{\address}[1]{\gdef\@address{#1}}\def\@address{}
\newcommand{\email}[1]{\gdef\@email{#1}}\def\@email{}
\newcommand{\keywords}[1]{\gdef\@keywords{#1}}\def\@keywords{}
\newcommand{\subjclass}[1]{\gdef\@subjclass{#1}}\def\@subjclass{}
\renewenvironment{abstract}[1][\abstractname]
 
{\global\setbox\@abstractbox=\vbox\bgroup\noindent\textbf{#1.}\space\ign
orespaces}
  {\egroup}
 
% Fixed tags
\newcommand{\emailaddressname}{Email address}
\newcommand{\keywordsname}{Keywords}
\newcommand{\subjclassname}{2011 AMS Subject Classification}
 
% Internal commands
\def\@ifnotempty#1{%
  \expandafter\ifx\expandafter\\#1\\%
    \expandafter\@gobble
  \else
    \expandafter\@firstofone
  \fi}
\def\@ifempty#1{%
  \expandafter\ifx\expandafter\\#1\\%
    \expandafter\@firstofone
  \else
    \expandafter\@gobble
  \fi}
 
\newbox\@abstractbox
\def\@makeabstract{%
  \ifvoid\@abstractbox
    \ClassError{simone}{Missing abstract}{You have to supply an
abstract}%
  \else
    \box\@abstractbox
  \fi}
 
\renewcommand{\maketitle}{%
  \begingroup
  \renewcommand\thefootnote{\@fnsymbol\c@footnote}%
  \long\def\@makefntext##1{\parindent 1em\noindent
          \hb@xt@1.8em{%
              \hss\@textsuperscript{\normalfont\@thefnmark}}##1}%
  \thispagestyle{plain}%
  \noindent{\Large\bfseries\@title}\par
  \medskip
  \noindent\@author\@thanks
  \@ifnotempty\@address{ $\cdot$ \@address}\par
  \@ifnotempty\@email{\smallskip\noindent\emailaddressname:
\texttt{\@email}\par}
  \bigskip
  \hrule
  \smallskip
  \@makeabstract
  \@ifnotempty\@keywords{\medskip\noindent\textit{\keywordsname:
\@keywords}\par}
  \@ifnotempty\@subjclass{%
    \@ifempty\@keywords{\medskip}%
    \noindent\textit{\subjclassname: \@subjclass}\par}
  \smallskip
  \hrule
  \vspace{\baselineskip}
  \endgroup
}
\endinput
=== fine simone.cls ===
 
Adesso scriviti il seguente documento:
 
=== file test.tex ===
\documentclass[a4paper]{simone}
 
 
\begin{document}
\title{A sample paper}
\author{A. U. Thor\thanks{The author is supported by}}
\address{Department of X, University of Y}
\
email{a.u....@topolinia.edu
}
 
\begin{abstract}
In this paper we study nothing with a very smart tool.
\end{abstract}
 
\keywords{Tools}
\subjclass{99Z99}
 
\maketitle
 
\section{Introduction}
 
Consider the equation
\begin{equation}\label{eq:important}
-\Delta u = g(u) 
\end{equation}
 
Equation~\ref{eq:important} is important.
 
\end{document}
=== fine test.tex ===
 
e compila con pdflatex. Per aggiustare i margini
aggiungi al file simone.cls
 
  \RequirePackage{geometry}
  \geometry{margin=2cm}
 
(consulta il manuale di geometry) accanto a dove carichi il
pacchetto sectsty.
 
Ciao
Enrico

 wrote:
 
Accidenti, decisamente complicato rispetto al Plain TeX. Ero arrivato
a qualcuno dei risultati, ma certo in modo molto piu' rozzo.
 
Grazie mille!
 
Simone


 a qualcuno dei risultati, ma certo in modo molto piu' rozzo.
 
Ma molto piů potente. Come hai certamente visto, non c'č
alcuna istruzione di composizione nel documento vero e proprio.
 
Ovviamente ci sarebbe molto da fare: per esempio non puoi avere
piů di un autore.
 
Ciao
Enrico