我正在尝试排版坐标如下:
(0 0 0)
或者(0, 0, 0)
我不确定 LaTeX 是否提供了一个包,可以使符号比仅仅在每个坐标之间手动插入空格更专业一些。
答案1
如果您稍后决定更改格式(调整间距等),以下是 Ryan Reich 对有关向量的类似问题的回答的改编版。它至少会为您提供坐标的语义命令:
\documentclass{article}
\usepackage{amsmath}
% From Ryan Reich, http://tex.stackexchange.com/a/19698/3345
\def\vektor#1{\innervector(#1)}
\def\innervector(#1,#2,#3) {\ensuremath{\left( #1,#2,#3 \right)}}
\let\coord\vektor
\begin{document}
Displaymath version, probably not relevant: \[ \coord{a,b,c} \]
Inline version: \coord{a,b,c}
\end{document}
答案2
适用于任意数量坐标(至少一个)的解决方案:
\documentclass{article}
\usepackage{amsmath}
\usepackage{xparse}
\ExplSyntaxOn
\NewDocumentCommand{\coord}{sO{}m}
{
\IfBooleanTF{#1}
{\left(\coord_print:n {#3}\right)}
{\mathopen{#2(}\coord_print:n {#3}\mathclose{#2)}}
}
\seq_new:N \l_coord_list_seq
\tl_new:N \l_coord_last_tl
\cs_new_protected:Npn \coord_print:n #1
{
\seq_set_split:Nnn \l_coord_list_seq { , } { #1 }
\seq_pop_right:NN \l_coord_list_seq \l_coord_last_tl
\seq_map_inline:Nn \l_coord_list_seq { ##1 , }
\tl_use:N \l_coord_last_tl
}
\ExplSyntaxOff
\begin{document}
$\coord{0,1,0}$
$\coord[\Big]{0,1,2,3,4}$
$\coord*{\dfrac{1}{2},2}$
$\coord{1}$
\end{document}
对于 *-变体,我们使用\left
和\right
;对于可选参数,可以选择明确的大小(使用\big
、\Big
或\bigg
)\Bigg
。
通过改变定义中的逗号或括号,可以修改外观。
答案3
您可能需要定义一个专用命令,例如
\newcommand{\coord}[3]{\ensuremath{(#1,#2,#3)}}
这样您就可以在数学环境内或数学环境外插入坐标,例如\coord{1}{2}{3}
。稍后,您可以通过调整一行轻松更改坐标的排版。
答案4
您不必手动插入任何空格,只需使用数学模式,LaTeX 就会自行插入适当的空格:
We have a vector $(x,y,z)$ that is orthogonal to $(1,2,3)$ and $(4,5,6)$.