我正在尝试弄清楚如何将特定行缩进到特定位置。
有二我能够使用“蛮力”做的事情。
下面是我用来生成该代码的代码:
\documentclass[a4,12pt] {article}
\usepackage{ragged2e}
\usepackage[margin=0.5in]{geometry}
\setlength{\parindent}{0cm}
\usepackage{setspace}
\thispagestyle{empty}
\begin{document}
\begin{flushleft}
\textbf{List name} \\
\vspace{-2ex}
\rule{\textwidth}{1pt}
- This is a sentence I am typing here (1) \hfill Feb 2019 –- Nov 2020 \\
\-\hspace{0.19cm} And this is the sentence below it (1.1) \\
\vspace{1cm}
\textbf{The name of the other list} \\
\vspace{-2ex}
\rule{\textwidth}{1pt}
- This is a sentence I am typing here (2) \hspace{7.5cm} 2020 \\
\-\hspace{0.19cm} And this is the sentence below it (2.1) \\
\end{flushleft}
\end{document}
使用命令
\-\hspace{0.19cm}
我不断调整距离直到我让“And”中的“A”从“This”中的“T”开始。使用该命令,
\hspace{7.5cm}
我能够让“2020”中的“2”在“Feb”中的“F”的位置开始。
有没有更好的方法来完成这两件事?
此外,我甚至无法开始思考如何做的是:如何将“2020”定位到“2019 年 2 月 - 2020 年 11 月”的中心?大致如下:
答案1
最直接的方法可能是使用tabular
可以设置不同列的宽度和对齐方式的环境。
\documentclass[a4paper,12pt]{article}
%\usepackage{ragged2e}
\usepackage[margin=0.5in]{geometry}
\setlength{\parindent}{0cm}
%\usepackage{setspace}
\usepackage{array,calc}
\thispagestyle{empty}
\begin{document}
\begin{flushleft}
\textbf{List name} \\
\vspace{-2ex}
\rule{\textwidth}{1pt}
\begin{tabular}{ @{} p{1em} @{} p{\textwidth-11em} @{} >{\centering\arraybackslash}p{10em} @{} }
-- & This is a sentence I am typing here (1) & Feb 2019 -- Nov 2020 \\
& And this is the sentence below it (1.1) & \\
\end{tabular}
\vspace{1cm}
\textbf{The name of the other list} \\
\vspace{-2ex}
\rule{\textwidth}{1pt}
\begin{tabular}{ @{} p{1em} @{} p{\textwidth-11em} @{} >{\centering\arraybackslash}p{10em} @{} }
-- & This is a sentence I am typing here (2) & 2020 \\
& And this is the sentence below it (2.1) & \\
\end{tabular}
\end{flushleft}
\end{document}
让我简单解释一下列定义。还请了解tabular
环境并阅读记录array
软件包。
@{}
将当前单元格列和后续单元格列之间的水平填充设置为零。p{1em}
定义一列单元格,宽度为 1em。每个单元格都是一个框,其中包含一个允许换行的段落。p{\textwidth-11em}
定义一列单元格,其宽度为文本主体的宽度减去 11em。您需要calc
包来进行此类计算。(在定义中,有一列的宽度为 1em,另一列的宽度为 10em,因此第三列的宽度应为,\textwidth-11em
以使整个表格跨越文本主体的整个宽度。)>{\centering\arraybackslash}
将以下单元格列中的文本设置为居中。\arraybackslash
由于技术原因是必要的(请参阅包的文档array
)。
如果您想要更多列,则需要相应地编辑列的定义。请注意,定义的列数必须与您使用&
或为每行输入的单元格数相匹配\\
。