LaTeX изначально разрабатывался как достаточно гибкая система, в которой были распределены несколько стандартных классов - которые сами по себе были скорее в гибкие.
В текущем положении дел, если вы хотите создать собственный макет, вам нужно самостоятельно написать несколько вспомогательных кодов. Как еще это могло произойти? Это не так, как HTML + CSS дает вам шаблоны для работы; Вам нужно реализовать дизайн самостоятельно.
Создание собственного стиля часто не очень подходит
Ах, хорошо, если вы не знаете, как программировать в LaTeX!
Серьезно, все зависит от того, с чего начать и на чем строить. Этот каталог, который вы приводите в качестве примера, по моему мнению, будет довольно легко сделать в LaTeX; это просто куча коробок.
Вы могли бы написать что-то вроде
\newcommand\catalogueEntry[4]{%
\parbox[t]{0.23\linewidth}{\textbf{#1}}%
\hfill
\parbox[t]{0.23\linewidth}{\includegraphics{#2}}%
\hfill
\parbox[t]{0.23\linewidth}{\textbf{Characteristics}\\ #3}%
\hfill
\parbox[t]{0.23\linewidth}{\textbf{Application}\\ #4}
}
и используйте его так же
\catalogueEntry{Spotlights}{spotlight.jpg}
{Eclipse spotlights are...}
{Narrow to medium...}
Это лишь базовая иллюстрация того, что можно быстро взломать - гораздо более изощренная технология может быть использована для превращения этой системы в более гибкую.
Я вижу LaTeX как расширяемую систему разметки. Если вы отделяете свою разметку от ее представления на странице, несложно представить свою информацию в любой форме, которую вы пожелаете. Но начать немного сложнее, я должен признать; кривая обучения для программирования на LaTeX может быть довольно крутой.