
Ich habe eine Umgebung wie folgt definiert. Ich hätte gerne eine Änderung, bei der kein vertikaler Leerraum hinzugefügt wird, wenn keine Argumente angegeben werden.
\documentclass[10]{article}
\usepackage[a4paper, margin=1in]{geometry}
\usepackage{tabu}
\usepackage{enumitem}
\setlist{leftmargin=5mm, noitemsep, topsep=-1\parskip}
\newenvironment{cvsection}[1]{
\vspace{3pt}
\hspace{3pt}{\scriptsize{\textbf{#1}}}
\vspace{2pt}
\hrule
}
\newenvironment{cvsubsection}[3]{
\vspace{-8pt}
\begin{center}
\begin{tabu} to 1\textwidth { X[l,m] X[c,m] X[r,m] }
\textbf{\small #1} & \textbf{\small #2} & \textbf{\small #3} \\
\end{tabu}
\end{center}
}
\begin{document}
\begin{cvsection}{LANGUAGES \& TECHNOLOGIES}
\begin{cvsubsection}{}{}{}
\begin{itemize}
\item C++; C; Java; Objective-C; C\#.NET; SQL; JavaScript; XSLT; XML (XSD) Schema
\item Visual Studio; Microsoft SQL Server; Eclipse; XCode; Interface Builder
\end{itemize}
\end{cvsubsection}
\end{cvsection}
\end{document}
Das Obige ergibt das Folgende. Ich möchte den rot markierten weißen Abstand entfernen, wenn ich keine Argumente angebe cvsubsection
. Wenn ich Argumente angebe, sollte es wie oben bereits definiert funktionieren.
Gewünschte Ausgabe mit entsprechendem Code(HINWEIS: Der Code dient nur dazu, die Ausgabe anzuzeigen, die ich möchte. Ich möchte immer noch leere Argumente an meinen übergeben cvsubsection
.)
\begin{cvsection}{LANGUAGES \& TECHNOLOGIES}
% \begin{cvsubsection}{}{}{}
\vspace{4pt}
\begin{itemize}
\item C++; C; Java; Objective-C; C\#.NET; SQL; JavaScript; XSLT; XML (XSD) Schema
\item Visual Studio; Microsoft SQL Server; Eclipse; XCode; Interface Builder
\end{itemize}
% \end{cvsubsection}
\end{cvsection}
Antwort1
Eine Idee mit Prüfung nur des ersten Arguments des CV-Unterabschnitts (da ich der Meinung bin, dass, wenn dieser leer ist, die anderen auch leer sein werden – bitten Sie mich ruhig, die Prüfung auch auf die anderen auszuweiten).
\documentclass{article}
\usepackage{tabu}
\usepackage{enumitem}
\setlist{leftmargin=5mm, noitemsep, topsep=-1\parskip}
\newenvironment{cvsection}[1]{
\vspace{3pt}
\hspace{3pt}{\scriptsize{\textbf{#1}}}
\vspace{2pt}
\hrule
}
\newenvironment{cvsubsection}[3]{
\edef\FirstArg{#1}
\ifx\FirstArg\empty\vspace{-25pt}\fi
\begin{center}
\begin{tabu} to 1\textwidth { X[l,m] X[c,m] X[r,m] }
\textbf{\small #1} & \textbf{\small #2} & \textbf{\small #3} \\
\end{tabu}
\end{center}
}
\begin{document}
\begin{cvsection}{LANGUAGES \& TECHNOLOGIES}
\begin{cvsubsection}{}{}{}
\begin{itemize}
\item C++; C; Java; Objective-C; C\#.NET; SQL; JavaScript; XSLT; XML (XSD) Schema
\item Visual Studio; Microsoft SQL Server; Eclipse; XCode; Interface Builder
\end{itemize}
\end{cvsubsection}
\begin{cvsubsection}{Arg2}{Arg3}{Arg4}
\begin{itemize}
\item C++; C; Java; Objective-C; C\#.NET; SQL; JavaScript; XSLT; XML (XSD) Schema
\item Visual Studio; Microsoft SQL Server; Eclipse; XCode; Interface Builder
\end{itemize}
\end{cvsubsection}
\end{cvsection}
\end{document}