Я хотел бы центрировать ссылки по центру заголовка (Pomodoro, Duelr). Как лучше всего это сделать? Мой код выглядит так:
\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}
решение1
Если я правильно понимаю, вы просто хотите поднять URL, как показано ниже.
\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}
решение2
Вы можете использовать \raisebox
и рассчитать высоту, на которую его нужно поднять:
\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}
Это \fbox
просто для того, чтобы показать, что это действительно середина строки. Без него команда будет:
\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}}
решение3
Другая возможность: центрирование по математической оси. Это имеет то преимущество, что автоматически масштабируется до разных размеров без необходимости измерения временного блока; у этого есть недостаток, что требуется немного низкоуровневого кодирования TeX.
Исходный код ниже. Я также подчистил его в нескольких местах.
% 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}