如果我使用 amsmath 包,我应该如何在 latex 中输入一天中的时间才能正确排版?我正在使用 pdflatex。
假设我想写“12:00”。在数学模式下,这会在冒号后留下一个空格,如下所示:
%MWE
\documentclass{article}
\usepackage{amsmath}
\begin{document}
Should it be $4\colon 00$, $5:00$, or 6$\colon$00? They all have a space.
\end{document}
如果没有这个包,它看起来还不错:
%MWE
\documentclass{article}
\begin{document}
Without the amsmath package, 6$\colon$00 looks correct.
\end{document}
答案1
简单的
我会将其写为纯文本
Meeting at 5:00
或者如果你需要它在数学模式下\text
$\text{5:00} + \text{1:00} = \text{6:00}$
但我不明白其中的原因,因为时间不是数学,而且冒号可能会被误读为除法:5:30 = 5/30 = \frac{5}{30}
。
先进的
您甚至可以定义一个命令来使其具有地球仪的外观,并且以后可以轻松更改:
\newcommand\Time[2]{%
\text{#1:#2}% <------------------ change format here
}
然后像\Time{5}{00}
在文本或数学模式中一样使用它。
要解析类似这样的输入,\Time{5:00}
您需要以下内容:
\makeatletter
\def\@time@parse#1:#2\end@time{%
\text{#1\,h #2\,min}% <------------------ change format here
}
\newcommand{\Time}[1]{%
\@time@parse#1\end@time
}
\makeatother
在哪里\@time@parse
工作并从内部调用\Time
全 MWE
\documentclass{article}
\usepackage{amsmath}
\newcommand{\TimeI}[2]{%
\text{#1:#2}%
}
\makeatletter
\def\@time@parse#1:#2\end@time{%
\text{#1\,h #2\,min}%
}
\newcommand{\TimeII}[1]{%
\@time@parse#1\end@time
}
\makeatother
\begin{document}
Meeting at \TimeI{5}{00}
Meeting at \TimeII{5:00}
\end{document}