이것
\documentclass[a4paper,10pt,openany]{scrbook}
\usepackage{minted}
\usepackage[T1]{fontenc} % comment-out this line to fix it
\newcommand{\ctype}[1]{\PYG{k+kt}{\texttt{#1}}}
\begin{document}
\begin{tabular}{|l|c|c|r|r|}
\hline
Type & Bits & Bytes & Minimum & Maximum \\ \hline
\ctype{int8\_t} & 8 & 1 & -128 & 127 \\ \hline
\ctype{int16\_t} & 16 & 2 & -32,768 & 32,767 \\ \hline
\ctype{int32\_t} & 32 & 4 & −2,147,483,648 & 2,147,483,647 \\ \hline
\ctype{int64\_t} & 64 & 8 & −9,223,372,036,854,775,808 & 9,223,372,036,854,775,807 \\ \hline
\end{tabular}
\end{document}
이것을 생산한다
"글꼴 모양 * 정의되지 않음" 경고를 수정하기 위해 포함했지만 fontenc
일부 음수가 왜곡됩니까?
이런 효과가 나타나는 이유는 무엇 fontenc
이며 어떻게 해결할 수 있습니까?
답변1
이것은 확장된 설명입니다:
-
OP MWE의 처음 두 행과 마지막 두 행에서 기호가 다른 문자를 가질 수 있는 방법이 궁금합니다 . 다음 MWE에서는 -
문자만 다시 입력합니다(그리고 테이블 형식도 고려합니다).egreg\DeclareUnicodeCharacter{2212}{-}
두 번째 예) 다음 없이도 작동합니다 \usepackage[T1]{fontenc}
.
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{xcolor}
\usepackage{array,booktabs}
\usepackage{siunitx}
\begin{document}
\begin{tabular}{
>{\color{purple}}r
S[table-format=2.0]
S[table-format=1.0]
S[table-format=-19.0]
S[table-format= 19.0]
}
\toprule
\verb+int8_t+ & 8 & 1 & -128 & 127 \\
\midrule
\verb+int16_t+ & 16 & 2 & -32768 & 32767 \\
\verb+int32_t+ & 32 & 4 & -2147483648 & 2147483647 \\
\verb+int64_t+ & 64 & 8 & -9223372036854775808 & 9223372036854775807 \\
\bottomrule
\end{tabular}
\end{document}
저는 utf8
인코딩에 대한 편집기 사전 설정을 위해 WinEdt를 사용합니다.
답변2
−
마지막 두 행의 문자는 U+2212입니다. 이는 UTF-8에서 입력 <E2><88><92>
되며 T1 인코딩 글꼴에는 â
, Ĺ
및 Š
해당 위치가 있습니다. fontenc
출력이 없으면 문자 누락에 대한 경고가 표시됩니다.
다음도 사용하세요 inputenc
:
\documentclass[a4paper,10pt,openany]{scrbook}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{siunitx}
\DeclareUnicodeCharacter{2212}{-} % if U+2212 slips in
\newcommand{\ctype}[1]{\texttt{#1}}
\sisetup{group-separator={,}}
\begin{document}
\begin{tabular}{
|l|
S[table-format=2.0]|
S[table-format=1.0]|
S[table-format=-19.0]|
S[table-format=19.0]|
}
\hline
Type & {Bits} & {Bytes} & {Minimum} & {Maximum} \\ \hline
\ctype{int8\_t} & 8 & 1 & -128 & 127 \\ \hline
\ctype{int16\_t} & 16 & 2 & -32768 & 32767 \\ \hline
\ctype{int32\_t} & 32 & 4 & −2147483648 & 2147483647 \\ \hline
\ctype{int64\_t} & 64 & 8 & −9223372036854775808 & 9223372036854775807 \\ \hline
\end{tabular}
\end{document}
minted
( 정의에 오류가 있어서 삭제했습니다 \ctype
.)
개선을 위해 booktabs
테이블을 로드하고 변경합니다.
\begin{tabular}{
@{}
l
S[table-format=2.0]
S[table-format=1.0]
S[table-format=-19.0]
S[table-format=19.0]
@{}
}
\toprule
Type & {Bits} & {Bytes} & {Minimum} & {Maximum} \\
\midrule
\ctype{int8\_t} & 8 & 1 & -128 & 127 \\
\ctype{int16\_t} & 16 & 2 & -32768 & 32767 \\
\ctype{int32\_t} & 32 & 4 & −2147483648 & 2147483647 \\
\ctype{int64\_t} & 64 & 8 & −9223372036854775808 & 9223372036854775807 \\
\bottomrule
\end{tabular}
group-separator
또한 기본 얇은 공간을 남겨두는 설정을 제거했습니다 .