我正在为算法课做作业,正文应该是 Times New Roman,每次写伪代码时我都需要更改字体,所以我设置了一个名为 的新环境pc
。但是,我无法使用命令将伪代码中的某些元素设置为粗体\textbf{}
。这是主要问题。我是 Latex 和 StackExchange 的新手,如果您对我的问题有任何疑问,请告诉我。
以下是我的代码的一部分,所有三个\textbf{}
命令均不起作用:
\documentclass[12pt]{article} %insert [fleqn] here if you want eqnarray to put things to the left of the page, rather than centered
\usepackage{fontspec}
\setmainfont{Times New Roman}
\usepackage{tikz}
\usepackage[utf8]{inputenc}
\usepackage[margin=1in]{geometry}
\usepackage{amsmath,amsthm,amssymb}
\usepackage{graphicx}
\usepackage{subfigure}
\usepackage{fancyhdr}
\fancyhead[L]{Name: \\ Problem Set 1}
\fancyhead[R]{Due}
\fancyfoot{}
\pagestyle{fancy}
\cfoot{\thepage}
\newcommand*\circled[1]{\tikz[baseline=(char.base)]{
\node[shape=circle,draw,inner sep=2pt] (char) {#1};}}
\newcommand{\set}[1]{\left\{#1\right\}}
\newcommand{\R}{\mathbb{R}}
\newcommand{\N}{\mathbb{N}}
\newcommand{\C}{\mathbb{C}}
\newcommand{\Z}{\mathbb{Z}}
\newcommand{\Q}{\mathbb{Q}}
\newcommand{\F}{\mathbb{F}}
\newcommand{\M}{\mathcal{M}}
\newcommand{\LL}{\mathcal{L}}
\newcommand{\B}{\mathcal{B}}
\newcommand{\abs}[1]{\vert #1 \vert}
\newcommand{\norm}[1]{||#1||}
\newcommand{\bea}[1]{\begin{eqnarray}\label{#1}}
\newcommand{\eea}{\end{eqnarray}}
\newcommand{\ql}{\textquotedblleft}
\newcommand{\ds}{\displaystyle}
\newcommand{\nn}{\nonumber}
\newcommand{\Abs}[1]{\Big\lvert#1\Big\rvert}
\newcommand{\rpm}{\sbox0{$1$}\sbox2{$\scriptstyle\pm$}
\raise\dimexpr(\ht0-\ht2)/2\relax\box2 }
\newcommand{\converges}{\xrightarrow{}}
\newcommand{\interior}{\text{Int}}
\newcommand{\closure}{\text{cl}}
\newenvironment{pc}{\fontfamily{Courier New}\selectfont}{\par}
\begin{document}
\section*{1}
\begin{pc}
1. \hspace{10pt} \textbf{find\_missing(A,(n-1))}\\
2. \hspace{20pt} \textbf{Input:} Array A of n-1 integers. Array indexing starts at 0.\\
3. \hspace{20pt} \textbf{Output:} The missing integer from A.\\
\end{pc}
\end{document}
答案1
您可以使用包\newfontfamily
中的命令fontspec
来定义一个宏,使您可以轻松切换字体,\newfontfamily{\courier}{Courier New}
然后\courier
在新的环境中使用。
\setmonofont
然而,我不得不怀疑:通过设置合适的单色字体然后在该字体中设置算法是否更有意义?
% !TeX TS-program = lualatex
\documentclass[12pt]{article} %insert [fleqn] here if you want eqnarray to put things to the left of the page, rather than centered
\usepackage{fontspec}
\setmainfont{Times New Roman}
\setmonofont{Courier New}
\usepackage{tikz}
%\usepackage[utf8]{inputenc}
\usepackage[margin=1in]{geometry}
\usepackage{amsmath,amsthm,amssymb}
\usepackage{graphicx}
\usepackage{subfigure}
\usepackage{fancyhdr}
\fancyhead[L]{Name: \\ Problem Set 1}
\fancyhead[R]{Due}
\fancyfoot{}
\pagestyle{fancy}
\cfoot{\thepage}
\newcommand*\circled[1]{\tikz[baseline=(char.base)]{
\node[shape=circle,draw,inner sep=2pt] (char) {#1};}}
\newcommand{\set}[1]{\left\{#1\right\}}
\newcommand{\R}{\mathbb{R}}
\newcommand{\N}{\mathbb{N}}
\newcommand{\C}{\mathbb{C}}
\newcommand{\Z}{\mathbb{Z}}
\newcommand{\Q}{\mathbb{Q}}
\newcommand{\F}{\mathbb{F}}
\newcommand{\M}{\mathcal{M}}
\newcommand{\LL}{\mathcal{L}}
\newcommand{\B}{\mathcal{B}}
\newcommand{\abs}[1]{\vert #1 \vert}
\newcommand{\norm}[1]{||#1||}
\newcommand{\bea}[1]{\begin{eqnarray}\label{#1}}
\newcommand{\eea}{\end{eqnarray}}
\newcommand{\ql}{\textquotedblleft}
\newcommand{\ds}{\displaystyle}
\newcommand{\nn}{\nonumber}
\newcommand{\Abs}[1]{\Big\lvert#1\Big\rvert}
\newcommand{\rpm}{\sbox0{$1$}\sbox2{$\scriptstyle\pm$}
\raise\dimexpr(\ht0-\ht2)/2\relax\box2 }
\newcommand{\converges}{\xrightarrow{}}
\newcommand{\interior}{\text{Int}}
\newcommand{\closure}{\text{cl}}
\newenvironment{pc}{\ttfamily}{\par}
\begin{document}
\section*{1}
text
\begin{pc}
\noindent 1. \hspace{10pt} \textbf{find\_missing(A,(n-1))}\\
2. \hspace{20pt} \textbf{Input:} Array A of n-1 integers. Array indexing starts at 0.\\
3. \hspace{20pt} \textbf{Output:} The missing integer from A.\\
\end{pc}
text
\end{document}