Mac版 PowerPointで新規作成画面に個人用テンプレートを作成する方法
PowerPointで新しいスライドを作成する際に、簡単にテンプレートを使い回す方法を偶然見つけたので紹介します。
これまでは新規作成時に毎回16:9から4:3に変更したり、スライドマスターを適用していましたが、流石に面倒ですよね。。。
- この記事ではPowerPoint 2016 for Macについて解説を行います。
個人用テンプレートの作り方
まずは適用するためのテンプレートファイルを作成します。
通常通りPowerpointを新規作成してスライドマスター
やスライドサイズ
など好きなレイアウトを適用します。
そして保存をするのですが、ここで下の写真のように、PowerPointテンプレートを選択し保存します。
テンプレートを新規作成画面に登録する
PowerPointを起動すると下の写真のような画面になると思います。
ここに先ほど登録したテンプレートを登録し、簡単にアクセスできるようにしたいと思います。
先ほど作成したテンプレートファイルを、Officeのユーザーコンテンツ
フォルダの中にあるテンプレート
フォルダに入れることで登録することができます。
このフォルダは以下の場所にあります。
/Users/<ユーザー名>/ライブラリ/Group Containers/UBF8T346G9.Office/ユーザー コンテンツ/テンプレート
そこにテンプレートファイルを移動してあげると、新規作成画面が下の画像のように変わります。
これで個人用
のタブをクリックすることで簡単に好みのテンプレートを使いまわせるようになりました!!
リスト内包表記を使って、空の要素にのみ値を入れる
Python3のリスト内包表記
取得したリストの要素が存在していたり、空だったりとそう言うデータがあるとします。
処理する際に要素が空だとエラーを吐いてしまうことがあったので、空の要素のみに何か値を入れる方法を考えました。
1行でシンプルに書きたかったので以下のようにしました。
arr = ['0' if i == '' else i for i in arr]
実際にやってみる。
arr = [1, '', 'テスト', 4, '', '23'] arr = ['0' if i == '' else i for i in arr] # [1, '0', 'テスト', 4, '0', '23']
終わり
RDP Wrapperでリモートデスクトップできないときの対処法 【Win10 Home】
※ 対応バージョンの注意
この解決方法は以下のWindows10のバージョンまでしか対応できません。
- Edition : Windows10 Home
- Version : 1809
- OS build : 17763.379(10.0.17763.379)
バージョンの確認方法は、キーボードのWindowsボタン(窓アイコン) + s
と打ちabout
と検索すると確認することができます。
あるいはWindows のバージョン確認方法のようにWindowsボタン(窓アイコン) + r
→ winver
で検索する方法もあります。
2019.4月現在、最新であるOS build : 17763.437
に対する対処法はまだないようです。残念ながら公式Githubを観察するしかなさそうです。
MacからWindowsをリモート操作する
Macや他のWindows機を使ってWindows機を操作する方法としてRemote Desktopがあります。
これはWindows10 Pro
などではデフォルトで使用できるのですが、Windows10 Home
では利用できません。
そこでRDP Wrapper Library v1.6.2
を用いてリモートデスクトップを実現します。
ここではRDP Wrapperが使えず、エラーが起きた際に私がとった対処法を書きたいと思います。
まずはインストールや設定など。
RDP Wrapperのインストール
インストールは公式GithubのReleasesの最新版をインストールします。
インストールの仕方などは以下のサイトが参考になります。
素直にそのままやればインストールはできるはずです。
そして全然解決できないエラー
数ヶ月前までは普通に使えていたのですが、突然接続した際にエラーが出るようになりました。
実際のエラー画面が以下のようになります。
対処法を模索する
そこでWindows10側にインストールしたRDP Wrapperの設定画面を確認してみます。
まずはダウンロードしたRDP Wrapperのフォルダを開きRDPConf.exe
ファイルを実行します。
すると管理者権限の承認画面のあとに以下のような画面が現れます。
この画像を見る通り、Listener state
の部分がNot listening [not supported]となっていました。
人によってはlistening [not supported]やNot listening [fully suppoted]となっているようです。
いずれにせよ、ほとんどの場合でListener state
の部分がlistening [fully suppoted]とならない限りは接続することはできないようです。
これについて公式Githubのissuesを確認して見ると解決方法について議論されていました。
ここでの会話から以下のことがわかりました。
- Windows updateにより、
termsrv.dll
がアップデートされた - それに伴い、
rdpwrap.ini
を更新しなければならない - RDP warpperのアップデートが来るまでは自分で
rdpwrap.ini
を変更する必要がある。
さて、解決方法は分かったのであとは修正するだけです。
対処法
対処法はシンプルで、rdpwrap.ini
を書き換えるだけです。
rdpwrap.ini
を確認する
rdpwrap.ini
を開くために、windows + r
→ C:¥Program Files¥RDP Wrapper
と入力してOK
します。
それか、Cドライブ直下のProgram FilesフォルダにあるRDP Wrapperを開きます。
するとrdpwrap.ini
とtermsrv.dll
ファイルがあることが確認できるはずです。
ここでrdpwrap.ini
を書き換えるので念のためコピーを保存して起きます。
テキストエディタを管理者権限で開く
お使いのテキストエディタを管理者権限で開いてください。
普通のメモ帳でも構いません。そしてrdpwrap.ini
を開きます。
中身を書き換える
変更箇所は2箇所あります。
まず始めに3058行目
あたりにジャンプするか、[SLInit]
と検索します。
すると、以下のように書かれていると思います。
[10.0.17763.1] LocalOnlyPatch.x86=1 . . // 中略 . SLInitFunc.x64=New_CSLQuery_Initialize [SLInit] . . .
この[SLInit]の前に以下の文を挿入します。
必ず前後にあるSLInitFunc.x64=New_CSLQuery_Initialize
と[SLInit]
から1行ずつ離してください。
[10.0.17763.292] ; Patch CEnforcementCore::GetInstanceOfTSLicense LocalOnlyPatch.x86=1 LocalOnlyOffset.x86=AFAD4 LocalOnlyCode.x86=jmpshort LocalOnlyPatch.x64=1 LocalOnlyOffset.x64=77A11 LocalOnlyCode.x64=jmpshort ; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled SingleUserPatch.x86=1 SingleUserOffset.x86=4D665 SingleUserCode.x86=nop SingleUserPatch.x64=1 SingleUserOffset.x64=1322C SingleUserCode.x64=Zero ; Patch CDefPolicy::Query DefPolicyPatch.x86=1 DefPolicyOffset.x86=4BE69 DefPolicyCode.x86=CDefPolicy_Query_eax_ecx DefPolicyPatch.x64=1 DefPolicyOffset.x64=17F45 DefPolicyCode.x64=CDefPolicy_Query_eax_rcx ; Hook CSLQuery::Initialize SLInitHook.x86=1 SLInitOffset.x86=5B18A SLInitFunc.x86=New_CSLQuery_Initialize SLInitHook.x64=1 SLInitOffset.x64=1ABFC SLInitFunc.x64=New_CSLQuery_Initialize
そしてこのファイルの末尾に以下の文を挿入します。
これも前のコードから1行必ず開けるようにしてください。
[10.0.17763.292-SLInit] bInitialized.x86 =CD798 bServerSku.x86 =CD79C lMaxUserSessions.x86 =CD7A0 bAppServerAllowed.x86 =CD7A8 bRemoteConnAllowed.x86=CD7AC bMultimonAllowed.x86 =CD7B0 ulMaxDebugSessions.x86=CD7B4 bFUSEnabled.x86 =CD7B8 bInitialized.x64 =ECAB0 bServerSku.x64 =ECAB4 lMaxUserSessions.x64 =ECAB8 bAppServerAllowed.x64 =ECAC0 bRemoteConnAllowed.x64=ECAC4 bMultimonAllowed.x64 =ECAC8 ulMaxDebugSessions.x64=ECACC bFUSEnabled.x64 =ECAD0
これでrdpwrap.ini
の変更は完了です。
再起動して再チャレンジ
PCを再起動して再びRDPConf.exe
ファイルを実行します。
すると......
Listener state
の部分がlistening [fully suppoted]となっているはずです。
これで再びMacからRemote desktopを実行すると見事に接続することができるようになりました。
めでたしめでたし。
Javascriptをローカル環境で実行可能にする【Mac】
単なるメモ
特に目新しいことがないので参考にした以下のサイトを参照するのが手っ取り早いでしょう。
断りがない限り、コマンドはコンソール上で入力するものになります。$
を除いた文字をコピペして使います。
環境構築の流れ
- インストール関連
- Homebrewのインストール
- nodebrewのインストール
- node.jsのインストール
本当はWebpackやbabelも一緒に使うと良いそうなのですが、その辺はまだよく分からなくて使えていません。 それではやっていきましょう。
インストール関連
Homebrewのインストール
Homebrewがインストールされているか確認
$ brew -v -bash: /user/local/bin/brew : No such file or directry
インストールされていなければこのように出ます。
インストールされていればバージョンが表示されるのでここはスキップしてOKです。
以下のコマンドをコピペして実行します。
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
途中でEnterの入力やユーザーパスワードの入力が求められるので入力します。
パスワードは入力しても何も表示されませんが、問題ないので入力してEnterを押します。
- インストール完了の確認
$ brew -v Homebrew 2.0.3
これでインストール完了
nodebrewのインストール
node.jsのバージョンを管理するためのツールになります。
$ brew install nodebrew ~~~中略~~~ ==> Summary 🍺 /usr/local/Cellar/nodebrew/1.0.0: 8 files, 38.4KB, built in 4 seconds
以上が出れば終わり。
インストールが終わったら以下のコマンドをうつ。
$ nodebrew -v ~~~中略~~~ # use a specific version number nodebrew use v8.9.4
と出ればおっけい。
nodebrew経由でnode.js
をインストール
以下の6つのコマンドを順番に実行
特にnodebrew setup
などは実行しないと使えないので注意。
$ echo 'export PATH=$HOME/.nodebrew/current/bin:$PATH' >> ~/.bash_profile $ source ~/.bash_profile $ nodebrew setup $ nodebrew install-binary stable $ nodebrew use stable $ node -v
これで正常にインストールされたはずです。 次に実際にデバッグ環境を作り、デバッグします。
デバッグ環境の初期化
まずはじめにVScodeを起動します。
適当にtestフォルダ
を作成します。
ターミナルを開きcd
でtestフォルダに移動します。
npmパッケージ管理ファイルpackage.json
を作成
npmパッケージ管理ファイルであるpackage.json
はnpmで管理しているファイルの依存関係を示したファイルになります。
jsファイルの実行に必要な外部ファイルをpackage.json
に入力することで、実行時にそのファイルを自動でインストールしてくれるようです。
詳しくはまだ理解できていませんが、取り敢えずはこんな認識でいいのでしょうか。
ターミナルでtestディレクトリに移動したら、テスト用のindex.jsファイルを作成します。
test$ touch index.js
これでindex.js
ができます。
次にpackage.json
を作成します。
test$ npm init -y
npm init
でnpm管理用のファイルであるpackage.json
を作成して-y
ではこのコマンドに対する問いに全てyes
と答えるという意味になります。
すると色々書かれたpackage.json
が生成されます。
{ "name": "test", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], "author": "", "license": "ISC" }
これでOK
VScodeでデバッグする
index.js
をVScodeで開きます。
写真のように、VScodeの左側あるフォルダを開くからtest
フォルダを開きます。
次に、index.jsを開き、簡単なコードを書きます。
実行するには左にある、アイコンの下から2番目をクリックします。
すると上部に再生ボタンと赤いバッチのついた設定マークがあるのでマークをクリックしてnode.js
を選択します。
あとは再生ボタンを押すことでデバッグが開始されます。
RIETAN-FPに関するメモ
解析全般
初期のパラメータは収束の安定性や正確性に直結するため非常に重要になってくる。
特に格子定数があっていないとプロファイルパラメータの精密化の段階で躓いてしまう原因になります。
自分で最小二乗プログラムを作成し、格子定数を精密化するか、格子定数決定用のプログラムをダウンロードして正確な格子定数の値を決定すべきです。
特に元素を置換したようなサンプルだと格子定数が変化する可能性が高いので要注意です。 格子定数であれば線形最小二乗で求められるので比較的容易にプログラムを作成できます。いつか余裕のある時にその辺の記事もかけるといいです。フィッティングが良好かグラフを拡大して確認することをお勧めする。
解析をする際にステップごとに回折パターンや残差の比較を行い解析の手ごたえを感じることは非常に重要であると考えています。
しかし、描画された回折パターンを自由に拡大・縮小することが困難だと精神衛生上よろしくありません。
従ってインタラクティブなグラフィックソフトを使用することが賢明です。NPAT = 1
で計算を行い、秀丸のPlot
を実行するとPDF化されたグラフが描画されますがあまり好ましくは思いません。
そんな時はNPAT=2
としたうえで、RIETVIEWで描画するといいでしょう。ただし秀丸支援環境下でこれを実行するにはPlot.mac
のgtool
を3に変更する必要があります。
線形制約条件に付いて
- 複数個のパラメータを同じ値に固定したいとき
例えばAl1, Al2, Al3, Al4の等方性原子変異パラメータを同じ値に固定したいときは、一つのIDを1
にして他は2
にする。
つまり、条件式にはID = 1
のパラメータを右辺に書いて他のID = 2
は左辺に書く。
# 構造パラメータ Al1 ........ 00001 Al2 ........ 00002 Al3 ........ 00002 Al4 ........ 00002 # 線形制約条件 A(Al2, B) = A(Al1, B); A(Al3, B) = A(Al1, B); A(Al4, B) = A(Al1, B)
ちなみに等方性原子変異パラメータについては以下の5節を参考にするといい。 Know-how and Techniques of Rietveld Analysis
自動解析するときの覚書
いくら自動化に頼ろうとも、逐次確認を怠らない方が身のためだと考えます。
私は10サンプルを20~30stepで軽く解析した際にいくつかR因子が大きくなってしまったことがあります。
これは途中で確認していれば回避できたようなミスで余計な手間を増やしてしまいました。
今のところRIETANを自動解析するような有力なソフトはないようですが、今後自動化が進もうとも完全に手放しにするのは賢明ではなさそうです。
余談ですが、天体撮影においてもいくら自動化が進もうとも、撮影機材から目を離してのんびり車のなかで寝ていたりすると思いっきりガイドがあれて碌な写真しか撮れていなかったりします。まあ、何が言いたいかというと、自分の仕事はちゃんと面倒をかけよう。。。
多相解析の時
事前に各サンプルでバックグラウンドと尺度因子、格子定数を合わせて精密化して、R因子が大きくないか確認する。
特に相分率が主相以外が極端に少ない場合は確認しないと局所解にまっしぐらになることがあるので注意。
R因子が大きい時は主相のU, V, Wを合わせてみる。順番はW⇒U, Vとする。
これで下がらない場合はAsymmetry parametersも合わせてみる。最初の1, 2つ合わせるだけで大幅に落ちることもある
また格子定数がずれているようであれば、まずはDICVOLなどを用いて格子定数を合わせる。
※あとでDICVOLを用いた格子定数の合わせ方のリンクを貼っておく
プロファイル, 格子定数を精密化しても合わない場合は格子定数の精密化を解除してシフト因子を精密化してみる。 シフト因子はその他のパラメータと相関が強いため扱いには注意が必要だが少しは下がるだろう。 ある程度フィッティングがあえば安定して解析が進むはず。
ファイルの指定した行から他のファイルにコピーする。【batファイル】
指定した行から最終行まで他のファイルにコピーするためのバッチファイルを作りました。
私はこれを使って実験データを整形し解析に用います。
やりたいこと。
内容としては以下の通りです。
コピーしたいファイル : a.txt
コピー先のファイル : b.txt
a.txt内のテキストをある行から最終行までコピーしてb.txtに出力します。
今回はううう
の3行目から最後まで出力してみます。
a.txtの中身
あああ いいい ううう えええ おおお かかか ききき
バッチファイルの中身
@echo off echo %1 type %1|more +2 >>%~p1%b.txt
実行結果b.txt
ううう えええ おおお かかか ききき
実行方法
- 適当なフォルダにバッチファイルを作成します。(どこでもいいはずです。)
- 作成したバッチファイルにコピーしたいファイル(a.txt)をドラック&ドロップします。
以上です。コピーしたいファイル(a.txt)があるフォルダの中にb.txtが生成されます。
わざわざコマンドを打たなくてもいい理由は、第一引数を受け取っているからです。
%1
は第一引数を表しており、ドラック&ドロップされたファイルのパスが入力されます。
そして出力ファイルは%~p1%b.txt
となっていますが、%~p1%
は第一引数で得たパスのフォルダを表しています。なので、コピーしたいファイルのフォルダの中にb.txtが生成されるわけです。
行の指定
行の指定にはtype %1|more +2 >>%~p1%b.txt
の+2
の部分を指定したい行数に変更します。
ここで注意するのが行数のカウントは0からスタートしますので、0から数えて何行目か
を指定してください。
案外簡単ですよね。
おまけ
テキストファイルの行数をカウントして出力したい場合は
type %1|find /c /v "" >>%~p1%b.txt
とするといいでしょう。(実験データの整形に利用したため。)
おわり。