Ich möchte die Links gerne mittig im Titel platzieren (Pomodoro, Duelr). Wie gehe ich am besten vor? Mein Code sieht so aus:
\begin{tabularx}{\linewidth}{X r}
\rule{0pt}{17pt}
\hspace{-0.2em}\large\textbf{\textsc{Pomodoro} \vspace{0.5em} \href{https://www.GitHub.com/AllanMukundi/Pomodoro}{\fontsize{7}{8.4}\selectfont - https://www.GitHub.com/AllanMukundi/Pomodoro}} & \textit{May 2017}
\end{tabularx}
\vspace{-1.60em}
\begin{itemize}[noitemsep]
\item A productivity-oriented web application which incentivizes the Pomodoro Technique via a reward system
\item Features a dynamic leaderboard, responsive design, and user authentication with support for social accounts
\item Deployed onto Heroku and built using Django/Python, HTML5, CSS, Bootstrap, JavaScript, jQuery, and AJAX
\end{itemize}
\begin{tabularx}{\linewidth}{X r}
\rule{0pt}{17pt}
\hspace{-0.2em}\large\textbf{\textsc{Duelr} \href{https://www.GitHub.com/AllanMukundi/Duelr}{\fontsize{7}{8.4}\selectfont - https://www.GitHub.com/AllanMukundi/Duelr}} & \textit{Jun. 2017}
\end{tabularx}
\vspace{-1.60em}
\begin{itemize}[noitemsep]
\item Duelr is an online multiplayer 1v1 fighting game which uses web sockets to deliver real-time interactions
\item Features fluid character animations, intuitive controls, and fully functional collision mechanisms
\item Hosted on Microsoft Azure and built with JavaScript, Node.js, Express.js, Socket.io, HTML5, CSS, and Phaser
\end{itemize}
Antwort1
Wenn ich das richtig verstehe, möchten Sie lediglich die URL wie unten angegeben angeben.
\documentclass{article}
\usepackage{tabularx,enumitem}
\usepackage[colorlinks]{hyperref}
\newcommand\midl[1]{\raisebox{1pt}{#1}}
\begin{document}
\sffamily
\begin{tabularx}{\linewidth}{X r}
\rule{0pt}{17pt}
\hspace{-0.2em}\large\textbf{%
\textsc{Pomodoro}
\midl{\href{https://www.GitHub.com/AllanMukundi/Pomodoro}{\fontsize{7}{8.4}\selectfont - https://www.GitHub.com/AllanMukundi/Pomodoro}}} & \textit{May 2017}
\end{tabularx}
\vspace{-1.60em}
\begin{itemize}[noitemsep]
\item A productivity-oriented web application which incentivizes the Pomodoro Technique via a reward system
\item Features a dynamic leaderboard, responsive design, and user authentication with support for social accounts
\item Deployed onto Heroku and built using Django/Python, HTML5, CSS, Bootstrap, JavaScript, jQuery, and AJAX
\end{itemize}
\begin{tabularx}{\linewidth}{X r}
\rule{0pt}{17pt}
\hspace{-0.2em}\large\textbf{%
\textsc{Duelr}
\midl{\href{https://www.GitHub.com/AllanMukundi/Duelr}{\fontsize{7}{8.4}\selectfont - https://www.GitHub.com/AllanMukundi/Duelr}}} & \textit{Jun. 2017}
\end{tabularx}
\vspace{-1.60em}
\begin{itemize}[noitemsep]
\item Duelr is an online multiplayer 1v1 fighting game which uses web sockets to deliver real-time interactions
\item Features fluid character animations, intuitive controls, and fully functional collision mechanisms
\item Hosted on Microsoft Azure and built with JavaScript, Node.js, Express.js, Socket.io, HTML5, CSS, and Phaser
\end{itemize}
\end{document}
Antwort2
Sie können \raisebox
die Höhe berechnen, um die es angehoben werden muss:
\documentclass[]{article}
\usepackage{tabularx}
\usepackage{hyperref}
\usepackage{enumitem}
\newdimen\mytitlehtONE
\newdimen\mytitlehtTWO
\newcommand{\mytitle}[2]{%
\setbox0\hbox{\large\textbf{\textsc{#1}}}%
\mytitlehtONE=\ht0%
\setbox0\hbox{\textbf{\href{#2}{\fontsize{7}{8.4}\selectfont - #2}}}%
\mytitlehtTWO=\ht0%
\advance\mytitlehtONE by -\mytitlehtTWO\relax%
\hspace{-0.2em}\fbox{\large\textbf{\textsc{#1}}}
\raisebox{0.5\mytitlehtTWO}{\unhbox0}}
\begin{document}
\begin{tabularx}{\linewidth}{X r}
\rule{0pt}{17pt}
\mytitle{Pomodoro}{https://www.GitHub.com/AllanMukundi/Pomodoro} & \textit{May 2017}
\end{tabularx}
\end{document}
Das \fbox
dient nur dazu, zu zeigen, dass es sich wirklich um die Mitte der Zeile handelt. Ohne es lautet der Befehl:
\newcommand{\mytitle}[2]{%
\setbox0\hbox{\large\textbf{\textsc{#1}}}%
\mytitlehtONE=\ht0%
\setbox0\hbox{\textbf{\href{#2}{\fontsize{7}{8.4}\selectfont - #2}}}%
\mytitlehtTWO=\ht0%
\advance\mytitlehtONE by -\mytitlehtTWO\relax%
\hspace{-0.2em}\large\textbf{\textsc{#1}}
\raisebox{0.5\mytitlehtTWO}{\unhbox0}}
Antwort3
Eine weitere Möglichkeit: Zentrieren entlang der mathematischen Achse. Dies hat den Vorteil, dass es automatisch auf verschiedene Größen skaliert, ohne dass eine temporäre Box gemessen werden muss; es hat den Nachteil, dass es ein wenig TeX-Codierung auf niedriger Ebene erfordert.
Es folgt der Quellcode. Ich habe ihn auch an mehreren Stellen bereinigt.
% My standard header for TeX.SX answers:
\documentclass[a4paper]{article} % To avoid confusion, let us explicitly
% declare the paper format.
\usepackage[T1]{fontenc} % Not always necessary, but recommended.
% End of standard header. What follows pertains to the problem at hand.
\usepackage{enumitem}
\usepackage[colorlinks]{hyperref}
\makeatletter
\newenvironment*{myList}[3]{%
{\noindent \parfillskip\z@skip
\rule{0pt}{17pt}% <-- !!! (But why this rule?)
% \hspace{-0.2em} % no longer necessary, I guess! ;-)
{\large
{%
\bfseries
% \scshape % not supported
#1\/%
}%
~$\m@th \vcenter{\hbox{\scriptsize - \url{#2}}}$%
}%
\nobreak\hfill \textit{#3}\@@par
}%
% \vspace{-1.60em} % specify "nosep" instead of "noitemsep"
\begin{itemize}[nosep]%
}{%
\end{itemize}%
}
\makeatother
\begin{document}
\sffamily
\begin{myList}
{Pomodoro}
{https://www.GitHub.com/AllanMukundi/Pomodoro}
{May 2017}
\item
A productivity-oriented web application which incentivizes the Pomodoro
Technique via a reward system.
\item
Features a dynamic leaderboard, responsive design, and user
authentication with support for social accounts.
\item
Deployed onto Heroku and built using Django/Python, HTML5, CSS\@,
Bootstrap, JavaScript, jQuery, and AJAX\@. %"\@" for precaution
\end{myList}
\begin{myList}
{Duelr}
{https://www.GitHub.com/AllanMukundi/Duelr}
{Jun. 2017}
\item
Duelr is an online multiplayer 1v1 fighting game which uses web sockets
to deliver real-time interactions.
\item
Features fluid character animations, intuitive controls, and fully
functional collision mechanisms.
\item
Hosted on Microsoft Azure and built with JavaScript, Node.js,
Express.js, Socket.io, HTML5, CSS\@, and Phaser.
\end{myList}
\end{document}