Desenhando uma linha na margem direita

Desenhando uma linha na margem direita

Preciso preparar uma prova em LaTeX e tenho que desenhar duas linhas em toda a margem direita da folha com escrito no início da página "NÃO ESCREVER NESTA MARGEM". Existe uma maneira de escrever na margem direita? Ou devo usar uma mesa longa? Lamento se não postar nenhum exemplo mínimo, mas não tenho a menor ideia de como começar!

Um exemplo das linhas é o seguinte:

insira a descrição da imagem aqui

as linhas verticais devem continuar ao longo de toda a folha e continuar (com a mesma etiqueta no início) na página seguinte.

Saúde

Responder1

Este é o MWV, você pode melhorá-lo

\documentclass[]{article}

\usepackage{geometry}
\usepackage{tikzpagenodes}
\usepackage{tikz}

\usetikzlibrary{backgrounds}
\geometry{left = 2cm, right = 1cm, marginparwidth = 2cm, includemp}

\begin{document}

\begin{tikzpicture}[remember picture, overlay, black]
  \coordinate (mNE) at (current page marginpar area.east |- current page header area.north);
  \coordinate (mNW) at (current page text area.west |- current page header area.north);

  \coordinate (mSE) at (current page marginpar area.east |- current page footer area.south);
  \coordinate (mSW) at (current page text area.west |- current page footer area.south);

  \begin{scope}[line width = 3pt]
    \draw[] (mNE) ++(0, -1cm) -- (mNE) -- ++(-1cm, 0);
    \draw[] (mNW) ++(0, -1cm) -- (mNW) -- ++(1cm, 0);
    \draw[] (mSE) ++(0, 1cm) -- (mSE) -- ++(-1cm, 0);
    \draw[] (mSW) ++(0, 1cm) -- (mSW) -- ++(1cm, 0);
  \end{scope}

  \draw (current page marginpar area.north east) -- (current page marginpar area.south east);
  \draw (current page marginpar area.north west) -- (current page marginpar area.south west);

  \node[left] at (current page marginpar area.north west) {MARKS};
  \node[right, text width = 2cm] at (current page marginpar area.north west) {DO NOT \\ WRITE IN\\ THIS \\ MARGIN};

\end{tikzpicture}

{\bf FORMULAE LIST} \par

The roots of $ax^2 + bx + c = 0$ are $\displaystyle{x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}}$

\end{document}

insira a descrição da imagem aqui

EDITAR

Para incluir isso em todas as páginas, use o everypagepacote

\AddEverypageHook{
  \begin{tikzpicture}[remember picture, overlay, black]
    \coordinate (mNE) at (current page marginpar area.east |- current page header area.north);
    \coordinate (mNW) at (current page text area.west |- current page header area.north);       
    \coordinate (mSE) at (current page marginpar area.east |- current page footer area.south);
    \coordinate (mSW) at (current page text area.west |- current page footer area.south);       
    \begin{scope}[line width = 3pt]
      \draw[] (mNE) ++(0, -1cm) -- (mNE) -- ++(-1cm, 0);
      \draw[] (mNW) ++(0, -1cm) -- (mNW) -- ++(1cm, 0);
      \draw[] (mSE) ++(0, 1cm) -- (mSE) -- ++(-1cm, 0);
      \draw[] (mSW) ++(0, 1cm) -- (mSW) -- ++(1cm, 0);
    \end{scope}       
    \draw (current page marginpar area.north east) -- (current page marginpar area.south east);
    \draw (current page marginpar area.north west) -- (current page marginpar area.south west);       
    \node[left] at (current page marginpar area.north west) {MARKS};
    \node[right, text width = 2cm] at (current page marginpar area.north west) {DO NOT \\ WRITE IN\\ THIS \\ MARGIN};
  \end{tikzpicture}
}

insira a descrição da imagem aqui

Responder2

Como você deseja escrever em todas as páginas, você pode usar eso-pic:

\documentclass{exam}
\usepackage[left=.5in, right=2in, marginparwidth=0pt]{geometry}
\usepackage{eso-pic}
\usepackage{ifthen}
\usepackage{tikz}
\usetikzlibrary{positioning}

% for testing purpose only:
\usepackage{mwe}
%\usepackage{showframe}

\begin{document}
    \AddToShipoutPictureBG{%
        \AtPageLowerLeft{% 
            \begin{tikzpicture}[overlay,remember picture]
            % angles
            \coordinate (pagene) at (.98\paperwidth,.98\paperheight);
            \draw[line width=4pt] (pagene) -- +(-1,0) -- (pagene) -- +(0,-1);
            \coordinate (pagenw) at (.02\paperwidth,.98\paperheight);
            \draw[line width=4pt] (pagenw) -- +(1,0) -- (pagenw) -- +(0,-1);
            \coordinate (pagese) at (.98\paperwidth,.02\paperheight);
            \draw[line width=4pt] (pagese) -- +(-1,0) -- (pagese) -- +(0,1);
            \coordinate (pagesw) at (.02\paperwidth,.02\paperheight);
            \draw[line width=4pt] (pagesw) -- +(1,0) -- (pagesw) -- +(0,1);
            \end{tikzpicture}}
        \ifthenelse{\value{page}>2}{% if page > 2 add:
        \AtPageLowerLeft{% 
            \begin{tikzpicture}[overlay,remember picture]
            % Writing at the very top
            \node[anchor=north east, align=center,
            font=\small] (W) 
            at (.95\paperwidth,.95\paperheight) 
            {DO NOT \\ WRITE IN\\ THIS \\ MARGIN};
            \node[anchor=north east, 
            font=\bfseries, align=right] 
            at (W.north west) {MARKS};
            % vertical lines
            \draw[thin] (W.north west) -- +(0,-.9\paperheight);
            \draw[thin] (W.north east) -- +(0,-.9\paperheight);
            % horizontal line
            \draw[thin] (W.south west) -- (W.south east);
            \end{tikzpicture}}%
        }{}%
        }

    % your content here 
    \textbf{FORMULAE LIST}

    The roots of $ax^2 + bx + c = 0$ are $\displaystyle{x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}}$

    % this is for testing purpose only:
    \blindtext[30]
\end{document}

Página 1 apenas cantos:

insira a descrição da imagem aqui

Página 2 apenas cantos:

insira a descrição da imagem aqui

A partir da página 3, cantos, linhas e escrita:

insira a descrição da imagem aqui

informação relacionada