Replizieren eines Dokumentformats

Replizieren eines Dokumentformats

Haben Sie eine Idee, wie man ein Dokument wie das im folgenden Link erstellt? Was auf dem Dokument steht, können Sie ignorieren.

Link zum Beispieldokument

Bildbeschreibung hier eingeben

Antwort1

Alles, was auf hellblauen Ziffern steht (und vielleicht auch das auf dunkelblauen), scheint die Funktion eines Abschnitts oder ähnlichem zu haben. Also, das kommt mir so vor, als wäre es konstanter Text, der sich nicht ändern wird.

Der Text in den weißen Bereichen scheint variabler Text zu sein.

Falls meine Annahmen zutreffen, kann man natürlich LaTeX-Variablen definieren, die mit den Teilen des variierenden Textes gefüllt werden. Anschließend muss man einen Befehl oder eine Umgebung definieren, die die Tabelle erzeugt und den Inhalt der zuvor definierten Variablen einträgt.

Es sollte einfach sein.

In der Zwischenzeit: hier ist mein MWE.

Normalerweise würde ich die Definitionen in ein eigenes Stylefile packen. In diesem Fall brauchen Sie das \makeatletterund nicht \makeatother.

Ich habe einige interne Variablen definiert, z. B. \course@title. Das @macht sie in normalen Dokumenten unbrauchbar. Die Verwendung von @im Dateinamen macht den Variablennamen sicher. Sie werden nicht aus Versehen eine zweite Variable in Ihrem Dokument definieren.

Ich habe auch Benutzerbereichsbefehle definiert, um den Inhalt der Variablen zu manipulieren.

Ich habe auch Variablen für die Namen der Textteile definiert, die sich nicht ändern, also konstante Texte, die als Abschnittsnamen verwendet werden. Wenn Sie sicher sind, dass Sie diese Abschnittsnamen niemals ändern müssen, müssen Sie diese Namen nicht in Variablen definieren. Verwenden Sie die Abschnittsnamen einfach direkt im Befehl. Wenn jedoch die geringste Wahrscheinlichkeit besteht, dass sich einige oder alle dieser Abschnittsnamen ändern, sind Sie auf der sicheren Seite.

Schließlich habe ich den Befehl definiert \coursetable(ich bin also nicht überzeugt, dass dies wirklich ein guter Name für das Makro ist. Sie sind gewarnt.), der den Schriftsatz für uns übernimmt.

Indem Sie den gesamten Inhalt in ein Makro packen, können Sie Ihre Variablen in der von Ihnen gewünschten Reihenfolge ausfüllen. Das spielt keine Rolle.

\documentclass{article}
\usepackage{graphicx}
\usepackage{tabularx}


%% Some new column declarations
\newcolumntype{C}{>{\centering\arraybackslash}X}
\newcolumntype{L}{>{\raggedright\arraybackslash}X}

%% Dont use indent here!
\setlength{\parindent}{0pt}

%% maybe we need a uniqe skip:
\newlength{\myskip}\setlength{\myskip}{4ex}

%% Define some variables
\makeatletter
\def\course@title{}
\def\course@institute{Institute for Typography}
\def\course@teacher{}
%% This time with a default
\def\course@term{Summer2017}
\def\course@content{The course will explain the content of the course}
%% Define also the section names
\def\course@institutename{Institute}
\def\course@titlename{Course}
\def\course@teachername{Professor}
\def\course@termname{Semester}
\def\course@contentname{Contents}

%% Define the command, which will create the table right now.
\newcommand{\coursetable}{%
  % start a new page
  \clearpage%
  \thispagestyle{empty}%
  % Put in the Logos
  \includegraphics[width=2cm]{example-image-a}%
  \hfill%
  \includegraphics[width=2cm]{example-image-b}%
  \vspace{\myskip}
  \begin{tabularx}{\linewidth}{|C|C|}
    \hline
    \textbf{\course@titlename} & \textbf{\course@termname} \\
    \hline
    \course@title & \course@term \\
    \hline
    \textbf{\course@teachername} & \textbf{\course@institutename} \\
    \hline
    \course@teacher & \course@institute\\
    \hline
  \end{tabularx}

  \vspace*{\myskip}
  \begin{tabularx}{\linewidth}{|L|}
    \hline
    \multicolumn{1}{|C|}{\textbf{\course@contentname}}\\
    \hline
    \course@content\\
    \hline
  \end{tabularx}
  \vfill
  Signature: \hrulefill

}

%% Define user space commands to manipulate the internal variables 
\newcommand{\courseterm}[1]{\def\course@term{#1}}%
\newcommand{\coursetitle}[1]{\def\course@title{#1}}%
\newcommand{\courseinstitute}[1]{\def\course@institute{#1}}
\newcommand{\courseteacher}[1]{\def\course@teacher{#1}}
\newcommand{\coursecontent}[1]{\def\course@content{#1}}

%% Reserve the @-sign.
\makeatother

\begin{document}

%% The order, in which you define the variables, does not matter.
\coursetitle{Beautiful Concepts}
\courseteacher{Prof. Dr. Drofnats}
\coursecontent{We will discuss in deep, if good typography will enhace
every document of the world.  Therefore we will study two or three
examples} 

%% Now, build this table.    
\coursetable
\end{document}

Dies ist das Ergebnis. Natürlich unterscheidet es sich von Ihrem Beispiel, aber ich hoffe, es zeigt Ihnen den Weg für Ihr Dokument.

BEARBEITEN: Eine Sache, die ich vergessen habe zu erwähnen: Sehen Sie sich das xcolor-Paket an, um diese blauen Tabellenzeilen zu erhalten.

Bildbeschreibung hier eingeben

verwandte Informationen