Репликация формата документа

Репликация формата документа

У вас есть идея, как сделать документ, подобный тому, что по ссылке ниже? Вы можете не обращать внимания на то, что написано в документе.

Ссылка на пример документа

введите описание изображения здесь

решение1

Все, что написано на светло-голубых гранях (а может быть, даже на темно-синих), похоже, имеет функцию раздела или чего-то подобного. Так что, мне кажется, что это был постоянный текст, который не изменится.

Текст в пробелах, по-видимому, является переменным текстом.

В случае, если мои предположения верны, вы, конечно, можете определить некоторые переменные LaTeX, которые будут заполнены частями изменяющегося текста. Затем вам нужно определить команду или среду, которая создаст таблицу и заполнит содержимое ранее определенных переменных.

Это должно быть легко.

А пока: вот мой MWE.

Обычно я бы поместил определения в отдельный файл стилей. В этом случае вам не нужны \makeatletterи \makeatother.

Я определил некоторые внутренние переменные, например \course@title. The @делает их непригодными для использования в обычных документах. Использование @в имени файла делает имя переменной безопасным. Вы не определите вторую переменную в документе просто так, случайно.

Я также определил команды пользовательского пространства для управления содержимым переменных.

Я также определил переменные для имен тех частей текста, которые не меняются, т.е. постоянные тексты, используемые в качестве имен разделов. Если вы уверены, что вам никогда не придется менять имена этих разделов, вам не нужно определять эти имена в переменных. Просто используйте имена разделов непосредственно в команде. Но если есть небольшая вероятность, что некоторые или все эти имена разделов могут измениться, вы в безопасности.

Наконец, я определил команду \coursetable(поэтому я не уверен, что это действительно хорошее имя для макроса. Вас предупредили.), которая выполнит набор текста за нас.

Поместив весь контент в один макрос, вы свободны заполнять переменные в любом порядке, который вам нравится. Это не имеет значения.

\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}

Вот результат. Конечно, он отличается от вашего примера, но я надеюсь, он покажет вам путь к вашему документу.

EDIT: О чем я забыл упомянуть: взгляните на xcolor-package, чтобы получить эти синие строки таблицы.

введите описание изображения здесь

Связанный контент