在 cv 模板中创建一个 tex 部分,保留自定义命令的布局

在 cv 模板中创建一个 tex 部分,保留自定义命令的布局

我正在使用 Scott Clark 的这个模板来制作我的简历。正如解释的那样这里我用tabular*来替换tabularx,以使其编译。

在模板中,他定义了resheading识别不同部分的命令。命令如下:

\newcommand{\resheading}[1]{\vspace{8pt}
  \parbox{\textwidth}{\setlength{\FrameSep}{\outerbordwidth}
    \begin{shaded}
\setlength{\fboxsep}{0pt}\framebox[\textwidth][l]{\setlength{\fboxsep}{4pt}\fcolorbox{shadecolorB}{shadecolorB}{\textbf{\sffamily{\mbox{~}\makebox[6.762in][l]{\large #1} \vphantom{p\^{E}}}}}}
    \end{shaded}
  }\vspace{-5pt}
}

并创建以下布局:

在此处输入图片描述

但是在 tex 编辑器中,此命令不会创建可以轻松识别的实际部分,并且一段时间后文件变得难以管理和编辑。我想保留相同的布局,但添加一个部分,类似于\section{\resheading{}};但是,这不起作用。有没有一种简单的方法可以保留相同的布局并创建 tex 部分?

我尝试使用该包titlesec。从此开始:

\titleformat{\section}{\normalfont\large\bfseries\color{ugentblauw}}{\thesection}{1em}{#1}}

我复制了resheading

\titleformat{\section}{\vspace{8pt}
  \parbox{\textwidth}{\setlength{\FrameSep}{\outerbordwidth}
    \begin{shaded}
\setlength{\fboxsep}{0pt}\framebox[\textwidth][l]{\setlength{\fboxsep}{4pt}\fcolorbox{shadecolorB}{shadecolorB}{\textbf{\sffamily{\mbox{~}\makebox[6.762in][l]{\large #1} \vphantom{p\^{E}}}}}}
    \end{shaded}
  }\vspace{-5pt}}{\thesection}{1em}{#1}}

但我收到了错误Illegal parameter number

我也尝试过:

\renewcommand{\thesection}{\vspace{8pt}\arabic{section}
 \begin{shaded}
 \setlength{\fboxsep}{0pt}\framebox[\textwidth][l]{\setlength{\fboxsep}{4pt}\fcolorbox{shadecolorB}{shadecolorB}{\textbf{\sffamily{\mbox{~}\makebox[6.762in][l]{\large #1} \vphantom{p\^{E}}}}}}
    \end{shaded}
 }

但出现了同样的错误。

最小完整工作示例

以下是仅包含我当前正在使用的自定义命令的定义、编译 tex 文件所需的包和其他内容的代码。

\documentclass[letterpaper,11pt]{article}
\newlength{\outerbordwidth}
\raggedbottom
\usepackage[svgnames]{xcolor}
\usepackage{framed}
%-----------------------------------------------------------

\setlength{\outerbordwidth}{3pt}  % Width of border outside of title bars
\definecolor{shadecolor}{gray}{0.75}  % Outer background color of title bars (0 = black, 1 = white)
\definecolor{shadecolorB}{gray}{0.93}  % Inner background color of title bars

%--------------------------Margin setup---------------------------------
\setlength{\oddsidemargin}{-0.25in}
\setlength{\textwidth}{7in}
%-----------------------------------------------------------

%Custom commands
\newcommand{\resheading}[1]{\vspace{8pt}
  \parbox{\textwidth}{\setlength{\FrameSep}{\outerbordwidth}
    \begin{shaded}
\setlength{\fboxsep}{0pt}\framebox[\textwidth][l]{\setlength{\fboxsep}{4pt}\fcolorbox{shadecolorB}{shadecolorB}{\textbf{\sffamily{\mbox{~}\makebox[6.762in][l]{\large #1} \vphantom{p\^{E}}}}}}
    \end{shaded}
  }\vspace{-5pt}
}
%-----------------------------------------------------------    
\begin{document}    
    \resheading{Education}
\end{document}

答案1

您可以使用和titlesec命令来实现这一点(我使用以便下面的段落没有缩进;如果您希望它具有通常的缩进框,只需使用而不是)。\titleformat\titlespacing*\titlespacing*\section\parindent\titlespacing\titlespacing*

请注意,我没有查看替换文本\resheading,只是删除了垂直空格最好用\titlespacing或来设置\titlespacing*。除了这两个空格之外,这部分代码是如问题所述。几何设置也是如此,其\resheading依赖性似乎非常紧密。

选项explicit被传递给我们,titlesec因为我们\resheading{#1}在其第五个强制参数中使用了它。如果我们只在该参数内写入,则在从行中\resheading删除选项的情况下将获得相同的结果。explicit\usepackage[explicit]{titlesec}

您的Illegal parameter number错误可能是由于#1在的某个参数中无效使用了\titleformat,但由于您没有提供最小示例,因此我 包含你的titlesec尝试,我无法确定。也许你#1在不允许的参数中使用了它(例如第二个强制参数),也许你没有传递选项explicit,也许问题是其他问题。我可以根据事实推理,但没有水晶球。无论如何,以下代码有效:

\documentclass[letterpaper,11pt]{article}
\usepackage[svgnames]{xcolor}
\usepackage{framed}
\usepackage[explicit]{titlesec}
\usepackage{lipsum}

\newlength{\outerbordwidth}
% Width of border outside of title bars
\setlength{\outerbordwidth}{3pt}
% Outer background color of title bars (0 = black, 1 = white)
\definecolor{shadecolor}{gray}{0.75}
% Inner background color of title bars
\definecolor{shadecolorB}{gray}{0.93}

% You could use the geometry package for these things.
\setlength{\oddsidemargin}{-0.25in}
\setlength{\textwidth}{7in}

\newcommand{\resheading}[1]{%
  \parbox{\textwidth}{\setlength{\FrameSep}{\outerbordwidth}%
    \begin{shaded}
\setlength{\fboxsep}{0pt}\framebox[\textwidth][l]{\setlength{\fboxsep}{4pt}\fcolorbox{shadecolorB}{shadecolorB}{\textbf{\sffamily{\mbox{~}\makebox[6.762in][l]{\large #1} \vphantom{p\^{E}}}}}}
    \end{shaded}%
  }%
}

\titleformat{\section}[block]{}{}{0pt}{\resheading{#1}}{}
\titlespacing*{\section}{0pt}{8pt}{5pt}

\begin{document}

\lipsum[1]

\section{Education}
\lipsum[2]

\section{And now?}
\lipsum[3][1]

\end{document}

截屏

相关内容