我开始用 pdflatex 写论文,因为模板就是用的这个。但我有一些大表格,勉强放得下。通过减小字体大小,它们变得有点小,仍然占用一页,但浪费了一些空间。我读到这可以通过使用任意字体大小。因此我想改用 lualatex。因此,我遇到了实际问题:当我改用 lualatex 时,我的 ° 符号全部变成了 ř。我直接输入它们,因为它们对我来说很容易找到,我会说英语和德语,在德语键盘布局上,直接使用它很容易,而不是 \textdegree 或 \ang 或其他什么(而且编辑起来也更好)。
到目前为止,我发现这一切都与使用 mathdesign 包有关。如果我评论它,我的 ° 会保持正常。但是,这个包似乎会改变整个文档的字体。如果能保持与我之前的人的其他论文相同的外观就太好了。不过可能不是严格的要求。一个重要的附带问题是,由于 mathdesign 会更改字体,这些字体是否仍然可以缩放,即我是否仍然可以缩放我的表格?
那么有没有办法让我使用 mathdesign 和 lualatex 并输入 ° 并得到它?否则我只需要将它们全部(有很多)更改为 \ang 或 textdegree。但是我仍然需要类似的字体,见下文。
以下是一些简单的例子。使用 pdflatex:
\documentclass[paper=a4,fontsize=12pt,pagesize,toc=bib,headings=normal,numbers=noendperiod,DIV=14,BCOR=5mm]{scrbook}
% does not seem to be required for pdflatex anymore:
% \usepackage[utf8]{inputenc}
\usepackage[charter]{mathdesign}
\usepackage{siunitx}
\usepackage{lipsum}
% does not change ° into ř
% \DeclareUnicodeCharacter{00B0}{\textdegree}
\begin{document}
° % degree symbol
\ang{20}
\char"00B0
\lipsum
\end{document}
° 看起来不错,但手动输入 unicode 如 \char"00B0 不起作用,如果我评论 mathdesign 它甚至会完全消失。
使用 lualatex:
\RequirePackage{shellesc}
\RequirePackage{pdftexcmds}
\makeatletter
\let\pdfshellescape\pdf@shellescape
\makeatother
\RequirePackage{luatex85}
\documentclass[paper=a4,fontsize=12pt,pagesize,toc=bib,headings=normal,numbers=noendperiod,DIV=14,BCOR=5mm]{scrbook}
% does not seem to be required for lualatex:
% \usepackage{fontspec}
\usepackage[charter]{mathdesign}
\usepackage{siunitx}
\usepackage{lipsum}
\begin{document}
° % degree symbol
\ang{20}
\char"00B0
\lipsum
\end{document}
在这里,我输入的 ° 也改成了 ř。任何帮助都非常感谢。我刚刚检查了两个版本的 pdf 使用的字体,两种情况下都是 CharterBT-Roman。我想这不是我想要的可扩展字体,也会查看 lualatex 是否有类似的字体……
答案1
您可以尝试使用 gensymb 包中的命令来定义度数符号,例如:
\usepackage{gensymb}
% then just use \degree command instead of '°' symbol
\degree
如果你想找到其他符号,我强烈建议你查看网站https://detexify.kirelabs.org/classify.html
答案2
对我来说使用\showsize{\fontsize{10pt}{12pt}\selectfont}
就足够了,我可以坚持使用 pdflatex。我需要一个介于 footnotesize 和 scriptsize 之间的尺寸。我发现这里如何显示当前尺寸:
% ...preamble ..
\makeatletter
\newcommand*\fourteenpt{\fontsize{14}{15.5}\selectfont}
\newcommand*\totht[1]{\dimexpr\ht#1+\dp#1\relax}
\newcommand*\leading{{\setbox0\hbox{\strut}\the\totht0}}
\newcommand*\fntsize{{\setbox0\hbox{Mg}\the\totht0}}% total size of the letters Mg
\newcommand*\showsize[1]{{#1 {\ttfamily\string#1} (\f@size pt) \fntsize/\leading}\par}
\makeatother
% ...
% in the document
\showsize\tiny
\showsize\scriptsize
\showsize\footnotesize
\showsize\small
\showsize\normalsize
\showsize\large
\showsize\fourteenpt
\showsize\Large
\showsize\LARGE
\showsize\huge
\showsize\Huge
然后我添加了一个介于 8 和 10 之间的字体大小:
\newcommand{\myLargeTableFontSize}{\fontsize{9pt}{10.75pt}\selectfont}