\textbf{} 在新环境中不起作用

\textbf{} 在新环境中不起作用

我正在为算法课做作业,正文应该是 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}

在此处输入图片描述

相关内容