Eu construí uma documentclass que usa o eso-pic
pacote 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 polyglossia
pacote, de acordo comesta postagemjunto com XeLaTeX. O polyglossia
usa bidi
para 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 bidi
pacote 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.
Como você pode ver no código fornecido eu já tentei usar \put()
(junto com o picture
pacote) para corrigir o deslocamento. Mas não consigo descobrir o que é. Deveria ser algo parecido -\textwidth-\marginright
. Mas não é.
Observe que \AddToShipoutPictureFG
está 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 polyglossia
junto com eso-pic
a 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 background
pacote 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}