1

I wanted to use tabto to insert symbols into the margins of my document. I did this as in the following MWE:

\documentclass[11pt]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{tikz}
\usepackage{lipsum}
\usepackage{tabto, calc}
%   \def\marginsymbol{\protect\marginsymbolhelper}
%   \def\marginsymbolhelper{\tabto*{-1ex}\makebox[0cm]{$\bullet$}\tabto*{\TabPrevPos}}
%   The following works, too:
    \newcommand{\marginsymbol}{\tabto*{-3.5ex}{%
    \begin{tikzpicture}[remember picture, overlay 
        ]%
        \node[circle, fill=pink] at (0, 0) {\textcolor{white!90!pink}{\LARGE\textbf{i}}};
        \end{tikzpicture}
    }%
    \tabto*{\TabPrevPos}}%
    \newcommand{\marginsig}{\tabto*{\textwidth + 3.5ex}{%
        \begin{tikzpicture}[remember picture, overlay 
        ]%
        \node[circle, fill=pink] at (0, 0) {\textcolor{white!90!pink}{\LARGE\textbf{i}}};
        \end{tikzpicture}       
        }%
        \tabto*{\TabPrevPos}
        }%


\begin{document}
\section{Eins}
Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum\marginsymbol  
Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum
Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum
Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum
Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum
Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum
Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum
Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum
Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum
Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum
Dieser Text ist nicht Lorem Ipsum Dieser\marginsig Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum
Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum
Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum
Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum
Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum
Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum
Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum
Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum
Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum

\end{document}

The symbol in the right margin (\marginsig) causes the text to continue at the right position, but in the next line. This problem is independent of using a tikzpicture environment, or tikz at all. How can I fix this?

4
  • Are you sure, that you are not searching for \marginpar or \marginline maybe together with \reversemarginpar?
    – cabohah
    May 7, 2023 at 14:43
  • \marginparseems not to place the content in the margin i want it to (tried with \reversemarginpar and the mparhack package), but marginnote from the resp. package works fine! I thought my approach was more flexible, but this seems to work fine, too.
    – Katjuscha
    May 8, 2023 at 14:48
  • \marginpar does also work. See the second example in my answer.
    – cabohah
    May 8, 2023 at 16:11
  • Since you have some response below that seem to answer your question, please consider marking it as ‘Accepted’ by clicking on the tickmark below their vote count (see How do you accept an answer?). This shows which answer helped you most, and it assigns reputation points to the author of the answer (and to you!). If it does not answer your question completely, consider to upvote it. It's part of this site's idea to identify good questions and answers through upvotes and acceptance of answers.
    – cabohah
    May 3 at 17:28

1 Answer 1

0

There are several methods to print material into the margins. In your case it seems, you want to print into the left and the right margin. Because you are already using a KOMA-Script class, here is a suggestion using the KOMA-Script package scrlayer-notecolumn, that provides the usage of several note columns:

\documentclass{scrartcl}% 11pt is the default and therefore not needed
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{tikz}
\usepackage{lipsum}
\usepackage{scrlayer-scrpage,scrlayer-notecolumn}
\DeclareRobustCommand*{\marginsymbol}{%
  \begin{tikzpicture}
    \node[circle, fill=pink] at (0, 0) {\textcolor{white!90!pink}{\LARGE\textbf{i}}};
  \end{tikzpicture}
}%
\DeclareNewNoteColumn[reversemarginpar]{reversemarginpar}
\NewDocumentCommand{\marginsign}{s}
{%
  \IfBooleanTF{#1}%
    {\makenote[reversemarginpar]{\raggedleft\marginsymbol}}%
    {\makenote{\marginsymbol}}%
}
\begin{document}
\section{Eins}
Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum\marginsign*
Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum
Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum
Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum
Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum
Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum
Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum
Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum
Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum
Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum
Dieser Text ist nicht Lorem Ipsum Dieser\marginsign{} Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum
Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum
Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum
Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum
Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum
Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum
Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum
Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum
Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum
\end{document}

After two LaTeX runs you'd get:

left and right margin mark with scrlayer-scrpage

But to be kind: You don't need an extra package, you can simply use \marginpar with a trick to reach the left margin:

\documentclass{scrartcl}% 11pt is the default and therefore not needed
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{tikz}
\usepackage{lipsum}
%\usepackage{scrlayer-scrpage,scrlayer-notecolumn}
\DeclareRobustCommand*{\marginsymbol}{%
  \begin{tikzpicture}
    \node[circle, fill=pink] at (0, 0) {\textcolor{white!90!pink}{\LARGE\textbf{i}}};
  \end{tikzpicture}
}%
%\DeclareNewNoteColumn[reversemarginpar]{reversemarginpar}
\NewDocumentCommand{\marginsign}{s}
{%
  \IfBooleanTF{#1}%
    {\marginpar{\makebox[0pt][l]{\hspace*{-\dimexpr\textwidth+2\marginparsep}\raisebox{-\ht\strutbox}{\makebox[0pt][r]{\marginsymbol}}}}}%
    {\marginpar{\raisebox{-\ht\strutbox}{\marginsymbol}}}%
}
\begin{document}
\section{Eins}
Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum\marginsign*
Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum
Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum
Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum
Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum
Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum
Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum
Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum
Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum
Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum
Dieser Text ist nicht Lorem Ipsum Dieser\marginsign{} Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum
Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum
Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum
Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum
Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum
Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum
Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum
Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum
Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum Dieser Text ist nicht Lorem Ipsum
\end{document}

left and right margin mark with \marginpar

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .