2

I want to paint a horizontal line of any thickness in my film, for which I use tikz. Everything is fine, only LaTeX inserts a gap at the beginning of the line, which makes everything seem asymmetrical.

\documentclass{beamer}

\usepackage{tikz}

\setlength{\parindent}{0pt}
\newcommand{\fhline}[1]{%
    \begin{tikzpicture}[scale=\textwidth/1cm,outer sep=-5mm] 
    \draw[line width=#1pt] (0,0) -- (1,0);
    \end{tikzpicture}}

\title{There Is No Largest Prime Number}
\subtitle{Testttl}
\date[ISPN ’80]{27th International Symposium of Prime Numbers}
\author[Euclid]{Euclid of Alexandria \texttt{euclid@alexandria.edu}}
\setbeamertemplate{title page}
{%
    \fhline{3}  
    \vskip0.2em
    \begin{minipage}{\textwidth}
        \ifx\insertsubtitle\empty
        \usebeamerfont{title}\inserttitle
        \else
        \usebeamerfont{title}\inserttitle\par
        \vskip0.5em
        \usebeamerfont{subtitle}\insertsubtitle
        \fi
    \end{minipage}

    \vskip0.3em

    %greenline
    \fhline{1}

    \vskip3.0cm
    \begin{minipage}{\textwidth}
        \ifx\insertauthor\empty
        \else
        \usebeamerfont{author}\insertauthor\par
        \fi
        \ifx\insertdate\empty
        \else
        \usebeamerfont{author}\insertdate\\
        \fi
    \end{minipage}
    \vskip1.0cm
}

\begin{document}

\begin{frame}
\titlepage
\end{frame}

\end{document}

looks like:

examplepage

cyper
  • 123
  • 2

2 Answers2

2

My personal opinion: tikz is overkill to draw a simple line.

\documentclass{beamer}

\newcommand{\fhline}[1]{%
    \rule{\textwidth}{#1pt}%
}

\title{There Is No Largest Prime Number}
\subtitle{Testttl}
\date[ISPN ’80]{27th International Symposium of Prime Numbers}
\author[Euclid]{Euclid of Alexandria \texttt{euclid@alexandria.edu}}

\setbeamertemplate{title page}{%
        \fhline{3}
    \vskip0.2em
    \begin{minipage}{\textwidth}
        \ifx\insertsubtitle\empty
        \usebeamerfont{title}\inserttitle
        \else
        \usebeamerfont{title}\inserttitle\par
        \vskip0.5em
        \usebeamerfont{subtitle}\insertsubtitle
        \fi
    \end{minipage}
    \vskip0.3em
        \fhline{1}
    \vskip3.0cm
    \begin{minipage}{\textwidth}
        \ifx\insertauthor\empty
        \else
        \usebeamerfont{author}\insertauthor\par
        \fi
        \ifx\insertdate\empty
        \else
        \usebeamerfont{author}\insertdate\\
        \fi
    \end{minipage}
    \vskip1.0cm
}

\begin{document}

\begin{frame}
\titlepage
\end{frame}

\end{document}

enter image description here

1

In principle I agree with @samcarter that tikz is a bit of an overkill for drawing a horizontal line, but the issue will become more serious once one creates more fancy features. According to what I find, \centerline does the job. In a way, this "trick" has already been used here, where one can find these fancy lines.

\documentclass{beamer}

\usepackage{tikz}
\usepackage{lipsum}

\setlength{\parindent}{0pt}
\newcommand{\fhline}[1]{%
\centerline{\tikz[scale=\textwidth/1cm,outer sep=-5mm]{% 
\draw[-,line width=#1pt] (0,0) -- (1,0);}}}
\date[$\pi$ day]{27th International Symposium of Prime Numbers}
\title{There Is No Largest Prime Number}
\subtitle{Testttl}

\author[Euclid]{Euclid of Alexandria \texttt{euclid@alexandria.edu}}

\setbeamertemplate{title page}
{%
\fhline{3}  
    \vskip0.2em
    \begin{minipage}{\textwidth}
        \ifx\insertsubtitle\empty
        \usebeamerfont{title}\inserttitle
        \else
        \usebeamerfont{title}\inserttitle\par
        \vskip0.5em
        \usebeamerfont{subtitle}\insertsubtitle
        \fi
    \end{minipage}

    \vskip0.3em

    %greenline
\fhline{1}

    \vskip3.0cm
    \begin{minipage}{\textwidth}
        \ifx\insertauthor\empty
        \else
        \usebeamerfont{author}\insertauthor\par
        \fi
        \ifx\insertdate\empty
        \else
        \usebeamerfont{author}\insertdate\\
        \fi
    \end{minipage}
    \vskip1.0cm
}
\begin{document}

\begin{frame}
\titlepage
\end{frame}

\begin{frame}
\frametitle{A somewhat more serious test}
\begin{overlayarea}{\textwidth}{\textheight}
\fhline{3}  
\lipsum[1]
\fhline{2}  
\end{overlayarea}
\end{frame}
\end{document}

enter image description here

enter image description here

Notice that I was struggling when trying to copy the original code because there seems to be some strange character in the square brackets after \date.

  • thnx, that works fine for me.

    its a minimal example. i use tikz for some additional designs...

    – cyper Dec 07 '17 at 13:28