我正在使用 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}