将 Friggeri-CV 转换为 A4

将 Friggeri-CV 转换为 A4

由于某些奇怪的原因,在这里可以找到非常好的模板

http://www.latextemplates.com/template/friggeri-resume-cv

不是 A4 纸,而是别的东西。但是,如果我简单地a4papergeometry包,它会弄乱标题,更重要的是,它会弄乱列之间的间距。

我的版本是a4paper

我拥有的

原来的:

原来的

我猜想标题部分与这部分有关:

\newcommand{\header}[3]{%
  \begin{tikzpicture}[remember picture,overlay]
    \node [rectangle, fill=fillheader, anchor=north, minimum width=\paperwidth, minimum height=4cm] (box) at (current page.north){};
    \node [anchor=center] (name) at (box) {%
      \fontsize{40pt}{72pt}\color{header}%
      {\thinfont #1}{\bodyfont  #2}
    };
    \node [anchor=north] at (name.south) {%
      \fontsize{14pt}{24pt}\color{header}%
      \thinfont #3%
    };
  \end{tikzpicture}
  \vspace{2.5cm}
  \vspace{-2\parskip}
}

用 Ti 完成Z,对我来说就像古埃及象形文字一样有意义。我尝试了一些破解方法\raisebox,但结果却更糟。

那么,有人知道如何将格式更改为 A4,并保持标题中的名称垂直居中且各列间距适当吗?

答案1

在我的回答中,我将分别解决标题问题和不正确的列间距问题。

一般要求

首先要做的是在主包加载后在开头添加以下几行来修改 .cls 文件:

\newif\ifafourpaper

\afourpaperfalse


\DeclareOption{a4paper}
   {\setlength\paperheight {297mm}%
    \setlength\paperwidth  {210mm}%
    \afourpapertrue%
  }

\ProcessOptions

这将允许我们在 .cls 文件中创建两组代码,这些代码的运行取决于您在加载类文件时是否选择了 a4paper 作为选项。

修复标题

当我将 Friggeri 风格的简历更改为 a4paper 时,标题对我来说似乎是正确的,但是,如果您想调整它,您可以执行以下操作:

\usetikzlibrary{calc}
\ifafourpaper
    \newcommand{\header}[3]{%
      \begin{tikzpicture}[remember picture,overlay]
        \node [rectangle, fill=fillheader, anchor=north, minimum width=\paperwidth, minimum height=3.5cm] (box) at (current page.north){};
        \path let \p1 = (box) in node[anchor=center] (name) at (\x1-0cm,\y1-0cm) {%
          \fontsize{40pt}{72pt}\color{header}%
          {\headingfonttwo #1}{\kern 0.2cm}{\headingfonttwo #2}
        };
        \node [anchor=north] (title) at (name.south) {%
          \fontsize{14pt}{24pt}\color{header}%
          \headingfonttwo #3%
        };
      \end{tikzpicture}
      \vspace{2.5cm}
      \vspace{-2\parskip}
    }
\else
    \newcommand{\header}[3]{%
      \begin{tikzpicture}[remember picture,overlay]
        \node [rectangle, fill=fillheader, anchor=north, minimum width=\paperwidth, minimum height=3.5cm] (box) at (current page.north){};
        \node [anchor=center] (name) at (box) {%
          \fontsize{40pt}{72pt}\color{header}%
          {\headingfonttwo #1}{\kern 0.2cm}{\headingfonttwo #2}
        };
        \node [anchor=north] (title) at (name.south) {%
          \fontsize{14pt}{24pt}\color{header}%
          \headingfonttwo #3%
        };
      \end{tikzpicture}
      \vspace{2.5cm}
      \vspace{-2\parskip}
    }
\fi

tikz 库calc允许您保存节点坐标(\p1保存我们定义的节点的坐标)并使用和box调用它们。\x1\y1

\ifafourpaper部分中,您可以修改\x1-0cm\y1-0cm以将名称位置随机移动到您喜欢的任何位置(例如,将其向上移动 0.1 厘米将是\x1-0cm\y1+0.1cm

列间距

切换到 A4 纸张后,列间距确实会变得混乱。我已对其进行了如下调整:

\ifafourpaper
    \newcommand{\entry}[4]{%
      \parbox[t]{2cm}{\hfill#1}&\parbox[t]{15.5cm}{%
        \textbf{#2}%
        %\hfill%
        {, \normalsize\addfontfeature{Color=gray} \textit{#3}}\\%
        #4\vspace{\parsep}%
      }\\}
\else
    \newcommand{\entry}[4]{%
      \parbox[t]{2cm}{\hfill#1}&\parbox[t]{16cm}{%
        \textbf{#2}%
        %\hfill%
        {, \normalsize\addfontfeature{Color=gray} \textit{#3}}\\%
        #4\vspace{\parsep}%
      }\\}
\fi

引用

这个问题这个问题

相关内容