
나는하고 싶다
echo "[this thing]"
이 일은
\documentclass{article}
\usepackage{rotating}
\usepackage{pdfpages}
\usepackage{verbatim}
\usepackage{amsmath, amsfonts, amssymb, textcomp, mathtools, xparse}
\usepackage[T4, OT1]{fontenc}
\usepackage{graphicx}
\graphicspath{{/Users/Masi/Dropbox/Physiology/images/}}
% Animations cannot be included here
% \addmediapath{ {/Users/Masi/Dropbox/Physiology/animations/} }
\usepackage{newunicodechar}
\usepackage{multirow}
\DeclarePairedDelimiter{\abs}{\lvert}{\rvert}
\DeclarePairedDelimiter{\norm}{\lVert}{\rVert}
\usepackage{color}
\usepackage{hyperref}
\usepackage{media9} % animations swf
\usepackage{Tabbing}
\usepackage{doi, natbib}
\hypersetup{
colorlinks=true,
linkcolor=blue,
citecolor=blue,
allcolors=blue
}
\usepackage[affil-it]{authblk}
\usepackage{import}
\usepackage{color}
\usepackage[normalem]{ulem}
\usepackage{titling} % Two titles in one document
\DeclarePairedDelimiter{\abs}{\lvert}{\rvert}
%%%%%%%%%%%%%%%%%%%%%%%%%%% Question and Answer %%%%%%%%%%%%%%%%%
\usepackage[framemethod=tikz]{mdframed}
\mdfdefinestyle{ans}{
linecolor=cyan,
backgroundcolor=yellow!20,
frametitlebackgroundcolor=green!40,
frametitlerule=true
}
\newcounter{question}[section]%
\setcounter{question}{0}
\newenvironment{question}[1]{%
\refstepcounter{question}%
\begin{mdframed}[style=ans,frametitle={Question: #1}]
}{%
\end{mdframed}%
}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%% Smaller things
\newtheorem{case}{Case logic}
\mdfdefinestyle{que}{
linecolor=cyan,
backgroundcolor=cyan!20,
}
\surroundwithmdframed[style=que]{case}
\newtheorem{sidenote}{Sidenote}
\mdfdefinestyle{que}{
linecolor=cyan,
backgroundcolor=cyan!20,
}
\surroundwithmdframed[style=que]{sidenote}
\newtheorem{citation}{Citation}
\mdfdefinestyle{que}{
linecolor=cyan,
backgroundcolor=yellow!20,
}
\surroundwithmdframed[style=que]{citation}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newtheorem{theorem}{Theorem}
\newtheorem{proposition}[theorem]{Proposition}
\newenvironment{definition}[1][Definition]{\begin{trivlist}
\item[\hskip \labelsep {\bfseries #1}] \emph}{\end{trivlist}}
\providecommand{\keywords}[1]{\textbf{Keywords:} #1}
%%%%%%%%%%%%%%%%%%%%%%%%% Counter Section %%%%%%%%%%%%%%%%%%%%%%
\makeatletter
\def\@part[#1]#2{%
\ifnum \c@secnumdepth >\m@ne
\refstepcounter{part}%
\fi
\addcontentsline{toc}{part}{#1}%
{\parindent \z@ \raggedright
\interlinepenalty \@M
\normalfont
\LARGE \bfseries #2%
\markboth{}{}\par}%
\nobreak
\vskip 3ex
\@afterheading}
\@addtoreset{section}{part}
\makeatother
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
이렇게 큰 콘텐츠를 Bash 파일에 어떻게 잘 반영할 수 있나요?
답변1
사용여기 문서:
cat <<'EOF'
Data...
EOF
참고: 물론 확장을 원하지 않는 한 EOF
데이터에 백슬래시와 같은 것이 포함되어 있는 경우 확장을 피하기 위해 위와 같이 heredoc 단어( )를 인용하는 것이 좋습니다 . $foo
예:
$ cat <<EOF
$SHLVL \\
EOF
다음과 같은 것을 제공합니다:
3 \
~하는 동안
$ cat <<'EOF'
$SHLVL \\
EOF
다음을 제공합니다:
$SHLVL \\
답변2
@vinc17 답변은 정확하지만 불완전합니다. HEREDOC 접근 방식은 훌륭하지만 순진하게 사용할 수는 없습니다. 보다https://stackoverflow.com/a/11379627/763269더 많은 것을 알아두세요.
HEREDOC 블록에서 생각하는 것처럼 삽입된 공백과 탭은 유지되지 않습니다. HEREDOC 마커(일반적으로 EOF
)는 쉘 확장을 방지하기 위해 작은따옴표로 묶어야 합니다. 다른 HEREDOC 블록을 포함하는 HEREDOC 블록(예: 스크립트를 생성하는 경우)에는 많은 문제가 있습니다. HEREDOC 블록의 내용을 base64로 인코딩하고 확장하면 이러한 모든 문제를 피할 수 있습니다.
답변3
내 라텍스가 별로 좋지 않은데, 본문에 변수를 설정해주나요? 그렇지 않으면 라텍스를 추가 템플릿 파일에 넣고 cat을 사용하여 인쇄합니다. 이렇게 하면 언젠가 템플릿을 교체하려는 경우 유지 관리가 더 쉬워집니다.