eso-pic junto com bidi

eso-pic junto com bidi

Eu construí uma documentclass que usa o eso-picpacote para colocar o conteúdo em cada página em relação ao canto superior esquerdo. Agora usei esta documentclass em um documento que é (parcialmente) hebraico. Para hebraico estou usando o polyglossiapacote, de acordo comesta postagemjunto com XeLaTeX. O polyglossiausa bidipara mudar o layout da página da direita para a esquerda.

Tudo está funcionando bem, exceto o posicionamento no canto superior esquerdo. O exemplo a seguir mostra meu problema:

\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}

Se eu compilar o exemplo dado, obtenho o resultado mostrado na parte inferior da imagem a seguir. Mas aí o conteúdo colocado no canto superior esquerdo não está no canto superior esquerdo.

A segunda imagem superior é exatamente o mesmo exemplo, mas o \usepackage{polyglossia}e o \setmainlanguage{hebrew}são comentados. Portanto, o bidipacote não está sendo carregado. O texto do canto está correto. Mas agora o texto hebraico (é claro) não está da direita para a esquerda.

insira a descrição da imagem aqui

Como você pode ver no código fornecido eu já tentei usar \put()(junto com o picturepacote) para corrigir o deslocamento. Mas não consigo descobrir o que é. Deveria ser algo parecido -\textwidth-\marginright. Mas não é.

Observe que \AddToShipoutPictureFGestá na documentclass. Não está no mesmo arquivo que o conteúdo. Quero usar a documentclass em vários arquivos para que as dimensões mudem. Tenho que saber o deslocamento em relação às dimensões da página. Não como valores absolutos. Usar put(-11.872cm, 0)não resolve meu problema.

Como posso usar polyglossiajunto com eso-pica colocação de conteúdo no canto superior esquerdo?

Responder1

Embora não seja o que você esperava, aqui está uma solução fácil de implementar usando o backgroundpacote e 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}

saída

informação relacionada