如何删除由 `\resumeSubheading` 生成的额外空白行

如何删除由 `\resumeSubheading` 生成的额外空白行

\resumeSubheading我在代码中使用。我想删除花括号,因为花括号会在 PDF 中添加一条额外的白线。

如果我只是删除括号(删除它),就会出现错误。我添加了以下代码。

\documentclass[letterpaper,12pt]{article}

\usepackage{latexsym}
\usepackage[empty]{fullpage}
\usepackage{titlesec}
\usepackage{marvosym}
\usepackage[usenames,dvipsnames]{color}
\usepackage{verbatim}
\usepackage{enumitem}
\usepackage[hidelinks]{hyperref}
\usepackage{fancyhdr}
\usepackage[english]{babel}
\usepackage{fontawesome5}
\usepackage{hyperref}


\makeatother
\pagestyle{fancy}
\fancyhf{} % clear all header and footer fields
\fancyfoot{}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}

% Adjust margins
\addtolength{\oddsidemargin}{-0.5in}
\addtolength{\evensidemargin}{-0.5in}
\addtolength{\textwidth}{1in}
\addtolength{\topmargin}{-.5in}
\addtolength{\textheight}{1.0in}

\urlstyle{same}

\raggedbottom
\raggedright
\setlength{\tabcolsep}{0in}

% Sections formatting
\titleformat{\section}{
  \vspace{-4pt}\scshape\raggedright\large
}{}{0em}{}[\color{black}\titlerule\vspace{-5pt}]

%-------------------------
% Custom commands
\newcommand{\resumeItem}[2]{
  \item\small{
    \textbf{#1}{#2 \vspace{-2pt}}
  }
}

\newcommand{\resumeSubheading}[4]{
  \vspace{0pt}\item
    \begin{tabular*}{0.97\textwidth}[t]{l@{\extracolsep{\fill}}r}
      \textbf{#1} & #2 \\
      \textit{\small#3} & \textit{\small #4} \\
    \end{tabular*}\vspace{-5pt}
}

\newcommand{\resumeSubItem}[2]{\resumeItem{#1}{#2}\vspace{-4pt}}

\renewcommand{\labelitemii}{$\circ$}

\newcommand{\resumeSubHeadingListStart}{\begin{itemize}[leftmargin=*]}
\newcommand{\resumeSubHeadingListEnd}{\end{itemize}}
\newcommand{\resumeItemListStart}{\begin{itemize}}
\newcommand{\resumeItemListEnd}{\end{itemize}\vspace{-5pt}}

%-------------------------------------------
%%%%%%  CV STARTS HERE  %%%%%%%%%%%%%%%%%%%%%%%%%%%%


\begin{document}

%----------HEADING-----------------
%\begin{tabular*}{\textwidth}{l@{\extracolsep{\fill}}r}
\begin{center}
  \textbf{\href{}{\Large Dummy Name}}\hspace {0.2cm}
    \vskip 0.2cm
    \href{}{\textit{Dummy [email protected]}}$\diamond$   \hspace {0.1cm}  

        
 
   

  
\end{center}

%\end{tabular*}



%-----------INTERNSHIPS-----------------
\section{Work Experiences}
  \resumeSubHeadingListStart

  \resumeSubheading
      {Dummy Name }{July 2021 -- December 2021}{}{} %--THESE BRACES RESULT IN EMPTY LINE--%
      \resumeItemListStart
        \resumeItem{}
          {Dummy Name}
    
      \resumeItemListEnd
 

  \resumeSubHeadingListEnd



%--------PROGRAMMING SKILLS------------
\section{Technical Skills}
  \resumeSubHeadingListStart
    \item{\textbf{ Programming Languages}{: C++,Java,Python}
    \hfill
   \textbf{$\bullet$ Libraries}{: Scikit-learn,Pandas,Selenium}}
 
   
\resumeSubHeadingListEnd


\end{document}

答案1

输出空行的原因在于宏的定义\resumeSubheading插入了一个tabular有两行的环境。即使第二行为空,它仍将是输出的一部分。

为了仅在此行内容不为空时输出第二行,您可以在文档中替换此代码:

\newcommand{\resumeSubheading}[4]{
  \vspace{0pt}\item
    \begin{tabular*}{0.97\textwidth}[t]{l@{\extracolsep{\fill}}r}
      \textbf{#1} & #2 \\
      \textit{\small#3} & \textit{\small #4} \\
    \end{tabular*}\vspace{-5pt}
}

通过以下代码:

\newcommand{\resumeSubheading}[4]{
  \vspace{0pt}\item
    \def\tempscndline{#3#4}\ifx\tempscndline\empty
    \begin{tabular*}{0.97\textwidth}[t]{l@{\extracolsep{\fill}}r}
      \textbf{#1} & #2 \\
    \end{tabular*}
    \else
    \begin{tabular*}{0.97\textwidth}[t]{l@{\extracolsep{\fill}}r}
      \textbf{#1} & #2 \\
      \textit{\small#3} & \textit{\small #4} \\
    \end{tabular*}
    \fi\vspace{-5pt}
}

这不是一个非常优雅的解决方案,但它应该可以解决您的问题。

相关内容