In letteracdp package, you write the letter subject, and when you compile the document, TeXLive will put Oggetto: before it.
I would like to change it into Subject:
- 1,598
2 Answers
The letteracdp class is tailored for Italian. However, it defines some “fixed words” with the usual pattern:
\newcommand*\subjectname {Oggetto:}
\newcommand*\registeredname {Raccomandata}
\newcommand*\registeredRRname{\registeredname~A.R.}
\newcommand*\andccname {e~p.~c.}
\newcommand*\ccname {P.~c.:}
\newcommand*\enclname {Allegati:}
\newcommand*\PSname {P.S.:}
\newcommand*\headtoname {A:}
\newcommand*\lettername {Lettera}
Thus it's just a matter of redefining the appropriate command, in this case
\renewcommand\subjectname{Subject:}
or
\addto\captionsenglish{\renewcommand\subjectname{Subject:}}
if you're using babel.
- 1,121,712
There is actually a better solution, that I plan to include in the next release of the C.D.P. Bundle (btw, I have been promising such a "next release" since 2010, version 0.34 going back to 2006; but much of the bundle was written fifteen years ago, and by now it needs to be thoroughly redesigned...).
First, add the following package to your local TeX tree, under the name cdpbabel.sty:
%%------------- Identification -------------%%
\NeedsTeXFormat{LaTeX2e}[1998/09/02] % LaTeX2e is required!
\ProvidesPackage{cdpbabel}
[2014/07/20 v0.03 (**development**)]
\@ifdefinable\@cdpbabel{\def\@cdpbabel{cdpbabel}}
%%-------------- Initial Code --------------%%
\def\do#1{\@ifdefinable #1{\let #1\@empty}}
\do\@cdpbabel@perform@redefinitions
\do\@cdpbabel@letter@names
\do\@cdpbabel@artlet@names
%%--------- Declaration of Options ---------%%
\DeclareOption*{%
\IfFileExists{cdpnames\CurrentOption.ldf}{%
\input{cdpnames\CurrentOption.ldf}%
\edef\do##1{%
\noexpand\g@addto@macro
\noexpand\@cdpbabel@perform@redefinitions
{%
\noexpand\addto \csname captions\CurrentOption \endcsname
{##1}%
}%
}%
\@ifclassloaded{letteracdp}{%
\expandafter\do \expandafter{\@cdpbabel@letter@names}%
}{}%
\@ifclassloaded{articoletteracdp}{%
\expandafter\do \expandafter{\@cdpbabel@artlet@names}%
}{}%
\PackageInfo{\@cdpbabel}{%
Redefined the names of "C.D.P. Bundle" captions\MessageBreak
for the language `\CurrentOption'%
}%
}{%
\PackageError{\@cdpbabel}{%
Name def. file `cdpnames\CurrentOption.ldf' not found%
}{%
Files of the form `cdpnames<language>.ldf' are meant
to define the names\MessageBreak
in the language <language> of some captions used by
the "C.D.P. Bundle".\MessageBreak
You requested\MessageBreak
\space\space<language> = `\CurrentOption',\MessageBreak
but the corresponding file is missing; therefore,
probably some of these\MessageBreak
captions will not be printed as intended.\MessageBreak
This error affects only the \@cdpbabel\space package,
but not the babel package.\MessageBreak
You may continue:
type \space <return> \space to proceed.%
}%
}%
\PassOptionsToPackage{\CurrentOption}{babel}%
}
%%----------- Options Processing -----------%%
\ProcessOptions*
\let \do = \@undefined
\let \@cdpbabel@letter@names = \@undefined
\let \@cdpbabel@artlet@names = \@undefined
%%-------- Package and Class Loading -------%%
\RequirePackage{babel}
%%---------------- Main Code ---------------%%
\@cdpbabel@perform@redefinitions
\let \@cdpbabel@perform@redefinitions = \@undefined
%%--------------- End of Code --------------%%
\endinput
Second, add the following language definition file as well (for English), named cdpnamesenglish.ldf:
\ProvidesFile{cdpnamesenglish.ldf}[2014/07/20]
\def\@cdpbabel@letter@names{%
\def\subjectname {Subject:}%
\def\registeredname {Registered}%
\def\registeredRRname {\registeredname~R.R.}%
\def\andccname {cc}%
\def\ccname {cc:}%
\def\enclname {Encl:}%
\def\PSname {P.S.:}%
\def\headtoname {To:}%
}
\def\@cdpbabel@artlet@names{%
\def\contentsname {Contents}%
% \def\listfigurename {List of figures}%
% \def\listtablename {List of tables}%
% \def\refname {References}%
% \def\indexname {Index}%
% \def\figurename {Figure}%
% \def\tablename {Table}%
}
\endinput
Other languages are dealt with in the same way; for example, for Italian you add the following cdpnamesitalian.ldf file:
\ProvidesFile{cdpnamesitalian.ldf}[2014/07/20]
\def\@cdpbabel@letter@names{%
\def\subjectname {Oggetto:}%
\def\registeredname {Raccomandata}%
\def\registeredRRname {\registeredname~A.R.}%
\def\andccname {e~p.~c.}%
\def\ccname {P.~c.:}%
\def\enclname {Allegati:}%
\def\PSname {P.S.:}%
\def\headtoname {A:}%
}
\def\@cdpbabel@artlet@names{%
\def\contentsname {Sommario}%
\def\listfigurename {Indice delle figure}%
\def\listtablename {Indice delle tabelle}%
\def\refname {Testi citati}%
% \def\indexname {Indice analitico}%
% \def\figurename {Figura}%
% \def\tablename {Tabella}%
}
\endinput
(Of course, anybody who wants to undertake the -- very easy -- task of writing a similar file for another language is most welcome.)
Now you can use your new cdpbabel package instead of babel:
\documentclass
[boldsubject,italicsignature,shortindent]
{letteracdp}
\usepackage[T1]{fontenc}
\usepackage[english]{cdpbabel}
% Note that we do **not** load "babel" directly.
\address{
Gustavo \textsc{Mezzetti}\\
L.S.U. <<A.~di~Savoia Duca d'Aosta>>\\
Via del Santo, 57\\
I--35123\quad Padova\quad Italy
}
\signature{Gustavo}
\place{Padova}
\pagestyle{headings}
\begin{document}
\begin{letter}[Whom it may concern]{
To whom it may concern
}[
The optional subject of the letter.
]
\opening{Dear Someone,}
this is the text of the letter. We start another page to show that
\verb|\headtoname| produces ``\headtoname''.
\newpage
See?
A list of enclosures is added at the end, too, just to demonstrate that
\verb|\enclname| produces ``\enclname''.
\closing{Best regards.}
\begin{enclosures}
\item The first document.
\item The second document.
\item And so on.
\end{enclosures}
\end{letter}
\end{document}
That's all! Here's the result:

- 21,558
-
This solution has now been integrated in the latest version of the C.D.P. Bundle. – GuM May 03 '15 at 01:47
\renewcommand\subjectname{Subject:}in your preamble. You find it in the example at page 11 in the documentation. – egreg Apr 05 '14 at 09:38