나는 같은 문제가 있습니다이 질문, 하지만 답은 어떻게 해야 할지에 관한 것뿐입니다.따옴표를 가장 잘 사용하세요. 실제로 따옴표를 원하는 한 괜찮습니다. 그러나 나는 명시적으로~하지 않다원하는.
그리고 한 가지 타당한 이유가 있습니다. 코드를 표시하고 싶습니다.그대로. 아무런 변화 없이. 그래서 나는 그것을 에 넣거나 \texttt
이 작업을 수행하도록 정의한 특수 명령에 넣었습니다.
MWE:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
% you may add magic here to make it ignore/escape any special characters
\newcommand{\inlinecode}{\texttt}
% disable " making strange characters, it breaks our code quotations
% \shorthandoff{"} % does not fully work (see below)
\title{shorthandoff}
\date{August 2020}
\begin{document}
\maketitle
\section{Introduction}
This is a JSON snippet:
\inlinecode{"example\_string\_mentioned": "yes\_no"} \\
\inlinecode{"okay"} \\
\inlinecode{"yikes"}\\
\inlinecode{"ohno"}\\
\end{document}
그 결과는 다음과 같습니다.
이것은 JSON 조각입니다: ë예제 문자열 언급됨": "yes no"
ökay"
"yikes"
öhno"
분명히 이것은 나쁘다. 분명히 나는 인쇄상 올바른 따옴표를 사용하고 싶지 않습니다.
이미 시도했습니다:
{"}
as (표시 오류가 발생하고 콘솔에 오류가 표시됨)¹ 또는 as\"
(도움이 되지 않음) 로 탈출하세요 .- 실제로
{e}
in 을 탈출하세요example
– 작동하지도 않았습니다. \shorthandoff
좋은 추천이다이미 연결된 질문에서도움이됩니다. 불행하게도 위에서 주석 처리를 제거하면 여전히 다음과 같이 엉망이 됩니다 .e
We don't getökay
more, but we do getëxample
.- 이 답변나에게 을 가리켰다
\verb
. 이것이 작동하는 동안 이것은a) 더 이상 넣을 수 없으며줄 끝에서 줄 바꿈을 방지한다는 것을 의미합니다.\texttt
이를 거부하고 더 나쁜 것은 b)
편집하다:실수로 이미 타자기(동일 너비) 글꼴을 사용하고 있는데, 이 경우에는 이를 원하지만 다른 사용 사례에서는 바람직하지 않을 수 있습니다.
¹ 실제로는 강제로 줄 바꿈을 한 것으로 보이며 다음과 같이 표시됩니다.
\언어@active@arg"의 인수에는 추가 }가 있습니다.
나는 기본적으로 `.Markdown과 같은 동작을 원합니다 .
즉, 어떻게 해야 합니까?정말"
LaTeX에서 탈출 하시겠습니까 ?
텍스라이브 2019
답변1
다음을 사용하여 속기를 로컬에서 비활성화할 수 있습니다 \languageshorthands{none}
.
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\newcommand{\inlinecode}[1]{{\languageshorthands{none}\ttfamily #1}}
\begin{document}
This is a JSON snippet:
\inlinecode{"example\_string\_mentioned": "yes\_no"} \\
\inlinecode{"okay"} \\
\inlinecode{"yikes"}\\
\inlinecode{"ohno"}
\end{document}
답변2
"
active 인 경우 active 의 의미를 변경하는 간접적인 방법을 사용하십시오 . 그렇지 않은 경우 코드는 아무런 해를 끼치지 않습니다.
\documentclass{article}
\usepackage[ngerman]{babel}
\newcommand{\inlinecode}{}% just to warn if it is already defined
\DeclareRobustCommand{\inlinecode}{%
% don't propagate this outside the argument
\begingroup
% define the active quote to yield a normal "
\begingroup\lccode`~=`" \lowercase{\endgroup\edef~}{\string"}%
% call an auxiliary command to do the typesetting and close the group
\doinlinecode
}
\newcommand{\doinlinecode}[1]{\texttt{#1}\endgroup}
% disable " making strange characters, it breaks our code quotations
% \shorthandoff{"} % does not fully work (see below)
\title{shorthandoff}
\date{August 2020}
\begin{document}
\maketitle
\section{Introduction}
This is a JSON snippet:
\inlinecode{"example\_string\_mentioned": "yes\_no"} \\
\inlinecode{"okay"} \\
\inlinecode{"yikes"}\\
\inlinecode{"ohno"}
\end{document}
답변3
질문이 "
문자에 초점이 맞춰져 있지만 실제로는 인라인 축어(JSON) 코드를 표시하는 방법에 관한 것 같습니다.
인라인 축어적 텍스트를 포함하는 표준 방법은 다음과 \verb
같습니다.
In our \textsc{json} we do this with \verb|"otter": 5|.
축어적 문자는 그 자체로 표시됩니다. 여기에는 공백이 포함되며 이는 줄 바꿈이 없음을 의미합니다. (또한 이러한 축어적 공백은 일반 공백처럼 늘어나지 않습니다.)
코드를 포함하는 또 다른 방법은 listings
. 해당 패키지에는 TeX 파일에 제공되거나 외부 파일에서 가져온 코드 목록을 표시하는 명령과 다음과 같은 짧은 인라인 코드에 대한 명령이 포함되어 있습니다.
\documentclass{article}
\usepackage{listings}
\lstset{
basicstyle=\ttfamily\small,
}
\begin{document}
In our \textsc{json} we do this with \lstinline|"otter": 5|.
\end{document}
(물론 여기서의 basicstyle 설정은 단지 예시일 뿐입니다.)
여기와 \verb
구분 |
문자 모두 다른 문자일 수 있습니다. 일부 인기 있는 선택은 텍스트 내용에 따라 /
, +
및 입니다.!
같은 패키지의 큰 기능 중 하나 listings
는 코드 강조 표시를 수행하는 것입니다. 하지만 기본적으로 JSON 구문에 대해서는 알지 못합니다. (질문에 언급되지 않았더라도) 사용자 정의에 관심이 있다면 예를 들어 볼 수 있습니다.이것그리고이것질문.
여기서 더 중요한 점은 줄 바꿈을 허용하는 옵션이 있다는 것입니다. 그냥 추가하세요
breaklines=true,
설정 에 \lstset
.
"
위와 같이 일반 타자기 글꼴을 사용하는 경우 직선 문자에 대해 추가로 수행해야 할 작업은 없습니다 . 그러나 곧은 '
문자가 여전히 둥근 따옴표로 표시된다는 것을 알게 될 것입니다 ! 축어적인 텍스트로 이를 방지하는 패키지가 있습니다. 추가하다:
\usepackage{upquote}