我在使用 dcolumn 十进制格式时遇到了麻烦,该文件如下所示:
但是,一旦我在tabular*
in中添加格式\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} l *{4}{d{3.6}} @{}}
,它就不会编译并指向缺失}
,除非我添加一个额外的格式,否则情况并非如此。如果我理解正确的话,格式*{4}{d{3.6}}
应该在小数点前留出 3 个空格,在小数点后留出 6 个空格,以便为数量级留出空间。我的一些代码基于这个问题的第一个答案问题。
编辑:此示例的错误与 的行为无关,dcolumn
正如 所指出的@Rmano
。每个环境的最后一行末尾circuitikz
都缺少分号。评论和下面的回答中提供了更好的 MWE。;
@David Carlisle
\documentclass[letter]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[spanish,es-tabla]{babel}
\usepackage{mathrsfs}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{tikz}
\usepackage[oldvoltagedirection]{circuitikz}
\usepackage{pgfplots}
\pgfplotsset{compat=1.15}
\usetikzlibrary{arrows}
\pagestyle{empty}
\usepackage{booktabs}
\usepackage{caption}
\usepackage{subcaption}
\captionsetup{ singlelinecheck=false,
font=footnotesize,
labelfont=bf}
\usepackage{dcolumn}
\newcolumntype{d}[1]{D{.}{.}{#1}}
\title{\textbf{Impedancia}}
\author{}
\date{}
\begin{document}
\maketitle
\section{Circuitos RC}
\begin{figure}[ht]
\centering
\begin{subfigure}[t]{0.32\textwidth}
\centering
\begin{circuitikz}[scale=0.7, transform shape,font=\small]
\draw (0,2)
to[R=$R_s$, o-] (2,2)
to[C= $C_s$] (2,0)
to[short, -o] (0,0)
\end{circuitikz}
\label{fig:a}
\end{subfigure}
\begin{subfigure}[t]{0.32\textwidth}
\centering
\begin{circuitikz}[scale=0.7, transform shape,font=\small]
\draw (0,2) to[short, o-] (2,2)
to[short] (4,2)
to[C= $C_p$] (4,0)
to[short, -o] (0,0)
(2,2) to[R= $R_p$] (2,0)
\end{circuitikz}
\label{fig:b}
\end{subfigure}
\begin{subfigure}[t]{0.32\textwidth}
\centering
\begin{circuitikz}[scale=0.7, transform shape,font=\small]
\draw (0,2) to[R=$R_s$,o-] (2,2)
to[short] (4,2)
to[C= $C_p$] (4,0)
to[short, -o] (0,0)
(2,2) to[R= $R_p$] (2,0)
\end{circuitikz}
\label{fig:c}%
\end{subfigure}
\caption{a) Circuito RC serie. b) Circuito RC paralelo. c) Circuito RC paralelo con resistencia en serie. $R_s=R_p=1k\Omega$, $C_s=C_p=1\mu F$}
\label{fig:RC}%
\end{figure}
\section{Cálculos de Impedancia}
\begin{table}[h]
\footnotesize
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} l *{4}{d{3.6}} @{}}
\toprule
& \multicolumn{4}{l}{\textit{Frecuencia}} \\
& \multicolumn{1}{l}{$10 Hz$} & \multicolumn{1}{l}{$100 Hz$} & \multicolumn{1}{l}{$1 kHz$} & \multicolumn{1}{l}{$10 kHz$} \\
\midrule
\multicolumn{5}{l}{\textit{Circuito 1}} \\
$Z_1 (\Omega)$ & 1.59e+04 & 1.88e+03 & 1.01e+03 & 1.00e+03 \\
$\theta_1$ & -86.40 & -57.86 & -9.04 & -0.91 \\
\multicolumn{5}{l}{\textit{Circuito 2}} \\
$Z_2 (\Omega)$ & 1.00e+03 & 0.85.e+03 & 0.16e+03 & 1.59e+01 \\
$\theta_2$ & -3.60 & -32.14 & -80.96 & -89.09 \\
\multicolumn{5}{l}{\textit{Circuito 3}} \\
$Z_3 (\Omega)$ & 2.00e+03 & 1.78e+03 & 1.03e+03 & 1.00e+03 \\
$\theta_3$ & -1.80 & -14.70 & -8.61 & -0.91 \\
\bottomrule
\end{tabular*}
\caption{Impedancia y ángulo de fase versus frecuencia}
\end{table}
\end{document}
答案1
一个不显示不相关错误的更简单示例是
\documentclass{article}
\usepackage[spanish]{babel}
\usepackage{dcolumn}
\newcolumntype{d}[1]{D{.}{.}{#1}}
\begin{document}
\noindent
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} l d{3.6} @{}}
a & 1.59e+04
\end{tabular*}
\end{document}
产生
! Missing } inserted.
<inserted text>
}
l.10 a & 1
.59e+04
?
西班牙语选项修改.
你可以阻止
\documentclass{article}
\usepackage[spanish,es-nodecimaldot]{babel}
\usepackage{dcolumn}
\newcolumntype{d}[1]{D{.}{.}{#1}}
\begin{document}
\noindent
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} l d{3.6} @{}}
a & 1.59e+04
\end{tabular*}
\end{document}
如果您需要西班牙语十进制点选项,但只是普通的 . 在这里,我看不到定义的方式(通常的 babel\shorhandoff
机制在本地禁用更改对此定义不起作用)