我想用 TeX 来设计我的简历。我想象中的方式如下两张图片所示:
现在我四处寻找了一下,并开始尝试解决问题Tikz
。我尝试设计上部并将其绑定到命令:
% !TeX program = lualatex
\documentclass[a4paper,12pt]{article}
%font encoding
\usepackage[onehalfspacing]{setspace}
\usepackage{fontspec}
\setmainfont{Arial}
%Tikz
\usepackage{tikz}
\tikzset{
thumb/.style={
text=blue,
font=\sffamily\bfseries\Huge
}
}
\newcommand{\sep}[1]{
\HUGE{#1}
\begin{tikzpicture}
\draw [blue, fill=blue, ultra thick] (-2,0.5) circle [radius=0.15];
\draw [ultra thick, blue] (-2,0.5) -- (10,0.5);
\end{tikzpicture}
}
\begin{document}
\sep{Test}
\end{document}
现在它仍然看起来很丑,TeX 还说“未定义的控制序列”,但主要问题是:当我调用该命令时,他会将线绘制到绝对位置。我可以让它相对于使用我的命令的位置吗?(我基本上需要给它文本,然后他应该在文本下方绘制该线,如上图所示)。
答案1
这tikzpage节点包定义了一些有用的节点,例如current page text area
,您可以使用这些节点从当前位置到“打印页面”的末尾绘制线条。要使用此功能,您需要将其添加remember picture, overlay
到您的tikzpicture
环境中,如 3.0.1a 的 17.13 节所述蒂克兹手册。一旦你知道了这一点,就不难制作:
代码如下:
% !TeX program = lualatex
\documentclass[a4paper,12pt]{article}
%font encoding
\usepackage[onehalfspacing]{setspace}
\usepackage{fontspec}
\setmainfont{Arial}
\parindent=0pt
%Tikz
\usepackage{tikz}
\usepackage{tikzpagenodes}
\tikzset{
thumb/.style={
fill=blue,
circle,
inner sep=2.5pt,
outer sep=0,
},
thumblabel/.style={
font=\sffamily\bfseries\Huge,
text=blue,
above,
anchor=south west
}
}
\newcommand{\sep}[1]{%
\begin{tikzpicture}[remember picture, overlay]
\node[thumb, label={[thumblabel]:#1}](#1) at (0,0){};
\draw [ultra thick, blue] (#1) -- (#1-|current page text area.east);
\end{tikzpicture}%
}
\begin{document}
\sep{Test}
\bigskip
\qquad\sep{Indented test}
\end{document}
请注意,我已将实际文本绘制为绘制点的节点的标签。标签的样式由 给出thumblabel
。此外,作为 的参数的文本\sep
用作此节点的标签,因此如果\sep
命令给出的每一段文本都不同,那就太好了。如果不是这种情况,则添加一个可选参数 ,\sep
可用于直接设置标签(如果需要,我可以添加更多详细信息)。