LaTeX使用minipage环境时日期字段水平对齐异常如何解决
问题原因
日期字段错位是两个因素共同导致的:
- 你使用的
minipage环境没有指定垂直对齐方式,默认采用居中对齐规则,只要同一行的某个minipage内部内容的高度/基线和其他块有差异,就会出现上下错位。 - 你加载了
[brazil]{babel}语言包,该语言包会自动识别dd/mm/yyyy格式的日期字符串,给这类内容添加本地化排版规则,插入的隐形排版盒子改变了日期所在minipage的内容基线;换成普通文本时不会触发这个自动规则,所以能正常对齐。
修复方案
给所有同一行排列的minipage统一加上[t]参数,指定所有块按顶部基线对齐,即可彻底解决这个对齐问题,不需要修改原有内容。
如果不需要babel自动调整日期格式,也可以额外把日期内容放在\mbox{}里,强制按普通纯文本排版。
修复后的完整代码
\documentclass[paper=a4, fontsize=10pt]{scrartcl} \usepackage[T1]{fontenc} \usepackage{times} \usepackage[brazil]{babel} \usepackage{amsmath,amsfonts,amsthm} \usepackage[utf8]{inputenc} % 过时的ae包、重复加载的times包属于冗余内容,已删除 \usepackage[american voltages, american currents]{circuitikz} \ctikzset{bipoles/length=2.5em} \usepackage{anysize} \marginsize{2cm}{2cm}{1cm}{1cm} \usepackage{caption} \begin{document} % 所有并排minipage统一加[t]顶部对齐参数 \begin{minipage}[t]{0.3\textwidth} Teacher: Guilherme \end{minipage} \begin{minipage}[t]{0.2\textwidth} Date: 22/06/2022 \end{minipage} \begin{minipage}[t]{0.15\textwidth} Start: 19:00 \end{minipage} \begin{minipage}[t]{0.2\textwidth} Duration: 120 min \end{minipage} \vspace{1.5cm} \begin{minipage}{0.5\textwidth} Student:\underline{\hspace{7cm}} \end{minipage} \end{document}
额外优化建议
- 四个并排minipage的宽度加总为
0.85\textwidth,可以在各个minipage之间插入\hfill填充剩余宽度,让四个字段均匀分布在整行,排版更美观。 - 后续排版同类多列同行内容时,也可以直接用
tabular环境实现,对齐控制更简单。
内容的提问来源于stack exchange,提问作者Guilherme Alves
相关产品推荐
相关产品推荐

