Criando título estático para uma classe de documento

Criando título estático para uma classe de documento

Estou criando minha própria classe de documento em LaTeX, mas tenho um problema sobre como farei com que esse título apareça automaticamente quando minha classe for usada.

título de exemplo

Devo codificar dessa maneira?

\AtBeginDocument{%
   \vspace*{-0.4in}\noindent
   {\Large\bfseries School name here} \\
   {\large\sffamily college name here} \\[0.2in]
   {\Large\sffamily department name here} \\[0.2in]
   {\Large\sffamily Subjectcode, subject name here} \\[0.2in]
   {\Large\sffamily school year here} \\[0.2in]
   \vspace{0.2in}
}

Responder1

Sim. Algo parecido.

Naveguei em seu perfil e vi que você pode estar interessado em escrever sua própria classe ou pacote para que sempre que usar sua classe ou pacote, seu cabeçalho seja carregado automaticamente. Posso ver de onde vem o seu problema. Pode ser que você queira diminuir o tempo necessário para digitar um cabeçalho como aquele que você postou sempre que quiser fazer uma prova ou algo parecido (que pode ser o modelo do seu teste escolar ou algo parecido).

Você tem várias opções para fazer isso e listo duas.

1. Coloque em um arquivo separado todo o código que você usa com frequênciacópia deecolarcomo necessário.

2. Crie um pacote ou arquivo de classeno qual você já recebeu alguma ajuda, mas também gostaria de indicar a postagemTutoriais de estilo/classe. Há também a questão relacionadaColoque um cabeçalho de imagem em \documentclass{letter}.

Usando a opção 2 e os links encontrados nos links que postei aqui, criei minha própria classe de documento queautomatizaa inclusão de um cabeçalho escolar na primeira página e nenhum nas outras páginas para minhas provas e memorandos escolares. Para o seu problema específico, você pode ter um arquivo de classe com o seguinte conteúdo.

  • Se quiser que o cabeçalho simplesmente apareça na primeira página sem mexer no cabeçalho, você pode fazer algo como:

    \ProvidesClass{myclass}[2012/09/03 version 0.01 My exam class]
    \NeedsTeXFormat{LaTeX2e}[1996/06/01]%
    \PassOptionsToClass{\CurrentOption}{article}
    \ProcessOptions \relax
    
    \LoadClass{article}
    \RequirePackage[margin=1in]{geometry}
    \AtBeginDocument{
    \begin{center}
    \sffamily
    {\Large\textbf{School Name}}        {\large\textbf{Name of College}}\\
    {\large Name of Department}\\
    {\large Subject code, subject name}\\
    {\large SY 2012-2013}
    \end{center}
    \noindent Name: \makebox[3in]{\hrulefill} \hfill Section: \makebox[2in]{\hrulefill}\\
    }
    \endinput
    
  • Se quiser usar a margem superior para economizar espaço, você pode fazer algo como:

    \ProvidesClass{myclass}[2012/09/03 version 0.01 My exam class]
    \NeedsTeXFormat{LaTeX2e}[1996/06/01]%               
    \PassOptionsToClass{\CurrentOption}{article}
    \ProcessOptions \relax
    
    \LoadClass{article}
    
    \RequirePackage[margin=1in]{geometry}
    \RequirePackage{fancyhdr}
    
    %% This sets the header of the first page of the letter
    \fancypagestyle{firstpage}{%
    \fancyhf{} % clear all six fields
    \renewcommand{\headrulewidth}{0pt}
    \renewcommand{\footrulewidth}{0pt}
    \fancyhead[C]{
    \parbox[t][]{4in}{
    \centering
    \sffamily
    {\Large\textbf{School Name}}\\
    {\large\textbf{Name of College}}\\
    {\large Name of Department}\\
    {\large Subject code, subject name}\\
    {\large SY 2012-2013}
    }}
    }
    \fancypagestyle{followingpage}{%
    \fancyhf{} % clear all six fields
    \renewcommand{\headrulewidth}{0pt}
    \renewcommand{\footrulewidth}{0pt}
    }
    \pagestyle{followingpage} % followingpage is the default page style
    \AtBeginDocument{\thispagestyle{firstpage} % the page style on the first page
    \geometry{headheight=1in,headsep=0.1in}
    \noindent Name: \makebox[3in]{\hrulefill} \hfill Section: \makebox[2in]{\hrulefill}\\
    }
    
    \endinput
    

Atualização: 4 de setembro.Abaixo está um MWE para testar as classes que postei aqui.

\documentclass{myclass}

\usepackage{lipsum}

\begin{document}

\lipsum[1-20]

\end{document}

Abaixo está o resultado da segunda aula que postei. Você pode ajustar as dimensões para atender às suas necessidades, mas a ideia está aí.

insira a descrição da imagem aqui

informação relacionada