Question: I have defined a command for a letter in the margin as follows (using marginnote because marginpar did not work at all):

```
\newcommand{\sideletter}[1]{\marginnote{\Huge\bf\sffamily\color{orange} #1}}

```

I appreciate that there are likely going to be issues with vertical alignment, due to the different fonts/sizes and when issuing the commands I have done the following to address the issue:

```
\sideletter{Q}[-1mm]

```

and

```
\sideletter{A}[1mm]

```

This seems to just about fix the issue vertically. However I cannot seem to align horizontally - the A is just *slightly* further to the right.

Example image:

![example](https://i.stack.imgur.com/5YtBa.png)

Does anyone have any idea about how to approach this? I have tried using hfill and centering but nothing seems to work.

Below is a minimum working example:

```
\documentclass{article}
\usepackage{lipsum}
\usepackage{marginnote}
\newcommand{\sideletter}[1]{\marginnote{\Huge\bf\sffamily #1}}
\setlength\parindent{0pt}
\begin{document}
\reversemarginpar
\sideletter{Q}
\lipsum[6]

\sideletter{A}
\lipsum[6]
\end{document}

```

I think in this MWE ![MWE](https://i.stack.imgur.com/fcV6u.png) the misalignment is possibly less obvious, but it is still there. Perhaps the font choice does have *some* bearing on it, but not everything.

Answer: 
I would go about this a little differently. It seems to me that your 'Q' and 'A' could be wrapped up in a `list` environment, which makes me immediately think of the `enumitem` package. 

![enter image description here](https://i.stack.imgur.com/1Exbe.png) 

Instead of using a `command` I have used an `environment`. Personally I find this preferable, as it may ease global changes later on- for example, you may wish to add numbers to the environment, or perhaps other decorations. See what you think- if it's not appropriate, perhaps someone else will have an alternative.

```
\documentclass{article}
\usepackage[showframe=true]{geometry}
\usepackage{xcolor}     % for colour
\usepackage{enumitem}   % for customizing lists
\usepackage{lipsum}     % for sample text

\newenvironment{question}{\begin{itemize}[leftmargin=0mm]\item[\vbox to -5pt{\vss\hbox{\Huge\bf\sffamily\color{orange} Q}\vss}]}
{\end{itemize}}
\newenvironment{answer}{\begin{itemize}[leftmargin=0mm]\item[\vbox to -5pt{\vss\hbox{\Huge\bf\sffamily\color{orange} A}\vss}]}
{\end{itemize}}

\begin{document}

\begin{question}
\lipsum[1]
\end{question}
\begin{answer}
\lipsum[1]
\end{answer}
\end{document}

```

If you plan to use `\Huge` for the `question` environment, you could use the following for the definition:

```
\newenvironment{question}{\begin{itemize}[leftmargin=0mm]\item[\Huge\bf\sffamily\color{orange} Q]\Huge}
  {\end{itemize}}

```
Regardless of the method of alignment (e.g., `\marginpar`, list, etc.) by the end of the day alignment happens by pushing some material towards the edge of some box. This will do proper alignment as long as the material pushed doesn't have any white space included.

With individual characters one may not expect this, but effectively there is and this is simply a feature of the font used. Individual characters are sitting in a bounding box and as far as TeX is concerned such a character is nothing but a rectangle. Whether or not the inkmaking up this character is within the bounds of this box, protruding out of it or even leaving some white space is not know to TeX. So the only remedy here is to visually look at what the font does and correct that.

```
\Huge\bf\sffamily    \vrule A\vrule Q\vrule

```

will give you

![enter image description here](https://i.stack.imgur.com/O80Xr.png)

and as you can see there is different amount of white space around the letters.
You can measure that and then manually correct for it using

```
Q\kern-1pt

```

or whatever is necessary. (Or on the other side if you try to left-align).