我想做一些问答。答案在右边的水平线上。现在它看起来是这样的:
\documentclass{article}
\begin{document}
You answer: \underline{\hbox to [some length]mm{}} ;
My answer : \underline{\hbox to [some length]mm{}} ;
Answer : \underline{\hbox to [some length]mm{}} ;
Hello everyone : \underline{\hbox to [some length]mm{}} ;
I have a idea blablablabla : \underline{\hbox to [some length]mm{}} ;
I have an idea blablablablablablablablablablablablablablablablablablablablablablablablablablabl
ablablablabla:\underline{\hbox to [some length]mm{}} ;
I have an idea blablablablablablablablablablablablablablablablablablablablablablablablablablabl
Ablablablablablablablablablablablablablablablablablablab:\underline{\hbox to [some length]mm{}} ;
\end{document}
但是这里有很大的问题:1.答案横线右边没有对齐;2.不知道把左边的文字填满一行之后,右边还剩下多少空间。
一直没搜索如何获取一行右边还剩多少空间,每次都需要手动调整长度才能达到下面的效果:
有没有办法计算从文本最右边缘到右边缘的距离来实现自动长度调整。
谢谢!
答案1
可能像这样吗?
\documentclass{article}
\usepackage{seqsplit}
\parindent0pt
\begin{document}
Hello everyone:\hrulefill ;
You answer:\hrulefill ;
My answer:\hrulefill ;
Answer:\hrulefill ;
Hello everyone : \hrulefill ;
I have a idea blablablabla : \hrulefill ;
I have an idea \seqsplit{blablablablablablablablablablablablablablablablablablablablablablablablablablabl}
ablablablabla:\hrulefill;
I have an idea \seqsplit{blablablablablablablablablablablablablablablablablablablablablablablablablablabl}
Ablablablablablablablablablablablablablablablablablablab:\hrulefill ;
\end{document}
答案2
如果我正确理解了您的排版目的,实际上没有必要知道(至少不是明确地知道)文本块右侧边缘还剩下多少空间。只需使用tabularx
(a) 宽度等于\textwidth
且 (b) 右侧边缘会\underline{\hbox to 6cm{}}
自动用 填充的单列环境。唯一的限制是左侧问题字符串的长度不得超过\textwidth-6cm-2\tabcolsep
。
\documentclass{article}
\usepackage[french]{babel} % optional
\usepackage{tabularx}
\newcommand\mybox{\underline{\hbox to 6cm{}}}
\begin{document}
\renewcommand\arraystretch{1.5} % optional
\noindent
\begin{tabularx}{\textwidth}{@{} X<{\hfill\mybox} @{}}
Your answer: \\
My answer: \\
Answer: \\
Hello everyone: \\
I have an idea blablablabla: \\
\end{tabularx}
\end{document}