eso-pic zusammen mit bidi

eso-pic zusammen mit bidi

Ich habe eine Dokumentklasse erstellt, die das eso-picPaket verwendet, um Inhalt auf jeder Seite relativ zur oberen linken Ecke zu platzieren. Jetzt habe ich diese Dokumentklasse in einem Dokument verwendet, das (teilweise) hebräisch ist. Für Hebräisch verwende ich das polyglossiaPaket gemäßdieser Beitragzusammen mit XeLaTeX. polyglossiaDamit bidilässt sich das Seitenlayout auf rechts-nach-links umstellen.

Bis auf die Positionierung in der oberen linken Ecke funktioniert alles einwandfrei. Das folgende Beispiel zeigt mein Problem:

\documentclass{article}

% set font for hebrew
\usepackage{fontspec}
\setmainfont{DejaVuSans.ttf}

% if polyglossia is commented
\providecommand{\setLTR}{}
\providecommand{\setRTL}{}

% write "test" a few times
\newcounter{loopcounter}
\newcommand{\writetest}{
    \loop
    \ifnum\value{loopcounter}<36
        Test\theloopcounter 
        \stepcounter{loopcounter}
    \repeat
}

% add the test in the top left corner
\usepackage{calc}
\usepackage{picture}
\usepackage{eso-pic}
\AddToShipoutPictureFG{
    \AtPageUpperLeft{%
        % see the bottom of the question for the \put()
        \put(0,0){
            \raisebox{-\height-3pt}{
                % needed to do left to right align and for breaking
                \parbox{\paperwidth}{
                    \setLTR
                    \writetest
                }
            }
        }
    }
}

\usepackage{polyglossia} % <- If those packages are commented the placing
\setmainlanguage{hebrew} % <- of the top left content is correct.

\begin{document}
    תוכן
\end{document}

Wenn ich das angegebene Beispiel kompiliere, erhalte ich das unten im folgenden Bild gezeigte Ergebnis. Dort befindet sich der in der oberen linken Ecke platzierte Inhalt jedoch nicht in der oberen linken Ecke.

Das zweite obere Bild ist genau das gleiche Beispiel, aber die \usepackage{polyglossia}und die \setmainlanguage{hebrew}sind kommentiert. Das bidiPaket wird also nicht geladen. Der Ecktext ist korrekt. Aber jetzt ist der hebräische Text (natürlich) nicht von rechts nach links.

Bildbeschreibung hier eingeben

Wie Sie in meinem bereitgestellten Code sehen können, habe ich bereits versucht, \put()(zusammen mit dem picturePaket) zu verwenden, um den Offset zu beheben. Aber ich kann nicht herausfinden, was es ist. Es sollte so etwas wie sein -\textwidth-\marginright. Ist es aber nicht.

Beachten Sie, dass sich das \AddToShipoutPictureFGin der Dokumentklasse befindet. Es befindet sich nicht in derselben Datei wie der Inhalt. Ich möchte die Dokumentklasse in verschiedenen Dateien verwenden, sodass sich die Abmessungen ändern. Ich muss den Versatz im Verhältnis zu den Seitenabmessungen kennen. Nicht als absolute Werte. Die Verwendung put(-11.872cm, 0)löst mein Problem nicht.

polyglossiaWie kann ich es zusammen mit eso-picder Platzierung von Inhalten in der oberen linken Ecke verwenden ?

Antwort1

backgroundAuch wenn es nicht das ist, was Sie sich erhofft haben, finden Sie hier eine Lösung, die sich mithilfe des Pakets und einfach implementieren lässt tikz:

\documentclass[letterpaper]{article}

% set font for hebrew
\usepackage{fontspec}
\setmainfont{DejaVuSans.ttf}

% write "test" a few times
\newcounter{loopcounter}
\newcommand{\writetest}{
    \loop
    \ifnum\value{loopcounter}<36
        Test\theloopcounter 
        \stepcounter{loopcounter}
    \repeat
}

% add the test in the top left corner
\usepackage[all]{background}
\backgroundsetup{%
  placement = top,
  color = black,
  opacity=1,
  scale = 1,
  vshift=-6pt,
  contents = {%
    \tikz \node [text width=\paperwidth-12pt, align=justify] {\writetest};
  },
}

\usepackage{polyglossia}
\setmainlanguage{hebrew}

\begin{document}
    תוכן
\end{document}

Ausgabe

verwandte Informationen