绝对位置 \textblock 的对齐(左/右问题)

绝对位置 \textblock 的对齐(左/右问题)

我能够将某个文本放到页面的绝对位置。在此示例中:

  • 文字宽度为4cm
  • 绝对位置是从左上角开始,xshift 5cm 和 yshift -2cm。
\documentclass[11pt,a4]{article} 
\usepackage[absolute,overlay]{textpos}
\usepackage[left=0mm,right=0mm,top=0mm,bottom=0mm]{geometry}
\textblockorigin{0mm}{297mm}


\begin{document} 
blabla
  
\begin{textblock*}{4cm}(5cm,-27.7cm){
\noindent text text text text text text text text text text text text text text text 
}\end{textblock*}
  
\end{document}

它的作用是:

在此处输入图片描述

在此处输入图片描述

我如何控制对齐?我希望文本块像这样对齐:

在此处输入图片描述

答案1

环境{textblock}有一个选项可以指示块的“参考点”。在下面的示例中,我添加了[1,0]指示它位于文本块的右上角(5cm,-27.7cm)。这意味着 TeX 会执行相应的算术,而不是您。

您的问题还询问了内容的右对齐。pascal974 对{flushright}环境的使用是正确的,\raggedright也可以工作。

\documentclass[11pt,a4]{article} 
\usepackage[absolute,overlay]{textpos}
\usepackage[left=0mm,right=0mm,top=0mm,bottom=0mm]{geometry}
\textblockorigin{0mm}{297mm}


\begin{document} 
blabla

\begin{textblock*}{4cm}[1,0](5cm,-27.7cm){
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor incididunt ut labore et dolore magna aliqua.
\raggedleft\par % force a new paragraph, so TeX 'notices' the \raggedleft
}\end{textblock*}
  
\end{document}

答案2

正如我已经告诉你的,只需从 5 厘米中减去 4 厘米!

tikz 代码只是为了显示所有内容的位置

\documentclass[11pt,a4paper]{article} 
\usepackage[absolute,overlay]{textpos}
\usepackage[left=0mm,right=0mm,top=0mm,bottom=0mm]{geometry}
\textblockorigin{0mm}{297mm}

% just to specify where things are, and an alternative to textpos
\usepackage{tikz}
\usetikzlibrary{calc}

\begin{document}
\noindent
blabla
  
%\begin{textblock*}{4cm}(5cm,-27.7cm)
\begin{textblock*}{4cm}(1cm,-27.7cm)
\noindent text text text text text text text text text text text text text text text 
\end{textblock*}

% requires several compilations
\begin{tikzpicture}[remember picture,overlay]
  \coordinate (A) at ($(current page.north west)+(0,-2)$);
  \coordinate (B) at ($(current page.north west)+(5,0)$);
  \coordinate (C) at ($(current page.north west)+(5,-2)$);
  \fill[red] (A) circle (1mm);
  \fill[red] (B) circle (1mm);
  \fill[red] (C) circle (1mm);
\end{tikzpicture}


\end{document}

在此处输入图片描述

答案3

flushright环境

\documentclass[a4paper]{article} 
\usepackage[absolute,overlay]{textpos}
% \usepackage[showframe]{geometry}
\usepackage[left=0mm,right=0mm,top=0mm,bottom=0mm,showframe]{geometry}
\textblockorigin{0mm}{297mm}
%\usepackage{tikz}
\parindent=0pt
\begin{document} 

%\tikz \draw[red](0,0)rectangle(5,-2);

blabla
\begin{textblock*}{4cm}(1cm,-27.7cm){
    \begin{flushright}
        \noindent text  text
    \end{flushright}
}\end{textblock*}

\end{document}

相关内容