![绝对位置 \textblock 的对齐(左/右问题)](https://linux22.com/image/465154/%E7%BB%9D%E5%AF%B9%E4%BD%8D%E7%BD%AE%20%5Ctextblock%20%E7%9A%84%E5%AF%B9%E9%BD%90%EF%BC%88%E5%B7%A6%2F%E5%8F%B3%E9%97%AE%E9%A2%98%EF%BC%89.png)
我能够将某个文本放到页面的绝对位置。在此示例中:
- 文字宽度为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}