如何用 LaTeX 制作明信片?

如何用 LaTeX 制作明信片?

它看起来应该是这样的:

明信片

它应该是一张 A4 纸,左半部分是一张图片。图片上应该是 Calligra 字体的标题。右侧应该是 initfamily 字体的文本。

以下是我尝试过的:

\documentclass[11pt, landscape, twocolumns]{memoir}

%graphic packages
\usepackage{graphicx}
\usepackage{tikz}
\usepackage[left=2cm,right=2cm,top=2cm,bottom=2cm,includeheadfoot]{geometry}
\pagestyle{empty}
\parindent0pt

%fonts
\input Elzevier.fd
\newcommand*\initfamily{\usefont{U}{Elzevier}{xl}{n}}
\usepackage{calligra}
\usepackage[T1]{fontenc}

\begin{document}
\iffalse
\begin{tikzpicture}
    \node[anchor=south west,inner sep=0] at (0,0) {\includegraphics[width=\textwidth]{some_image.jpg}};
\end{tikzpicture}
\fi
\initfamily{Hochzeit}

\calligra{text}
\end{document}

答案1

一种选择:

在此处输入图片描述

其理念是使用 atikzpicture\nodes 以及适当的设置将元素放置在所需的位置;由于涉及内部计算,因此需要运行两次才能使元素出现在最终位置。您可以根据需要随意调整设置。

代码:

\documentclass[11pt, landscape]{memoir}

%graphic packages
\usepackage{graphicx}
\usepackage{tikz}

\pagestyle{empty}
\parindent0pt

%fonts
\input Elzevier.fd
\newcommand*\initfamily{\usefont{U}{Elzevier}{xl}{n}}
\usepackage{calligra}
\usepackage[T1]{fontenc}
\usepackage{lipsum}

\begin{document}

\begin{tikzpicture}[
  remember picture,
  overlay,
  mytext/.style={text width=\dimexpr0.5\paperwidth-20pt\relax,inner xsep=10pt}
]
  \node[anchor=north west,inner sep=0] 
    at (current page.north west)
    (image) 
    {\includegraphics[width=0.5\paperwidth,height=\paperheight]{mushrooms}};
  \node[anchor=north,text=white,scale=2] 
    at ([yshift=-1cm]image.north)
    {\initfamily{Hochzeit}};
  \node[anchor=north west,text width=0.5\paperwidth,inner sep=0pt,minimum height=\paperheight] 
    at (current page.north)
    (textbox)
    {};
  \node[anchor=north west,mytext] 
    at ([yshift=-2cm]textbox.north west)
    (text1)
    {\calligra{text and some other text}};
  \node[anchor=north west,mytext] 
    at ([yshift=-5cm]textbox.north west)
    (text2)
    {\calligra{text and some other text}};
  \node[anchor=south,mytext] 
    at ([yshift=3cm]textbox.south)
    (text3)
    {\calligra{text and some other text}};
\end{tikzpicture}

\end{document}

更新

使用Elzevier来自cfr-initialsbundle中,不需要输入字体定义文件:

\documentclass[11pt, landscape]{memoir}

%graphic packages
\usepackage{graphicx}
\usepackage{tikz}

\pagestyle{empty}
\parindent0pt

%fonts
\usepackage{calligra}
\usepackage{Elzevier}
\usepackage[T1]{fontenc}
\usepackage{lipsum}

\begin{document}

\begin{tikzpicture}[
  remember picture,
  overlay,
  mytext/.style={text width=\dimexpr0.5\paperwidth-20pt\relax,inner xsep=10pt}
]
  \node[anchor=north west,inner sep=0] 
    at (current page.north west)
    (image) 
    {\includegraphics[width=0.5\paperwidth,height=\paperheight]{mushrooms}};
  \node[anchor=north,text=white,scale=2] 
    at ([yshift=-1cm]image.north)
    {\elz{Hochzeit}};
  \node[anchor=north west,text width=0.5\paperwidth,inner sep=0pt,minimum height=\paperheight] 
    at (current page.north)
    (textbox)
    {};
  \node[anchor=north west,mytext] 
    at ([yshift=-2cm]textbox.north west)
    (text1)
    {\calligra{text and some other text}};
  \node[anchor=north west,mytext] 
    at ([yshift=-5cm]textbox.north west)
    (text2)
    {\calligra{text and some other text}};
  \node[anchor=south,mytext] 
    at ([yshift=3cm]textbox.south)
    (text3)
    {\calligra{text and some other text}};
\end{tikzpicture}

\end{document}

结果:

在此处输入图片描述

相关内容