\newcommand{\iitthesis@thesisdatafield}[2]{%
\@namedef{iitthesis@#1}{#2}}
With
\iitthesis@thesisdatafield{authorEnglish}{Name of Author}
you'd define \iitthesis@authorEnglish
to expand to "Name of Author", that is, you'd have issued the equivalent of
\def\iitthesis@authorEnglish{Name of Author}
This wouldn't check for the defined command to be previously undefined. If you want also this check, do
\newcommand{\iitthesis@thesisdatafield}[2]{%
\expandafter\@ifdefinable\csname iitthesis@#1\endcsname
{\@namedef{iitthesis@#1}{#2}}}
but for internal commands this isn't usually done.
In your motivation I don't see any need of defining the new command with an argument. If you need also to define a user level command, you can do with the same technique:
\newcommand{\iitthesis@thesisdatafield}[1]{%
\long\@namedef{#1}##1{\@namedef{iitthesis@#1}{##1}}}
In this case saying
\iitthesis@thesisdatafield{authorEnglish}
would define the command \authorEnglish
so that if the user types
\authorEnglish{A. U. Thor}
the effect would be as if doing
\def\iitthesis@authorEnglish{A. U. Thor}
The \long
prefix to \@namedef
causes \long\def
to be executed, so the argument can span one or more paragraphs.
This technique is employed by the LaTeX kernel, where \author{A. U. Thor}
actually defines \@author
expanding eventually to "A. U. Thor".
The immediate problem is that you need the counter for paragraphs to be reset when you start a new subsubsubsection. To do this, all you need to do is add:
\@addtoreset{paragraph}{subsubsubsection}
Note, though, that you probably will also find you want to add some further resets depending on the structure of your document.
More generally, I have to say that the fact that you find the need to do this indicates to me that you need to rethink the structure of your document. Even if you are writing a book or thesis (for which article
would not be a suitable class), 9 levels is just going to be confusing. The only exception is probably legal documentation which seems to positively require insane levels of hierarchy. I think you should really be asking what you expect your readers to gain from the structure in terms of clarity. If the answer is nothing or, worse, greater complexity and confusion, you know you need to rethink.
However, this is TeX SE and so I can provide a 'solution' with a clean conscience since the site is not in the business of ensuring people write well, but only of assisting them to write whatever they do in TeX.
\documentclass{article}
\usepackage{titlesec}
\titleclass{\subsubsubsection}{straight}[\subsection]
\newcounter{subsubsubsection}[subsubsection]
\renewcommand\thesubsubsubsection{\thesubsubsection.\arabic{subsubsubsection}}
\renewcommand\theparagraph{\thesubsubsubsection.\arabic{paragraph}}
\renewcommand\thesubparagraph{\theparagraph.\arabic{subparagraph}}
\titleformat{\subsubsubsection}
{\normalfont\normalsize\bfseries}{\thesubsubsubsection}{1em}{}
\titlespacing*{\subsubsubsection}
{0pt}{3.25ex plus 1ex minus .2ex}{1.5ex plus .2ex}
\makeatletter
\renewcommand\paragraph{\@startsection{paragraph}{5}{\z@}%
{3.25ex \@plus1ex \@minus.2ex}%
{-1em}%
{\normalfont\normalsize\bfseries}}
\renewcommand\subparagraph{\@startsection{subparagraph}{6}{\parindent}
{3.25ex \@plus1ex \@minus .2ex}%
{-1em}%
{\normalfont\normalsize\bfseries}}
\def\toclevel@subsubsubsection{4}
\def\toclevel@paragraph{5}
\def\toclevel@paragraph{6}
\def\l@subsubsubsection{\@dottedtocline{4}{7em}{4em}}
\def\l@paragraph{\@dottedtocline{5}{10em}{5em}}
\def\l@subparagraph{\@dottedtocline{6}{14em}{6em}}
\@addtoreset{subsubsubsection}{section}
\@addtoreset{subsubsubsection}{subsection}
\@addtoreset{paragraph}{subsubsubsection}
\makeatother
\setcounter{secnumdepth}{6}
\setcounter{tocdepth}{6}
\author{Author}
\title{Title}
\date{2014}
\begin{document}
\tableofcontents
\section{Section 1}
\subsection{subsection 1}
\subsubsection{subsubsection 1}
\subsubsubsection{Subsubsubsection 1}
Some description here
\paragraph{paragraph 1}
Some description here
\paragraph{Paragraph 2}
Some description here
\subsubsubsection{subsubsubsection 2}
Description here
\subsubsubsection{subsubsubsection 3}
description here
\subsubsubsection{subsubsubsection 4}
description here
\paragraph{paragraph 1}
Some description here
\paragraph{paragraph 2}
some description here
\paragraph{Paragraph 3}
\subsubsubsection{subsubsubsection 5}
description here
\end{document}
Best Answer
Look in the class file for the definition of
\paragraph
; for instance, inarticle.cls
you findWhat you want is to change sign to the value in the fourth argument to
\@startsection
and possibly changing the fifth argument to give smaller vertical space, so you add to your preamble something likeAdding
\mbox{}\\
is definitely the wrong thing to do.