第一次在这里发帖,但我正在尝试创建一份新闻稿。但是,我遇到了一些困难。我希望它看起来类似于此示例:http://www.calvin.edu/admin/hr/newsletter/MAY%202012%20(e).pdf
这是迄今为止我已成功生成的 MWE。
\documentclass[10pt]{article}
\usepackage{times}
\usepackage[hmargin=1cm,bmargin=2cm,tmargin=4cm,centering]{geometry}
\usepackage{graphicx}
\usepackage{amssymb}
\usepackage{here}
\usepackage{color}
\usepackage{framed}
\usepackage{multicol}
\usepackage{wrapfig}
\usepackage{lipsum}
\usepackage[none]{hyphenat}
\definecolor{boxgray}{RGB}{139,137,137}
\definecolor{darkgreen}{RGB}{25,170,75}
\usepackage{tikz}
\usepackage{tikzpagenodes}
\usepackage{atbegshi}
\newcommand\Header{%
\begin{tikzpicture}[remember picture,overlay]
\fill[darkgreen]
(current page.north west) -- (current page.north east) --
([yshift=30pt]current page.north east|-current page text area.north east) --
([yshift=30pt]current page.north west|-current page text area.north west) -- cycle;
\node[font=\bfseries\color{white},anchor=east,
xshift=-1.5cm,yshift=-1.3cm] at (current page.north east)
{\fontsize{40}{60}\selectfont Lorem Ipsum};
\end{tikzpicture}%
}
\newcommand\Footer{%
\begin{tikzpicture}[remember picture,overlay]
\fill[darkgreen]
(current page.south west) -- (current page.south east) --
([yshift=-30pt]current page.south east|-current page text area.south east) --
([yshift=-30pt]current page.south west|-current page text area.south west) -- cycle;
\end{tikzpicture}%
}
\pagestyle{empty}
\AtBeginShipout{\Footer}
\AtBeginShipoutFirst{\Header\Footer}
\begin{document}
\colorbox{boxgray}{
\begin{minipage}[t]{.28\linewidth}
\centering
\begin{minipage}[t]{.95\linewidth}
\textbf{\large In this issue}
\begin{itemize}
\parskip = 0pt
\item Text
\item Text
\item Text
\item Text
\item Text
\end{itemize}
\parskip = 4pt
\centerline {\rule{.75\linewidth}{.25pt}}
\textbf{Lorem Ipsum}
\parskip = 3pt
\lipsum[2]
\lipsum[4]
\end{minipage}
\end{minipage}}\hfill
% main section
\begin{minipage}[t]{.65\linewidth}
\begin{center}
\textbf{\Large Lorem Ipsum}
\end{center}
\parskip = 5pt
\lipsum[1-4]
\end{minipage}
\begin{minipage}[t]{.65\linewidth}
\begin{center}
\textbf{\Large Lorem Ipsum}
\end{center}
\begin{multicols}{2}
\parskip = 5pt
\lipsum[1-3]
\end{multicols}
\framebox{
\begin{minipage}[t]{.99\linewidth}
\begin{center}
\textbf{\Large Lorem Ipsum}
\end{center}
\parskip = 0pt
Text
\parskip = 0pt
\end{minipage}}
\parskip=8pt
\end{minipage}\hfill
%rightsidebox
\begin{minipage}[t]{.30\linewidth}
\framebox{
\begin{minipage}[t]{1\linewidth}
\centering
\begin{minipage}[t]{.95\linewidth}
\large \textbf{Lorem Ipsum}
\parskip=5pt
\lipsum[1]
\end{minipage}
\end{minipage}}
\centering
\begin{minipage}[t]{.95\linewidth}
\parskip = 10pt
\ \\
\ \\
Text.\\
Text.\\
\end{minipage}
\end{minipage}
\vfill
%bottom box
\begin{minipage}[t]{.95\textwidth}
\framebox{
\begin{minipage}[t]{.99\linewidth}
\lipsum[2]
\end{minipage}}
\end{minipage}
\end{document}
我遇到的问题:
- 如何实现示例中的曲线标题?我是 tikz 新手,所以我只知道如何做直线
- 此外,我希望将标题和灰色框混合在一起,如示例中所示。
- 我只想在第一页上使用大标题,但这会在其他页面上留下大量空白。我该如何解决这个问题,以便消除空白?
- 我无法将灰色框中的字体变成白色。我尝试使用 \textcolor{white}{text},但由于这是一个小页面,因此会抛出错误。
- hmargin=1cm,但看起来左右边距不同。有什么想法可以解释为什么以及如何修复这个问题吗?
带图片的标题示例:
答案1
以下解决方案采用了 Christian Hupfer 的评论中的一些想法以及一些进一步的修改。我已将顶部边距设置为与底部边距相等,并在第一页上简单地添加了一些垂直空间。这\maketitle
通常是在普通文档中所做的。您可以只更改第一页的几何形状,但这似乎更容易。
您的原始代码由于颜色定义而发出警告。一旦我添加曲线,这些就变成了错误。我已将您的颜色粗略地转换为模型tikz
喜欢的颜色,但您可能希望稍微调整一下。
为了得到盒子在后面顶部的曲线必须先绘制。这意味着它必须位于背景层上,然后页面才能正确排版。因此,我放弃了颜色框,并用灰色区域代替它,这是背景图像中绘制的第一件事。然后将绿色曲线放在灰色框上,这样两者就“合并”了。
您的原始框缩进,导致边距看起来不相等。您要么需要\noindent
在需要的每个页面上使用它,要么加载,parskip
因为我必须\parindent
在整个文档中将其设置为 0pt。一旦更正,页面中间就会出现空间。在第一页上,我调整了两个小页面的宽度以使用其中的一些。此外,请注意,第一页的宽度与背景上灰色区域的宽度相匹配(70-10=60mm),这确保文本仍然居中显示。
\documentclass[10pt]{article}
\RequirePackage{mathptmx}
\RequirePackage[scaled=.90]{helvet}
\RequirePackage{courier}
\usepackage[hmargin=1cm,bmargin=2cm,tmargin=2cm,centering]{geometry}
\usepackage{graphicx}
\usepackage{amssymb}
\usepackage{here}
\usepackage[rgb]{xcolor}
\usepackage{framed}
\usepackage{multicol}
\usepackage{wrapfig}
\usepackage{lipsum}
\usepackage[none]{hyphenat}
\usepackage{parskip}
\definecolor{boxgray}{rgb}{.55,.54,.54}
\definecolor{darkgreen}{rgb}{.1,.67,.29}
\usepackage{tikz}
\usepackage{tikzpagenodes}
\usepackage{atbegshi}
\newcommand\Header{%
\begin{tikzpicture}[remember picture,overlay]
\path [fill=boxgray]
([xshift=1cm]current page.north west) -- ([xshift=70mm]current page.north west) -- ([xshift=70mm]current page.south west) -- ([xshift=1cm]current page.south west) -- cycle;
\path [fill=darkgreen]
(current page.north west) -- (current page.north east) --
([yshift=-1.5cm]current page.north east|-current page text area.north east) .. controls (7,.5) ..
([yshift=-2.5cm]current page.north west|-current page text area.north west) -- cycle;
\node[font=\bfseries\color{white},anchor=east,
xshift=-1.5cm,yshift=-1.3cm] at (current page.north east)
{\fontsize{40}{60}\selectfont Lorem Ipsum};
\end{tikzpicture}%
}
\newcommand\Footer{%
\begin{tikzpicture}[remember picture,overlay]
\fill[darkgreen]
(current page.south west) -- (current page.south east) --
([yshift=-30pt]current page.south east|-current page text area.south east) --
([yshift=-30pt]current page.south west|-current page text area.south west) -- cycle;
\end{tikzpicture}%
}
\pagestyle{empty}
\AtBeginShipout{\Footer}
\AtBeginShipoutFirst{\Header\Footer}
\begin{document}
\vspace*{2cm}
\begin{minipage}[t]{60mm}
\centering
\begin{minipage}[t]{.95\linewidth}
\color{white}%
\textbf{\large In this issue}
\begin{itemize}
\parskip = 0pt
\item Text
\item Text
\item Text
\item Text
\item Text
\end{itemize}
\parskip = 4pt
\centerline {\rule{.75\linewidth}{.25pt}}
\textbf{Lorem Ipsum}
\parskip = 3pt
\lipsum[2]
\lipsum[4]
\end{minipage}
\end{minipage}\hfill
% main section
\begin{minipage}[t]{.675\linewidth}
\begin{center}
\textbf{\Large Lorem Ipsum}
\end{center}
\parskip = 5pt
\lipsum[1-4]
\end{minipage}
\begin{minipage}[t]{.65\linewidth}
\begin{center}
\textbf{\Large Lorem Ipsum}
\end{center}
\begin{multicols}{2}
\parskip = 5pt
\lipsum[1-3]
\end{multicols}
\framebox{
\begin{minipage}[t]{.99\linewidth}
\begin{center}
\textbf{\Large Lorem Ipsum}
\end{center}
\parskip = 0pt
Text
\parskip = 0pt
\end{minipage}}
\parskip=8pt
\end{minipage}\hfill
%rightsidebox
\begin{minipage}[t]{.30\linewidth}
\framebox{
\begin{minipage}[t]{1\linewidth}
\centering
\begin{minipage}[t]{.95\linewidth}
\large \textbf{Lorem Ipsum}
\parskip=5pt
\lipsum[1]
\end{minipage}
\end{minipage}}
\centering
\begin{minipage}[t]{.95\linewidth}
\parskip = 10pt
\ \\
\ \\
Text.\\
Text.\\
\end{minipage}
\end{minipage}
\vfill
%bottom box
\begin{minipage}[t]{.95\textwidth}
\framebox{
\begin{minipage}[t]{.99\linewidth}
\lipsum[2]
\end{minipage}}
\end{minipage}
\end{document}
进一步说明
times
已过时。使用
\RequirePackage{mathptmx}
\RequirePackage[scaled=.90]{helvet}
\RequirePackage{courier}
或者选择其他替代方案(例如 TeX-Gyre Termes 等)。
附录
这是对更新的问题/评论的回复。要在标题中包含图片而不是颜色,您需要采取略有不同的方法并定义\Header
如下:
\newcommand\Header{%
\begin{tikzpicture}[remember picture,overlay]
\path [fill=boxgray]
([xshift=1cm]current page.north west) -- ([xshift=70mm]current page.north west) -- ([xshift=70mm]current page.south west) -- ([xshift=1cm]current page.south west) -- cycle;
\begin{scope}
\path [clip]
(current page.north west) -- (current page.north east) --
([yshift=-1.5cm]current page.north east|-current page text area.north east) .. controls (7,.5) ..
([yshift=-2.5cm]current page.north west|-current page text area.north west) -- cycle;
\node at ([yshift=-2.5cm]current page.north) {\includegraphics[width=\paperwidth]{example-image-a}};
\end{scope}
\node[font=\bfseries\color{white},anchor=east,
xshift=-1.5cm,yshift=-1.3cm] at (current page.north east)
{\fontsize{40}{60}\selectfont Lorem Ipsum};
\end{tikzpicture}%
}
本质上,这使用先前定义的路径来夹子放置在其范围内的节点的内容。在本例中,该节点的内容是一个示例图像:
或者使用以下方法将图像顶部与页面顶部对齐:
\newcommand\Header{%
\begin{tikzpicture}[remember picture,overlay]
\path [fill=boxgray]
([xshift=1cm]current page.north west) -- ([xshift=70mm]current page.north west) -- ([xshift=70mm]current page.south west) -- ([xshift=1cm]current page.south west) -- cycle;
\begin{scope}
\path [clip]
(current page.north west) -- (current page.north east) --
([yshift=-1.5cm]current page.north east|-current page text area.north east) .. controls (7,.5) ..
([yshift=-2.5cm]current page.north west|-current page text area.north west) -- cycle;
\node at (current page.north) [yshift=\baselineskip,anchor=north] {\includegraphics[width=\paperwidth]{example-image-a}};
\end{scope}
\node[font=\bfseries\color{white},anchor=east,
xshift=-1.5cm,yshift=-1.3cm] at (current page.north east)
{\fontsize{40}{60}\selectfont Lorem Ipsum};
\end{tikzpicture}%
}