![算法 textsc 和 uarial 包?](https://linux22.com/image/322937/%E7%AE%97%E6%B3%95%20textsc%20%E5%92%8C%20uarial%20%E5%8C%85%EF%BC%9F.png)
使用 uarial 包时,是否有可能在算法包中获得常规光学?
我在用:
%change font
\usepackage{uarial}
%set arial as default font for everything
\renewcommand\familydefault{\sfdefault}
And a regular:
% Algorithm
\usepackage{algorithm}% http://ctan.org/pkg/algorithms
\usepackage{algpseudocode}% http://ctan.org/pkg/algorithmicx
\makeatletter
\renewcommand*{\ALG@name}{Algorithmus}
\makeatother
\MakeRobust{\Call}
但确实可以从中看到一些“不太好”的看法:
\begin{algorithm}[H]
\caption{Insert Funktion}\label{alg:insert}
\begin{algorithmic}[1]
\Function{insert}{$json$,$prev$}
\State $prev \gets prev$
\ForAll{Element $e$ in $json$}
\State $position \gets \Call{find}{\Call{size}{e}}$ \Comment{finde Position für $e$}
\State Erzeuge ein neues Objekt an der Position mit dem jeweiligen Datentypen. new(position) BaseTyp<type(e)>(e)
\If{prev != null}
\State $ prev\rightarrow next \gets \Call{distance}{prev,position}$\Comment{ Vorgänger Next Wert anpassen}
\EndIf
\EndFor
\State füge Headerinformation in den Header ein
\State füge Headerposition mit Page ID in den Objekt Index ein
\EndFunction
\end{algorithmic}
\end{algorithm}
有什么方法可以让 uarial 达到预期效果,或者在算法中获取一种可以正确处理该问题并且看起来与 uarial 相似(无系列)的字体?
答案1
uarial
据我所知,该字体没有小写字母。您可以使用tgheros
基于 Helvetica 的字体,与 Arial 非常相似。
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{amsmath}
\usepackage[scale]{tgheros}
%set arial as default font for everything
\renewcommand\familydefault{\sfdefault}
\usepackage{algorithm}% http://ctan.org/pkg/algorithms
\usepackage{algpseudocode}% http://ctan.org/pkg/algorithmicx
\makeatletter
\renewcommand*{\ALG@name}{Algorithmus}
\makeatother
\MakeRobust{\Call}
\begin{document}
\begin{algorithm}
\caption{Insert Funktion}\label{alg:insert}
\begin{algorithmic}[1]
\Function{insert}{json,prev}
\State $\text{prev} \gets \text{prev}$
\ForAll{Element e in json}
\State $\text{position} \gets \Call{find}{\Call{size}{\text{e}}}$ \Comment{finde Position für e}
\State Erzeuge ein neues Objekt an der Position mit dem jeweiligen Datentypen.
new(position) BaseTyp<type(e)>(e)
\If{prev != null}
\State $ \text{prev}\rightarrow \text{next} \gets \Call{distance}{\text{prev},\text{position}}$%
\Comment{Vorgänger Next Wert anpassen}
\EndIf
\EndFor
\State füge Headerinformation in den Header ein
\State füge Headerposition mit Page ID in den Objekt Index ein
\EndFunction
\end{algorithmic}
\end{algorithm}
\end{document}
如果您还想要附带的数学字体,您可以使用newtxsf
:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{amsmath}
\usepackage[scale]{tgheros}
\usepackage{newtxsf}
%set arial as default font for everything
\renewcommand\familydefault{\sfdefault}
\usepackage{algorithm}% http://ctan.org/pkg/algorithms
\usepackage{algpseudocode}% http://ctan.org/pkg/algorithmicx
\makeatletter
\renewcommand*{\ALG@name}{Algorithmus}
\makeatother
\MakeRobust{\Call}
\begin{document}
\begin{algorithm}
\caption{Insert Funktion}\label{alg:insert}
\begin{algorithmic}[1]
\Function{insert}{\textit{json},\textit{prev}}
\State $\textit{prev} \gets \textit{prev}$
\ForAll{Element e in json}
\State $\textit{position} \gets \Call{find}{\Call{size}{e}}$ \Comment{finde Position für $e$}
\State Erzeuge ein neues Objekt an der Position mit dem jeweiligen Datentypen.
new(position) BaseTyp<type($e$)>($e$)
\If{$\textit{prev} \mathrel{!}= \textit{null}$}
\State $ \textit{prev}\rightarrow \textit{next} \gets
\Call{distance}{\textit{prev},\textit{position}}$%
\Comment{Vorgänger Next Wert anpassen}
\EndIf
\EndFor
\State füge Headerinformation in den Header ein
\State füge Headerposition mit Page ID in den Objekt Index ein
\EndFunction
\end{algorithmic}
\end{algorithm}
\end{document}